问题域/PD-423

任务抽象与数据混合

Task Abstraction & Data Mixing

统一的评估任务抽象层,支持数据混合、课程学习和 RL reward

子问题

1.generative vs categorical 评估统一

2.确定性混洗保证可复现

3.课程学习(TaskSequence)

4.RL reward 函数设计

5.tokenizer 编码差异对多选题格式的影响

6.合成数据的多语言模板增强

7.工具调用标记解析与结构化 part 表示

各项目的解法1 solutions

Signals

横向对比

维度nanochat
抽象层级单层 Task 基类 + 2 个组合器(Mixture/Sequence),无中间抽象
数据混合策略index_map 全展开 + Random(42) 确定性混洗,内存换确定性
评估分流eval_type property 二分法:generative 采样 vs categorical logits argmax
过采样机制同一 Task 对象重复传入列表,零额外代码
切片能力start/stop/step 逻辑视图,零拷贝
RL 支持reward() 方法默认复用 evaluate(),0-1 二值奖励
多语言增强SpellingBee 48 模板覆盖 7 种语言的用户消息变体

最佳实践

1.重复传入同一 Task 实现过采样

2.多选题 letter 放在 choice 后面且无空格,避免 tokenizer 歧义

3.用 Random(seed=index) 为每个样本生成确定性合成数据

4.reward() 默认复用 evaluate() 减少重复代码