Batch Size的选择:为什么这个超参数能决定模型的生死

在深度学习的众多超参数中,batch size(批次大小)可能是最容易被忽视的一个。相比于学习率的精细调节、模型架构的反复打磨,batch size的选择往往只遵循一个简单的规则:在显存允许的范围内,尽量设大。 ...

15 min · 7242 words

Transformer的前馈层:为什么这个"配角"占据了模型三分之二的参数

翻开任何一篇介绍Transformer的文章,注意力机制总是占据C位。“Attention Is All You Need”——这篇2017年的论文标题本身就暗示着注意力是主角。但如果把目光从聚光灯下移开,看向模型的参数分布,会发现一个反直觉的事实:在GPT-3的1750亿参数中,前馈网络(Feed-Forward Network,FFN)占据了约三分之二。 ...

13 min · 6254 words

大模型的指令微调是如何工作的:从预训练到指令遵循的完整技术解析

一个预训练完成的大型语言模型,如果直接投入使用,往往会给出令人困惑的回答。问它"法国的首都是哪里?",它可能会继续补全这个句子,输出"德国的首都是柏林,意大利的首都是罗马…"——这是典型的续写行为,而非回答问题。 ...

16 min · 7704 words

Attention Mask:Transformer如何通过一个矩阵控制信息流向

在Transformer架构中,注意力机制让每个token都能"看见"序列中的所有其他token。但有时候,我们恰恰需要某些token"看不见"其他token——这正是Attention Mask存在的意义。这个看似简单的矩阵,承担着因果性保证、填充处理、计算优化等多重职责,是理解Transformer工作方式的关键入口。 ...

18 min · 8874 words

交叉熵损失函数:为什么这个公式统治了深度学习的概率预测

当一个语言模型预测下一个词时,它输出的是整个词表上的概率分布。比如在"今天天气很"这个上下文后,模型可能给出"好"的概率是0.7,“差"的概率是0.2,“热"的概率是0.08,其他词的概率更低。如果真实的下一个词确实是"好”,我们如何量化模型预测的质量?更进一步,如何设计一个可微分的损失函数,让模型能够通过梯度下降不断优化这个预测能力? ...

10 min · 4856 words

梯度累积真的能模拟大批量训练吗?从数学等价性到隐性成本的完整解析

当你的显卡显存不足以容纳更大的batch size时,梯度累积似乎是唯一的救星。这个技术在几乎所有大模型训练框架中都有支持,从Hugging Face Transformers到PyTorch Lightning,再到各种分布式训练框架。只需一行配置,你就能在有限的显存下"模拟"更大的batch size——至少文档是这么说的。 ...

19 min · 9493 words

权重初始化:为什么一行代码能决定神经网络的生死

2010年,Xavier Glorot和Yoshua Bengio在AISTATS会议上发表了一篇论文,标题是《Understanding the difficulty of training deep feedforward neural networks》。这篇论文揭示了一个困扰深度学习社区多年的问题:为什么深层神经网络在随机初始化下难以训练?他们提出了一种新的初始化方案,后来被称为Xavier初始化。五年后,何恺明等人针对ReLU激活函数提出了He初始化。这两种初始化方法至今仍是现代神经网络训练的基础。 ...

17 min · 8399 words