1. 大模型学习资料#
- LLM学习1:大模型架构要点总结 回忆基础知识
- github:llm-viz/网页:bbycroft大模型结构可视化
2. 论文和开源库#
2.1. DeepSeek#
- [2024.12] DeepSeek-V3 Technical Report/github:DeepSeek-V3 MLA、MOE、MTP、GRPO等
- [2024.05] DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model
- [2024.01] DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models
- [2024.01] DeepSeek LLM: Scaling Open-Source Language Models with Longtermism
2.2. Google#
- [2025.03] Gemma 3 Technical Report 多模态理解、蒸馏和量化
2.3. Openai#
- [2024.03] GPT-4 Technical Report
2.4. 智谱AI#
3. 大模型预训练核心模块#
3.1. 数据预处理#
- 数据清洗
- kenlm 速度快,占用内存小,支持多线程。用优质语料训练模型,然后用来过滤低质量语料。
- 自然语言处理之数据平滑方法 第一种类型为政府给大家每人一笔或者几笔钱(如1和2),第二种为找父母要(如3和4),最后一种就是劫富济贫(如5-7)。比喻很好,最后kn平滑的公式图不对。
- Kenlm中使用的Modified Kneser-Ney 平滑方法和计算过程推演 把kn的公式推演了一遍,跟上面文章的结合看会比较好理解。
- github:kenlm kenlm的c++实现,官方库
- github:kneser-ney kn的python实现
- Scalable Modified Kneser-Ney Language Model Estimation 比srilm用7.7%的ram和14%的时间。介绍了kn的优化。
- KenLM: Faster and Smaller Language Model Queries 介绍了kenlm的优化。trie数存储n-gram概率降序排列,bit-level压缩存储概率和backoff,变长编码存储n-gram索引。与计算边界条件概率、用sse指令并行计算、延迟backoff计算。mmio实现零拷贝加载。
- kenlm 速度快,占用内存小,支持多线程。用优质语料训练模型,然后用来过滤低质量语料。
- 数据去重
- 文本标准化(大小写、标点等)
- 数据增强
3.2. Tokenization#
介绍和代码库:
- 大模型基础组件 - Tokenizer 详细介绍了bpe、bbpe、wordpiece、sentencepiece
- huggingface/tokenizers
算法:
- byte-pair-encoding (BPE)
- [2016] Neural Machine Translation of Rare Words with Subword Units bpe用subword来处理oov问题。把词打散成char,词尾需要添加特殊字符<\w>。 通过合并最频繁出现的相邻子词对来迭代地构建更大的子词单元。
- github:subword-nmt
- WordPiece
- [2016.10] Google’s Neural Machine Translation System: Bridging the Gap between Human and Machine Translation 基于lstm的8层encoder-decoder模型处理翻译任务,用到了残差。提出了wordpiece, 在词首添加_词首符号。通过概率最大化选择子词对。
- BBPE
- SentencePiece
- github:google/sentencepiece NFKC-based normalization,
- [2018.08] SentencePiece: A simple and language independent subword tokenizer and detokenizer for Neural Text Processing
- [2018.04] Subword Regularization: Improving Neural Network Translation Models with Multiple Subword Candidates 每次训练时从概率分布中随机采样一种分割方式作为输入,而非固定使用最高概率分割。
- [2019.10] BPE-Dropout: Simple and Effective Subword Regularization 以概率 p 随机跳过某些合并步骤。
3.3. 模型架构#
- Transformer结构选择(Encoder/Decoder/Encoder-Decoder)
- 位置编码方案(绝对/相对位置编码)
- rope
- [2021.03] Transformer升级之路:2、博采众长的旋转式位置编码 每2位做一个旋转,旋转角度为1/2^k, 其中k为位置。qk相乘之后相对距离越远,qk的乘积越小。
- 旋转矩阵及左右乘的意义,看这一篇就够了
- rope
- 归一化层选择(LayerNorm/RMSNorm)
- LayerNorm VS BatchNorm VS RMSNorm
- Group Normalization 这里是图像中的norm,跟nlp中的还不太一样
- [2019.10] Root Mean Square Layer Normalization RMSNorm性能和LayerNorm相当,但是可以节省7%到64%的运算。
- 激活函数
- 激活函数 Relu,Gelu,Mish,SiLU,Swish,Tanh,Sigmoid deepseek使用silu,SiLU具备无上界有下界、平滑、非单调的特性。SiLU在深层模型上的效果优于 ReLU。可以看做是平滑的ReLU激活函数。
- 长上下文
3.4. 注意力机制#
- 缓存与效果的极限拉扯:从MHA、MQA、GQA到MLA 节约kv cache空间。
- [2024.01] Lightning Attention-2: A Free Lunch for Handling Unlimited Sequence Lengths in Large Language Models
- [2023.07] TransNormerLLM: A Faster and Better Large Language Model with Improved TransNormer
- [2020.01] Transformers are RNNs: Fast Autoregressive Transformers with Linear Attention 线性注意力
- 线性Attention的探索:Attention必须有个Softmax吗?
- 笔记:简单图解一下线性注意力机制 SSM(State Space Model) 实现了对每一个历史步骤的记录和压缩,但是忽略了具体的步数索引。
- [2019.04] Generating Long Sequences with Sparse Transformers 稀疏注意力
3.5. 训练策略#
- 优化器选择(Adam/AdamW/LAMB)
- 学习率调度(线性预热+余弦衰减)
- 批次策略(动态批处理/梯度累积)
- 混合精度训练(FP16/BF16)
3.6. 分布式训练#
- huggingface: Model Parallelism
- 数据并行(Data Parallelism)
- 流水线并行(Pipeline Parallelism)
- 张量并行(Tensor Parallelism)
- 3D并行策略组合
3.7. 损失函数#
- 语言建模损失(标准交叉熵)
- 掩码语言建模(MLM)
- 序列到序列损失
- 特殊token处理策略
3.8. 监控与调试#
- 训练动态监控(损失/梯度/激活值)
- 显存使用分析
- 异常检测(梯度爆炸/消失)
- 模型检查点管理
3.9. 扩展技术#
- 课程学习(Curriculum Learning)
- 模型增长(渐进式训练)
- 知识蒸馏(Teacher-Student)
- 持续预训练