位置编码外推性:为什么Transformer无法处理比训练时更长的序列

一个被忽视的基本问题 2017年,当Vaswani等人在论文《Attention is All You Need》中提出Transformer架构时,他们做出了一个看似合理的假设:模型应该能够外推到比训练时更长的序列。原论文中写道:“我们推测它可能外推到比训练时遇到的序列更长的序列。” ...

14 min · 6725 words

模型训练调试:从损失不下降到梯度爆炸的完整诊断指南

你花了三天时间设计了一个"完美"的神经网络架构,数据集准备好了,训练脚本也写好了。点击运行,满怀期待地盯着终端输出… ...

14 min · 6911 words

数据增强技术:为何简单的变换能显著提升模型泛化能力

在深度学习的实践中,有一个现象困扰着无数从业者:当训练数据有限时,模型往往能轻松记住训练集,却在新数据上表现糟糕。这种过拟合问题催生了各种解决方案——正则化、Dropout、早停,但最简单有效的方法之一常常被忽视:直接制造更多数据。数据增强(Data Augmentation)正是这样一种看似朴素却蕴含深刻原理的技术。它通过对现有样本施加变换来生成新的训练样本,在不采集额外数据的情况下扩充训练集。但为什么简单的旋转、翻转或同义词替换就能显著提升模型泛化能力?这个问题的答案涉及统计学、优化理论和几何学习的深层原理。 ...

19 min · 9085 words

神经网络是如何学习的:从前向传播到反向传播的完整训练过程解析

当你点击"训练"按钮时,神经网络内部发生了什么? 想象你正在训练一个图像分类模型。你准备了数据集,设置了超参数,点击了"开始训练"按钮。屏幕上开始显示loss值不断下降,准确率不断上升。但在这些数字背后,究竟发生了什么?模型是如何从"一无所知"变成"精准识别"的? ...

17 min · 8161 words

损失函数全景解析:从MSE到Focal Loss,如何为不同任务选择正确的优化目标

训练神经网络时,最令人沮丧的事情之一是:模型结构设计得非常精巧,数据预处理也很完善,但训练结果却始终无法收敛,或者收敛到了一个糟糕的局部最优解。许多开发者在排错时首先怀疑的是模型架构、超参数或者数据质量,却往往忽略了深度学习中最基础也最重要的组件——损失函数。 ...

17 min · 8078 words

Temperature=0为什么不等于确定性输出:大模型推理非确定性的完整技术解析

一个被广泛接受的观点是:只要将大模型的Temperature参数设为0,就能获得确定性的输出。这个直觉看起来很合理——Temperature=0意味着贪婪采样,模型总是选择概率最高的那个token,没有随机性,结果应该可复现。 ...

22 min · 10883 words

为什么大模型每次回答都不一样:从温度参数到批次不变性的完整技术解析

当你向ChatGPT连续两次提出相同的问题,大概率会得到两个不同的回答。很多人知道这是温度参数在作怪,但把温度调到0就能保证确定性吗?答案是否定的。即使temperature=0,OpenAI的API仍然可能返回不同的结果,而你自己部署的开源模型在vLLM或SGLang上推理时,输出同样不稳定。 ...

18 min · 8901 words