LLM Internals 交叉熵损失函数详解:GPT 训练背后的核心数学,为什么取负对数?

📅 发布时间:2026/10/11 11:30:55
LLM Internals 交叉熵损失函数详解:GPT 训练背后的核心数学,为什么取负对数?
【免费下载链接】llm-internalsLearn LLM internals step by step - from tokenization to attention to inference optimization.项目地址https://gitcode.com/gh_mirrors/ll/llm-internals点击查看免费下载交叉熵损失函数Cross-Entropy Loss是训练 GPT、BERT 等大语言模型时最常用的损失函数。LLM Internals 是一个从分词到注意力再到推理优化逐步拆解大模型原理的开源项目本文带你用通俗的方式看懂它的核心数学为什么取负对数语言模型是怎么靠它学会说话的一、先搞清楚交叉熵损失函数到底在解决什么问题训练模型时模型会先猜一个概率分布。比如看到一句话今天天气真____模型可能输出候选词模型预测概率真实答案好0.7✅ 是它棒0.2否差0.1否我们需要一个分数来衡量这个猜测离真实答案有多远——交叉熵损失函数就是干这个的。损失越小说明模型猜得越准训练的目标就是不断把这个损失往下降。交叉熵损失公式逐符号拆解对于单样本、单类别的情况公式可以简化为损失 -log(模型给正确答案分配的概率)只有正确答案参与计算所以正确答案概率 0.9 → 损失 -log(0.9) ≈0.105很小模型答得好正确答案概率 0.1 → 损失 -log(0.1) 2.303很大模型答得很差二、为什么取负对数这是全文最关键的 3 个问题1️⃣ 为什么直接1 减概率不行如果用1 - p衡量错误程度模型从瞎蒙p 0.01进步到还行p 0.5损失降了很多但从 0.9 到 0.99 只降了 0.09——后期怎么努力都感觉不到进步梯度也趋于消失训练就慢下来了。2️⃣ 为什么对数能放大错误对数函数的特性恰好相反p 越接近 0-log(p) 增长越猛。正确答案概率 p-log(p) 损失直觉0.990.010几乎无惩罚0.900.105轻微惩罚0.500.693明显惩罚0.102.303重罚0.014.605严厉惩罚→ 0→ ∞无限大逼着模型改正也就是说模型错得离谱时损失会爆炸式增大倒逼它优先修正最离谱的错误已经答对的样本几乎不产生干扰。这就是难例驱动的训练效果。3️⃣ 为什么前面还要加个负号log 的值域是负数log(0.5) -0.693而我们习惯损失是越大越坏。加上负号后损失恒为正或为 0模型答对概率 1 → 损失 0完美状态一句话总结取负对数 放大严重错误 惩罚恒为正 概率 1 时损失为 0三者兼得。三、多类别怎么算分类与语言模型的统一视角当有多个类别或词表有上万个词时完整公式是损失 -Σ (真实分布 t_i × log(预测分布 p_i))分类任务中真实分布是 one-hot正确类为 1其余为 0求和后其他项全为 0就退化回了第二节的单样本公式。语言模型GPT 这类正是这么用的把整个词表当作类别真实分布永远是下一个真实 token 概率为 1于是损失就是损失 -log(模型给真正下一个词分配的概率)训练 GPT 的本质在万亿条文本上反复执行预测下一个词 → 用交叉熵衡量错得多狠 → 反向传播调整参数。模型 perplexity困惑度等于平均损失的指数越低说明它读懂的语言越多。四、训练怎么落地梯度为什么简单得优雅交叉熵损失与 Softmax 输出组合时梯度有极简形式梯度 预测概率 - 真实分布不需要复杂的链式法则推导模型把 0.7 的概率分给了错误词梯度就告诉它往回收 0.7。这也是 LLM Internals 中反向传播数学一节README.md讲的内容——反向传播提供引擎交叉熵提供方向盘。在 assets/banner.png 对应的架构图中可以看到位置输入 embedding → 多层注意力与前馈网络 →Linear 层输出 logits → Softmax 转成概率 → 与真实 token 计算交叉熵这就是训练信号产生的完整链路。五、延伸LLM Internals 中如何继续学习项目 README.md 的Math Behind Cross-Entropy Loss章节覆盖了完整的进阶路径交叉熵的定义与信息论背景二分类交叉熵 vs 多分类交叉熵逐步数值算例语言模型中的交叉熵与梯度推导配套章节还能形成闭环反向传播数学README.md注意力中的 Softmax 与缩放README.mdTransformer 架构全景README.md克隆仓库开始学习git clone https://gitcode.com/gh_mirrors/ll/llm-internals项目基于 LICENSEApache License 2.0开源可自由学习。六、快速总结 问题答案交叉熵损失衡量什么预测概率分布与真实分布的差距为什么取 log放大严重错误防止后期进步梯度消失为什么加负号保证损失为正答对p1时损失为 0GPT 训练如何用它预测下一个 token 的概率损失 -log(该 token 概率)梯度形式预测概率 − 真实分布简单高效理解交叉熵损失函数就理解了 GPT 训练 90% 的损失侧数学——剩下的 10%在 LLM Internals 里继续拆。赞分享【免费下载链接】llm-internalsLearn LLM internals step by step - from tokenization to attention to inference optimization.项目地址https://gitcode.com/gh_mirrors/ll/llm-internals点击查看免费下载相关推荐U-Net损失函数详解为什么选择二元交叉熵U Net损失函数详解为什么选择二元交叉熵 在图像分割领域U Net凭借其独特的编码器 解码器架构和跳跃连接机制成为了医学影像分析、生物细胞分割等任务的标示例工程深度学习计算机视觉人工智能D2L.ai损失函数大全交叉熵、Focal Loss与对比损失D2L.ai损失函数大全交叉熵、Focal Loss与对比损失 深度学习中的损失函数是模型训练的核心它衡量了模型预测与实际标签之间的差异。在D2L.ai这个文档教程人工智能深度学习NLP计算机视觉强化学习BigInt与数据转换掌握Swift大整数的序列化、字符串互转及NSData操作终极指南BigInt与数据转换掌握Swift大整数的序列化、字符串互转及NSData操作终极指南 在Swift开发中处理超大整数时BigInt库提供了完整的任意精度创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考