数据整理器(Data Collators)总结 (95)
数据整理器(Data Collators)总结
- 你可以在SFTTrainer类中指定
data_collator
参数(详见第5课)。 - DataCollatorForLanguageModeling是SFTTrainer类的默认整理器,其特性如下:
◦ 会自动将标记ID(token IDs)复制为标签(labels)。
◦ 不会对标签进行偏移(label shifting),因为这一操作会由模型自动处理。
◦ 会将完整文本(包含提示语/prompt和补全内容/completion)均作为标签,非常适合用于指令微调(instruction tuning)。 - 若你要对指令模型或对话模型进行进一步微调,可使用DataCollatorForCompletionOnlyLM,仅基于模型的回答(即补全内容/completion)进行训练,其特性如下:
◦ 同样会将标记ID复制为标签,但会通过将提示语标记(prompt tokens)的ID替换为-100来对其进行掩码(mask)处理(即标记为无需计算损失的无效标签)。
◦ 在单次交互(1个提示语+1个补全内容)场景下,仅需通过响应模板(response template)即可定位到补全内容。
◦ 在多次交互(一系列提示语与补全内容组成的对话序列)场景下,需同时借助指令模板(instruction template)和响应模板,才能准确识别提示语标记并对其进行掩码处理。
关键术语说明(适配技术语境)
- Data Collato