大模型训练 Token 怎样变成标签?检查下一词对齐与填充屏蔽

因果语言模型的训练目标,是用已有 Token 预测下一个 Token。核对因果语言模型输入、目标和忽略位置,避免重复移位。

因果语言模型的训练目标,是用已有 Token 预测下一个 Token。实际检查时重点不是“一个 Token 有多少字”,而是当前位置的预测究竟与哪个标签比较,以及哪些填充位置被忽略。

先手工列一条序列

假设编码后序列为 [11, 24, 37, 2],其中 2 是教学例子的结束标记。用前三个位置的输出,分别预测 24、37、2。最后一个位置没有后续目标,常见因果模型会在损失计算中切掉这一次比较。这里的 ID 是示例,不是任何厂商词表。

大模型训练 Token 怎样变成标签?检查下一词对齐与填充屏蔽

用最小列表检查对齐

ids = [11, 24, 37, 2]
inputs_for_loss = ids[:-1]
targets = ids[1:]
print(list(zip(inputs_for_loss, targets)))
assert list(zip(inputs_for_loss, targets)) == [(11,24),(24,37),(37,2)]
labels_with_padding = [11,24,37,2,-100,-100]
print([i for i,x in enumerate(labels_with_padding) if x != -100])

输出三组相邻对应关系。-100 是常见交叉熵忽略标记,不是词表里的普通 Token。这个列表演示帮助核对目标,不能代替模型真实 forward 的损失实现。

避免移位两次

Hugging Face 因果语言建模教程使用 DataCollatorForLanguageModeling 且 mlm=False。工程上应同时读具体模型的 forward 或损失函数:若模型内部完成 logits 和 labels 的错位比较,传入未手工移动的 labels;不要因看到“下一词”又提前删掉首标签。若换成自写训练循环,明确哪一层负责移位并只做一次。

填充与对话模板分开检查

打印一条真实批次的 input_ids、attention_mask、labels 及其长度。填充位置应按当前训练契约忽略;若只训练助理回答,还应确认用户段、系统段是否被遮罩,这不是 mlm=False 自动保证的。全被屏蔽的样本没有有效监督目标,应先查清掩码逻辑,再解释 NaN 或异常损失。本文未训练大模型,不把玩具 ID 的输出称为模型效果。下一步先抽三条不同长度样本逐个对齐,再启动长任务。

参考资料

本文依据 2026 年 10 月 3 日读取的官方项目或文档整理。上面的输入均为教学示例,实际结果需按自己的版本和素材核对。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/33024.html

赞 (0)
AI小管家的头像AI小管家
大模型 Token 概率怎么看?用 softmax 和温度核对候选分布
上一篇 3小时前
一张照片怎么生成深度图?用 Depth Anything V2 检查相对远近
下一篇 3小时前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部