ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

236、【AI】【模型部署】基座模型研究:硬标签与软标签

236、【AI】【模型部署】基座模型研究:硬标签与软标签 【声明】本博客所有内容均为个人业余时间创作所述技术案例均来自公开开源项目如GithubApache基金会不涉及任何企业机密或未公开技术如有侵权请联系删除标题236、【AI】【模型部署】基座模型研究硬标签与软标签背景上篇 blog【AI】【模型部署】基座模型研究交叉熵把损失讲透了预训练用交叉熵衡量模型给正确 token 的概率——给得越高、损失越小真实标签是 one-hot所以交叉熵退化成负对数似然均匀乱猜的基线是ln ⁡ V \ln VlnV。但上篇默认了一件事真实标签就是 one-hot硬标签。一个自然的疑问随之而来——实际场景真的只用硬标签吗这不是逼模型非黑即白、导致过拟合吗一个提示明明可以有多种合理回复为什么不给其他 token 一点机会本篇就讲清楚硬标签、软标签、以及推理端到底在做什么。先厘清P PP硬Q QQ软这是最容易混的一点必须分开看训练目标P PP标签默认是硬标签hard label即 one-hot——“正确的 token 只有一个”模型输出Q QQsoftmax 结果一直是软的给每个 token 都留下正概率。图 1 把三者摆在一起P PP可以是硬标签那根到顶的柱也可以是软标签散布的柱但Q QQ无论如何都是软的——softmax 不会输出严格 0/1。结论先行模型输出从来不是 one-hot。硬标签只作用在标签侧说的是这一条样本谁该得分不是输出必须长成 one-hot。软性其实来自数据那Q QQ为什么是软的因为语言本身就有多种合理续写。给定提示今天天气下一个 token 本来就不唯一图 2 是一个多峰分布“好”概率最高但“真”“不”等也都有可观的概率——这不是模型没学好而是数据里这些续写都真实出现过。数学上用硬标签最小化期望交叉熵最优解是真实条件分布Q ∗ P ( next ∣ context ) Q^*P(\text{next}\mid\text{context})Q∗P(next∣context)它本来就是软的。所以硬标签 ≠ 逼模型输出 one-hot。软性从大量样本平均里学出来不是从单条样本的目标来。反过来看若只用硬标签、又想表达好/真/不 都可能靠单条样本是做不到的但把成千上万条样本平均起来Q QQ自然就学出了这个多峰形状。过拟合先分清过拟合和过自信那硬标签会不会过拟合要区分两个概念概念起因和硬标签的关系过拟合模型容量 vs 数据量不是硬标签直接造成过度自信overconfidence把正确类概率往 1 逼硬标签更直接带来硬标签把正确 token 的概率往1 11推容易让模型过度自信——概率校准calibration变差小数据 噪声标签时尤其明显。海量数据的 LLM 预训练用硬标签也能 work是因为规模把过拟合这条压住了。真正要担心的是过自信而它正好有解药——软标签。软标签之一标签平滑标签平滑label smoothing最直接把硬标签e i e_iei​和均匀分布u \mathbf{u}u按比例混合P smooth ( 1 − ϵ ) e i ϵ u P_{\text{smooth}} (1-\epsilon)\,e_i \epsilon\,\mathbf{u}Psmooth​(1−ϵ)ei​ϵuϵ \epsilonϵ取0.1 0.10.1左右时每个 token 都分到ϵ / V \epsilon/Vϵ/V的目标概率——字面意义上给其他 token 一点机会。图 3 是它的效果原本到顶的 one-hot 被压低一点、其余被抬高一点。代价是不再逼到极端换来过自信的缓解和更好的校准。从梯度看更直接损失对 logits 的梯度是p − y p-yp−y。硬标签下y yy是 one-hot梯度会把正确类一路往1 11推换成平滑后的软y yy梯度变成推向一个不那么极端的分布模型自然不会过度自信。软标签之二知识蒸馏更有信息量的软标签来自知识蒸馏knowledge distillation。这里有两个模型老师模型teacher一个已经训练好的、更大更强的模型学生模型student要训练的那个更小的模型。学生不学硬标签而是去学老师输出的软分布图 4 里老师对一张猫的图给出[ 0.7 , 0.2 , 0.06 , 0.04 ] [0.7,0.2,0.06,0.04][0.7,0.2,0.06,0.04]等于告诉学生猫最像狗、其次像狐狸。这种类间相似度是硬标签给不出来的硬标签只说了是猫——信息更丰富学生往往更小却更强。老师软分布里那些非最高的概率携带的正是所谓的暗知识dark knowledge它编码了类别之间的相似结构这也是蒸馏比直接学硬标签更有效的原因。老师不是人就是那个用来带学生的更强模型。推理端给其他 token 机会的真正旋钮注意训练用硬标签也好、软标签也好推理时用的都是模型输出的软分布Q QQ。真正决定给其他 token 多少机会的是解码策略温度采样temperature把 logits 除以温度T TT再 softmaxQ i e z i / T ∑ j e z j / T Q_i \frac{e^{z_i/T}}{\sum_j e^{z_j/T}}Qi​∑j​ezj​/Tezi​/T​T 1 T1T1分布更尖 → 更确定、更接近贪心T 1 T1T1分布更平 → 更随机、更多样。图 5 用同一组 logits 演示T TT越小、分布越尖越大、分布越平。top-k / top-p核采样只在概率最高的若干候选里抽。top-p 的做法是——按概率排序取累积概率首次达到p pp如0.9 0.90.9的那一小撮候选图 6 里累积到第 4 个候选A/B/C/D才越过0.9 0.90.9于是只从这四个里抽把长尾的低概率 token 直接砍掉。实际配方什么时候用硬、什么时候用软场景目标说明LLM 预训练硬标签数据海量朴素交叉熵就够部分会加轻微 label smoothing蒸馏 / 小模型软标签学老师软输出小模型也能有强能力小数据 / 噪声标签软标签 / 平滑抑制过自信、改善校准推理生成软输出 温度/top-p用解码策略控制多随机、给谁机会一句话硬标签是默认软标签是正则与蒸馏的手段采样是推理端的旋钮——三者作用在不同环节。既然有软标签为什么预训练默认还用硬标签因为数据规模海量语料里每个位置的真实下一个 token确实只有一个硬标签就是无偏的最大似然目标而软标签平滑、蒸馏是额外的正则或信息注入需要额外来源超参ϵ \epsilonϵ、或一个老师模型。数据足够大时硬标签 反向传播就足以学出软的条件分布所以默认用它最省事。三个常见误区“硬标签 输出 one-hot”❌️。输出是 softmax 的软分布硬标签只是目标“用软标签才能多样生成”❌️。多样性来自推理端采样温度 / top-p不是训练目标“softmax 会给别的 token 概率 0”❌️。只要 logits 有限softmax 永远给正概率可能极小。理清这三条硬标签、软标签、采样就各归其位了。小结硬标签是默认真实下一个 token 只有一个所以目标P PP是 one-hot但输出Q QQ一直是软的softmax而且软性来自数据同一个上下文本就有多种合理续写硬标签并不逼模型输出 one-hot硬标签更直接的副作用是过度自信不是过拟合可用标签平滑one-hot 与均匀分布的凸组合或知识蒸馏学老师的软输出来缓解推理端才是给其他 token 机会的地方用温度 / top-k / top-p从软分布里采样。所谓老师就是蒸馏里那个更强、用来带学生的模型。OK本篇先到这里如有疑问欢迎评论区留言讨论祝各位功力大涨技术更上一层楼更多内容见下篇 blog【AI】【模型部署】基座模型研究反向传播
返回列表