真实面经题目 · 原创解析
大模型使用的损失函数是什么?
大模型预训练最常见的损失函数是 next-token prediction 的交叉熵损失;对齐阶段还会出现 SFT 交叉熵、奖励模型损失、RLHF 或 DPO 这类偏好优化目标。
出现于:蚂蚁集团 · 算法
真实面经题目 · 原创解析
大模型预训练最常见的损失函数是 next-token prediction 的交叉熵损失;对齐阶段还会出现 SFT 交叉熵、奖励模型损失、RLHF 或 DPO 这类偏好优化目标。
如果问基础大语言模型训练,通常回答交叉熵损失。模型在每个位置预测下一个 token 的词表概率,真实 token 作为 one-hot 或标签,交叉熵会惩罚真实 token 概率低的情况。SFT 本质上也常用监督交叉熵,只是训练数据变成指令和答案。偏好对齐阶段不止交叉熵,奖励模型会学习好坏答案的偏好,DPO 会直接优化被偏好答案相对未被偏好答案的概率差。
自回归大模型的核心目标是根据前文预测下一个 token。模型输出词表分布,训练标签是真实下一个 token,交叉熵让真实 token 的概率尽量变高。
交叉熵可以理解为真实分布和模型预测分布之间的差异。预测越确信正确 token,损失越低;把概率分给错误 token 越多,损失越高。
监督微调通常仍然使用 token 级交叉熵,只是样本从通用语料变成指令、问题、答案或多轮对话。它让模型学会按期望格式回答。
RLHF 会训练奖励模型,再优化策略让回答获得更高奖励;DPO 等方法直接使用偏好对,让模型提高 chosen 回答相对 rejected 回答的概率。
面试里不要只说一个函数名。更稳的是按预训练、SFT、奖励模型和偏好优化区分,因为不同阶段数据形式和优化目标不同。
语言模型输出的是词表概率分布,交叉熵正好衡量真实 token 在预测分布中的负对数概率。
形式上常都是交叉熵,但数据分布和 mask 方式不同,SFT 更关注指令响应部分的监督学习。
DPO 利用偏好对,提高被偏好回答相对未被偏好回答的概率,同时用参考模型约束偏移幅度。