大模型的Padding陷阱:为什么Decoder推理必须左填充,而BERT却用右填充?

在处理变长序列时,padding是一个看似简单却暗藏玄机的预处理步骤。许多开发者在从BERT迁移到GPT风格模型时,都会遇到一个令人困惑的问题:同样的数据预处理流程,为什么在BERT上工作正常,在LLaMA上却产生荒谬的输出?答案藏在decoder-only架构的生成机制中。 ...

18 min · 8669 words

Teacher Forcing:为什么这个"作弊"技术统治了序列模型训练三十年

训练一个能够生成文本的模型,听起来是一个简单的任务:给它看很多文本,让它学会预测下一个词。但真正动手实现时,一个根本性的问题会摆在面前——训练时模型应该看到什么? ...

21 min · 10413 words

大模型的归一化层:从BatchNorm到RMSNorm的十年技术演进

2015年,Sergey Ioffe和Christian Szegedy在ICML上发表了一篇论文,提出了Batch Normalization。这篇论文后来成为深度学习领域被引用最多的工作之一。但很少有人注意到,这项最初为计算机视觉设计的技术,在自然语言处理领域却"水土不服"——Transformer选择了完全不同的Layer Normalization。 ...

16 min · 7939 words

KV Cache:为什么这个"缓存"决定了大模型推理的速度和成本

你有没有想过,为什么大模型生成第一个字需要几秒钟,但后续的字却快得多?为什么同样的模型,处理1000字的上下文比处理100字消耗更多显存?为什么有些70B参数的模型反而比7B模型的KV缓存更小? ...

17 min · 8496 words

梯度消失与梯度爆炸:为什么深层神经网络曾经只能堆叠五层?

1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams发表了那篇改变整个机器学习领域的论文——《Learning representations by back-propagating errors》。反向传播算法让多层神经网络的训练成为可能,研究者们兴奋地开始堆叠越来越多的层,期待更深的网络能学习更复杂的特征。 ...

14 min · 6755 words

标签平滑的默认值为何是0.1:从训练稳定性到收敛理论的数学解析

训练一个图像分类模型,测试集准确率达到95%。随机抽取一个样本,模型输出预测概率:[0.999, 0.001, 0.000, …]。看起来模型对这个预测非常自信——99.9%的置信度。但这个置信度真的可靠吗? ...

16 min · 7926 words

为什么GPT和LLaMA都选择Pre-LN?Transformer层归一化位置的十年抉择

2017年,Google在论文《Attention Is All You Need》中提出了Transformer架构。在这篇开创性论文中,设计者在每个子层之后放置了层归一化(Layer Normalization),这种设计被称为Post-LN。然而,当研究者们尝试将Transformer堆叠得更深时,发现这种设计会带来严重的训练不稳定问题。 ...

18 min · 8667 words