展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 保存消息角色与原始文本
- 检查assistant标签参考
- 确认聊天模板支持助手mask
- 创建SFTConfig与真实数据集
- 检查实际collator的input_ids与labels
- 运行小步训练并核对监督范围
- 交付数据、模板和掩码审计
1. 保存消息角色与原始文本
system、user和assistant分开保存,训练目标只有助手回答。作者token编号仅用于检查掩码逻辑,不是实际tokenizer输出。
2. 检查assistant标签参考
audit.py将system/user的四个token设为-100,助手三个保留ID;negative把所有token当标签,应被指出。
本题独立目录执行
python reference/audit.py3. 确认聊天模板支持助手mask
包内实际运行Hugging Face FastTokenizer与作者小词表/带generation边界的模板,保存assistant_masks及tokenizer文件。该实测不等于目标预训练tokenizer;换成真实模型后仍必须重新检查掩码。
本题SDK或目标环境入口
python reference/run_sdk.py4. 创建SFTConfig与真实数据集
使用assistant_only_loss=True,并确认数据是conversational格式和目标版本支持。保存tokenizer、模板和预处理结果。
5. 检查实际collator的input_ids与labels
在训练前打印脱敏的小批次,逐token映射角色并断言user/system为-100。截断可能切掉全部assistant,要单独拒绝。
6. 运行小步训练并核对监督范围
只有目标环境执行后才记录loss与梯度;mask全-100或全监督都应停止修复,不能靠loss下降验收。
7. 交付数据、模板和掩码审计
包内包含真实可读训练数据与作者mask检查,无训练权重或真实TRL训练;正式验收必须附实际tokenizer/collator结果。
怎样确认已经完成
- 用户和系统token标签为-100
- 模板必须支持助手掩码
- 不能只打印配置
- 已实跑Hugging Face FastTokenizer的作者小词表/Jinja generation模板,回读真实assistant_masks与labels;非预训练模型tokenizer,未运行TRL collator或训练。
常见问题
TRL怎么只训练assistant回答而忽略用户问题?
模板需有可识别的assistant generation边界,再配置assistant_only_loss。真实HF作者模板mask已运行,不等于目标预训练模板或TRL collator。
assistant_only_loss生效了吗,逐token掩码怎么看?
回读input_ids、assistant_masks和labels,确认system/user为-100、助手答案保留且非全空。包内还将角色header排除,目标模型仍需重新实测。
这篇教程哪些步骤已经真正执行?
已实跑Hugging Face FastTokenizer的作者小词表/Jinja generation模板,回读真实assistant_masks与labels;非预训练模型tokenizer,未运行TRL collator或训练。



