- 博客(10)
- 收藏
- 关注
原创 09 SFT Training Loop
预训练阶段,模型的任务是"给定前文,预测下一个字"。训练数据是一本一本书、一篇文章一篇文章——每一个 token 都要算 Loss,因为模型需要学会语言本身的规律。SFT 阶段完全不同。我们的目标是:模型看到 Prompt 后,能输出 Response。如果你把 Prompt 和 Response 一起送进 CrossEntropyLoss,模型会干嘛?
2026-07-05 12:16:30
484
原创 08 Architecture Tricks
输入端 Embedding: token_id → weight[V, d] → 向量 (把离散 ID 变连续向量)输出端 LM Head: 向量 → weight.T[V, d] → logits (把向量变回词表概率)LLaMA 的做法:两个独立参数 → 总共2 × V × d个参数。Qwen / GPT-2 的做法:两个矩阵共享同一块 GPU 内存 → 总共V × d个参数。LLaMA(不绑定):Embedding.weight: [V, d] 地址 0x1000。
2026-06-27 23:27:40
164
原创 07 MoE Load Balancing Loss
06 节我们实现了一个 Top-K Router:每个 token 打分 → 选 Top-K 专家 → 加权输出。一切看起来很完美。但 Router 的W_gate是的。这意味着它会"偷懒"——一旦某个专家初始权重稍微有利,Router 就把更多 token 分给它 → 那个专家接收更多梯度 → 学得更快 → Router 觉得它更靠谱 → 分更多 token 给它……:强者越强,弱者饿死。:算力不均衡 → 部分 GPU 空转 + 部分 OOM、MoE 退化成了只用 2 个专家的 Dense 模型。
2026-06-27 23:27:03
250
原创 05 LLaMA3 Block — 从零件到发动机
输入: x ∈ R^{B×S×d}↑ ↑ ↑残差 位置编码 Pre-NormMLP Block:↑ ↑ ↑残差 门控MLP Pre-Norm。
2026-06-24 23:04:19
232
原创 04 Attention MHA/GQA
大语言模型逐个 token 生成回答。生成第 N 个 token 时,Attention 需要计算它和前面 N-1 个 token 的关系。:第 1 步投影 1 个 token,第 2 步投影 2 个 token…第 N 步投影 N 个 token。总计算量是ON2—— 生成 2048 个 token 要做约 200 万次投影。:把每个 token 的 Key 和 Value 缓存起来。生成新 token 时只投影当前 token,然后直接拼接历史 KV。
2026-06-21 22:27:12
196
原创 02 SwiGLU
yWdownσWupx))即:输入x→ 升维(Wup,从d到4d)→ 激活函数σ(通常是 GELU)→ 降维(Wdown,从4d回到d:激活函数是"一刀切"的——每个神经元要么激活要么不激活,模型没有"部分激活"的精细控制能力。
2026-06-19 22:58:29
230
原创 01 RMSNorm_Tutorial
LayerNorm 痛点什么?↓ (两次 all-reduce 太慢)RMSNorm 的假设是什么?↓ (大网络中均值天然≈0)RMSNorm 的数学是什么?↓ (x / RMS(x) × γ,无 bias)代码怎么实现?FP16 下会有什么问题?↓ (x > 256 时 x² 溢出)怎么解决?↓ (Upcasting: 先转 FP32 算,再转回来)和工业实现对照?↓ (HuggingFace LLaMA 的 RMSNorm)
2026-06-16 19:21:31
251
原创 00 PyTorch_Warmup
在 NLP 中,每个词(token)用一个整数 ID 表示,比如 “猫” = 42,“狗” = 108。但神经网络不能直接处理整数——它需要稠密向量(比如 64 维的浮点数数组)。把整数 ID 映射成对应的向量。求导目标中间导数求和维度矩阵形式代码核心直觉grad_x∂zij∂xikWjk∂xik∂zijWjkj(输出维度)grad_z @ W上游梯度通过权重"路由"回输入grad_W∂zij∂Wjkxik∂。
2026-06-16 19:21:00
317
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅