Skip to content

练习系统

本章提供一套渐进式的练习体系,帮助你从概念理解到代码实现,逐步巩固大模型的核心知识。

四级渐进体系

我们将练习分为四个难度级别,每个级别考察不同层次的能力:

级别类型考察能力预计时间
Level 1选择题概念理解、直觉判断15-30 分钟
Level 2代码填空关键代码的精确理解30-60 分钟
Level 3模块实现核心模块的独立实现1-2 小时
Level 4实现挑战从零实现完整系统3-5 小时

Level 1:选择题

适合刚学完理论的阶段。通过精心设计的选项,暴露常见的理解误区。每道题的干扰选项都来自真实的错误认知。

Level 2:代码填空

给出完整代码框架,隐去关键部分(用 _____ 标记)。你需要填入正确的代码使程序运行。考察的是"看懂全貌后能否补全细节"的能力。

Level 3:模块实现

给出接口定义和测试用例,你需要独立实现一个完整的模块。不再是填空,而是从函数签名开始的完整实现。

Level 4:实现挑战

从零实现一个完整的系统(如 mini-GPT)。只给需求描述和类骨架,所有实现细节需要自己决定。这是对理解深度和工程能力的综合考验。


完整练习列表

基础架构篇

练习级别涉及知识点预计时间难度
Transformer 概念测验Level 1Transformer 架构、注意力机制20 分钟⭐ 入门
Attention 代码填空Level 2缩放点积注意力、多头注意力45 分钟⭐⭐ 中等
RoPE 代码填空Level 2-3旋转位置编码、复数运算60 分钟⭐⭐⭐ 中高
Tokenization 分词填空 -- BPE 训练Level 2pair 统计、合并规则30 分钟⭐⭐ 中等
Tokenization 分词填空 -- WordPiece 对比Level 2-3似然增益、合并策略差异30 分钟⭐⭐⭐ 中高
Tokenization 分词填空 -- 完整 TokenizerLevel 3train/encode/decode 端到端50 分钟⭐⭐⭐ 中高
GPT 实现挑战Level 4Transformer 全部内容3-5 小时⭐⭐⭐⭐ 困难
Llama 实现挑战Level 4RoPE、RMSNorm、GQA、SwiGLU3-5 小时⭐⭐⭐⭐ 困难
Flash Attention 填空 -- 内存分析Level 1-2显存占用计算、O(N^2) 瓶颈15 分钟⭐ 入门
Flash Attention 填空 -- 在线 SoftmaxLevel 2Safe Softmax、one-pass 在线算法30 分钟⭐⭐ 中等
Flash Attention 填空 -- Flash ForwardLevel 3分块计算、在线更新、rescale60 分钟⭐⭐⭐ 中高
MoE 代码填空 -- Top-K 路由Level 2门控网络、稀疏选择25 分钟⭐⭐ 中等
MoE 代码填空 -- 稀疏 ForwardLevel 3dispatch-compute-combine40 分钟⭐⭐⭐ 中高
MoE 代码填空 -- 负载均衡Level 3辅助损失、专家利用率30 分钟⭐⭐⭐ 中高
DeepSeek 架构填空 -- MLA KV 压缩Level 2低秩投影、KV Cache 压缩30 分钟⭐⭐ 中等
DeepSeek 架构填空 -- MLA RoPE 解耦Level 2-3nope/rope 拆分、双路注意力35 分钟⭐⭐⭐ 中高
DeepSeek 架构填空 -- DeepSeekMoELevel 2-3共享专家 + 路由专家35 分钟⭐⭐⭐ 中高
DeepSeek 架构填空 -- 辅助损失 FreeLevel 3bias 动态负载均衡40 分钟⭐⭐⭐ 中高
Scaling Laws 填空 -- 参数量计算Level 1-2embedding/attention/FFN 参数20 分钟⭐ 入门
Scaling Laws 填空 -- FLOPs 估算Level 2C=6ND、训练时间25 分钟⭐⭐ 中等
Scaling Laws 填空 -- Chinchilla 配比Level 2-3最优 N/D、幂律拟合40 分钟⭐⭐⭐ 中高
Scaling Laws 填空 -- 预算规划器Level 3综合规划、模型配置推荐45 分钟⭐⭐⭐ 中高

基础组件篇

练习级别涉及知识点预计时间难度
基础组件实现 -- SoftmaxLevel 2数值稳定、Safe Softmax20 分钟⭐⭐ 中等
基础组件实现 -- Cross EntropyLevel 2交叉熵、log_softmax、NLL25 分钟⭐⭐ 中等
基础组件实现 -- AdamWLevel 2一阶矩、二阶矩、偏差校正、权重衰减30 分钟⭐⭐ 中等
基础组件实现 -- LayerNormLevel 3归一化、仿射变换25 分钟⭐⭐⭐ 中高
基础组件实现 -- BPE 分词器Level 3BPE 合并规则、子词分词40 分钟⭐⭐⭐ 中高

预训练篇

练习级别涉及知识点预计时间难度
预训练技术填空 -- CLM 目标函数Level 2next-token prediction、shift labels25 分钟⭐⭐ 中等
预训练技术填空 -- 文档拼接与分块Level 2packing、EOS 分隔、attention mask30 分钟⭐⭐ 中等
预训练技术填空 -- LR 调度Level 2warmup + cosine decay20 分钟⭐⭐ 中等
预训练技术填空 -- 训练监控Level 2-3perplexity、gradient norm、EMA、spike 检测35 分钟⭐⭐⭐ 中高
预训练技术填空 -- Mini 预训练流程Level 3端到端训练循环50 分钟⭐⭐⭐ 中高

训练与微调篇

练习级别涉及知识点预计时间难度
SFT 训练 Pipeline -- ChatML 格式化Level 2Chat Template、消息拼接、EOS 处理25 分钟⭐⭐ 中等
SFT 训练 Pipeline -- Loss MaskingLevel 2label masking、ignore_index=-10030 分钟⭐⭐ 中等
SFT 训练 Pipeline -- DataCollatorLevel 3动态 padding、attention mask、batch 拼接40 分钟⭐⭐⭐ 中高
SFT 训练 Pipeline -- 梯度累积Level 2loss 缩放、等效 batch size20 分钟⭐⭐ 中等
SFT 训练 Pipeline -- 完整训练循环Level 3cosine warmup、端到端训练50 分钟⭐⭐⭐ 中高
LoRA 代码填空 -- 矩阵初始化Level 2Kaiming 初始化、零初始化、旁路设计20 分钟⭐⭐ 中等
LoRA 代码填空 -- merge/unmergeLevel 2权重合并、推理优化20 分钟⭐⭐ 中等
LoRA 代码填空 -- 完整模块Level 3LoRALinear 完整实现40 分钟⭐⭐⭐ 中高
LoRA 代码填空 -- 模型注入Level 3递归替换、模型改造30 分钟⭐⭐⭐ 中高

对齐训练篇

练习级别涉及知识点预计时间难度
DPO/GRPO 代码填空 -- 概念题Level 1Bradley-Terry、DPO 原理、GRPO 原理15 分钟⭐ 入门
DPO/GRPO 代码填空 -- DPO LossLevel 2log ratio、sigmoid loss30 分钟⭐⭐ 中等
DPO/GRPO 代码填空 -- GRPO AdvantageLevel 2group 归一化、z-score20 分钟⭐⭐ 中等
DPO/GRPO 代码填空 -- GRPO LossLevel 3clipped ratio、KL penalty、策略梯度45 分钟⭐⭐⭐ 中高
DPO/GRPO 代码填空 -- Reward ModelLevel 3Value head、偏好建模35 分钟⭐⭐⭐ 中高

工程优化篇

练习级别涉及知识点预计时间难度
推理优化填空 -- KV CacheLevel 2缓存更新、增量解码30 分钟⭐⭐ 中等
推理优化填空 -- PagedAttentionLevel 2块表管理、虚拟内存35 分钟⭐⭐ 中等
推理优化填空 -- Continuous BatchingLevel 3动态调度、请求管理45 分钟⭐⭐⭐ 中高
推理优化填空 -- 投机采样Level 3draft-verify、接受率40 分钟⭐⭐⭐ 中高
量化技术填空 -- Absmax 量化Level 2对称量化、scale 计算20 分钟⭐⭐ 中等
量化技术填空 -- Zero-Point 量化Level 2非对称量化、偏斜分布25 分钟⭐⭐ 中等
量化技术填空 -- Per-Channel 量化Level 2-3outlier channel、逐通道30 分钟⭐⭐⭐ 中高
量化技术填空 -- GPTQ 核心Level 3逐列量化、误差补偿45 分钟⭐⭐⭐ 中高
量化技术填空 -- SmoothQuantLevel 3激活平滑、难度转移40 分钟⭐⭐⭐ 中高
分布式训练填空 -- Ring AllReduceLevel 2scatter-reduce、allgather30 分钟⭐⭐ 中等
分布式训练填空 -- DDP 训练Level 2-3梯度同步、DistributedSampler40 分钟⭐⭐⭐ 中高
分布式训练填空 -- 列并行Level 3Megatron-style、权重切分35 分钟⭐⭐⭐ 中高
分布式训练填空 -- 行并行Level 3AllReduce sum、FFN 配对35 分钟⭐⭐⭐ 中高
分布式训练填空 -- Pipeline 调度Level 3GPipe、bubble ratio40 分钟⭐⭐⭐ 中高

应用与评估篇

练习级别涉及知识点预计时间难度
Prompt 与评估填空 -- Few-Shot 构造器Level 2示例选择、格式化25 分钟⭐⭐ 中等
Prompt 与评估填空 -- Chain-of-ThoughtLevel 1-2zero-shot/few-shot CoT20 分钟⭐ 入门
Prompt 与评估填空 -- Prompt 注入防御Level 2-3输入清洗、sandwich defense35 分钟⭐⭐⭐ 中高
Prompt 与评估填空 -- BLEU 分数Level 2n-gram precision、brevity penalty30 分钟⭐⭐ 中等
Prompt 与评估填空 -- ROUGE-LLevel 2-3LCS 动态规划、F130 分钟⭐⭐⭐ 中高
Prompt 与评估填空 -- LLM-as-JudgeLevel 3评分 prompt、pairwise comparison40 分钟⭐⭐⭐ 中高
RAG 与 Agent 填空 -- 文本分块Level 2滑动窗口、语义分块25 分钟⭐⭐ 中等
RAG 与 Agent 填空 -- 向量检索Level 2余弦相似度、top-k25 分钟⭐⭐ 中等
RAG 与 Agent 填空 -- RAG PipelineLevel 3端到端检索增强生成40 分钟⭐⭐⭐ 中高
RAG 与 Agent 填空 -- ReAct AgentLevel 2-3Thought-Action-Observation 循环35 分钟⭐⭐⭐ 中高
RAG 与 Agent 填空 -- Tool CallingLevel 3JSON Schema、函数动态调用45 分钟⭐⭐⭐ 中高

推荐学习路径

路径一:从零开始(适合初学者)

  1. Transformer 概念测验 (Level 1) -- 建立直觉
  2. 基础组件实现: Softmax + Cross Entropy (Level 2) -- 夯实基础
  3. Attention 代码填空 (Level 2) -- 理解核心机制
  4. RoPE 代码填空 (Level 2-3) -- 掌握位置编码
  5. GPT 实现挑战 (Level 4) -- 综合实战
  6. SFT 训练 Pipeline: ChatML + Loss Masking (Level 2) -- 走通训练

路径二:聚焦训练(适合有基础的学习者)

  1. SFT 训练 Pipeline: 全部 5 个练习 (Level 2-3) -- 掌握训练全流程
  2. LoRA 代码填空: 全部 4 个练习 (Level 2-3)
  3. DPO/GRPO 概念题 + 代码填空: 全部练习 (Level 1-3)
  4. 量化技术: Absmax + GPTQ (Level 2-3) -- 理解模型压缩

路径三:工程进阶(适合想成为大佬的开发者)

  1. Flash Attention 全部练习 (Level 1-3) -- 理解高性能计算
  2. 分布式训练: AllReduce → DDP → Tensor Parallel (Level 2-3)
  3. 推理优化: KV Cache → PagedAttention → 投机采样 (Level 2-3)
  4. 量化技术: 从 Absmax 到 SmoothQuant (Level 2-3)

路径四:全栈应用(适合做产品的开发者)

  1. RAG 与 Agent: 文本分块 + 向量检索 + RAG Pipeline (Level 2-3)
  2. RAG 与 Agent: ReAct Agent + Tool Calling (Level 2-3)
  3. SFT 训练 Pipeline: 完整训练循环 (Level 3)
  4. 量化技术: SmoothQuant (Level 3) -- 部署优化

路径五:速通挑战(适合有经验的开发者)

  1. 直接挑战 GPT 实现 (Level 4)
  2. Flash Attention Forward (Level 3)
  3. GRPO Loss 完整实现 (Level 3)
  4. 分布式训练: Tensor Parallel + Pipeline 调度 (Level 3)
  5. GPTQ 核心 (Level 3)

使用建议

  1. 先学后练:每个练习都标注了前置知识,确保你已学完对应章节再开始
  2. 先想后看:答案都用 <details> 折叠,先独立思考,实在想不出再展开
  3. 动手跑代码:Level 2 以上的练习,一定要在本地跑通,不要只"看懂"
  4. 记录错误:做错的题往往暴露了知识盲点,这比做对更有价值
  5. 循序渐进:同一文件内的练习难度递增,按顺序做效果最好

详细内容索引

attention-fill.md — Attention 代码填空 (258 lines)

  • 练习 1:Scaled Dot-Product Attention (L16)
  • 练习 2:MultiHeadAttention.init (L83)
  • 练习 3:MultiHeadAttention.forward (L147)
  • 验证代码 (L235)

common-fill.md — 基础组件实现 (642 lines)

  • 练习 1:数值稳定的 Softmax 实现(Level 2) (L19)
  • 练习 2:Cross Entropy 实现(Level 2) (L111)
  • 练习 3:AdamW 优化器(Level 2) (L212)
  • 练习 4:LayerNorm 实现(Level 3) (L328)
  • 练习 5:BPE 分词器核心逻辑(Level 3) (L460)

deepseek-arch-fill.md — DeepSeek 架构填空 (646 lines)

  • 练习 1: Multi-Latent Attention (MLA) -- KV 压缩(Level 2) (L13)
    • 背景 (L15)
    • 任务 (L24)
    • 提示 (L88)
  • 练习 2: MLA -- RoPE 解耦(Level 2-3) (L129)
    • 背景 (L131)
    • 任务 (L141)
    • 提示 (L200)
  • 练习 3: DeepSeekMoE -- 共享专家 + 路由专家(Level 2-3) (L250)
    • 背景 (L252)
    • 任务 (L260)
    • 提示 (L340)
  • 练习 4: 辅助损失 Free 的负载均衡(Level 3) (L387)
    • 背景 (L389)
    • 任务 (L393)
    • 提示 (L482)
  • 练习 5: KV Cache 大小计算综合题(Level 1-2) (L533)
    • 背景 (L535)
    • 任务 (L551)
    • 提示 (L592)
  • 总结 (L631)
    • 延伸思考 (L641)

distributed-fill.md — 分布式训练填空 (700 lines)

  • 练习 1: Ring AllReduce 模拟(Level 2) (L13)
    • 背景 (L15)
    • 任务 (L24)
    • 提示 (L103)
  • 练习 2: 手写 DDP 训练循环(Level 2-3) (L153)
    • 背景 (L155)
    • 任务 (L165)
    • 提示 (L261)
  • 练习 3: Tensor Parallelism -- 列并行线性层(Level 3) (L313)
    • 背景 (L315)
    • 任务 (L326)
    • 提示 (L387)
  • 练习 4: Tensor Parallelism -- 行并行线性层(Level 3) (L425)
    • 背景 (L427)
    • 任务 (L440)
    • 提示 (L504)
  • 练习 5: Pipeline Parallelism 微批次调度(Level 3) (L552)
    • 背景 (L554)
    • 任务 (L565)
    • 提示 (L648)

dpo-grpo-fill.md — DPO/GRPO 填空 (590 lines)

  • 练习 1:Bradley-Terry 模型概念题(Level 1) (L28)
  • 练习 2:DPO Loss 实现(Level 2) (L96)
  • 练习 3:GRPO Advantage 计算(Level 2) (L205)
  • 练习 4:GRPO Loss 完整实现(Level 3) (L290)
  • 练习 5:Reward Model 的 forward(Level 3) (L434)

flash-attn-fill.md — Flash Attention 填空 (650 lines)

  • 练习 1: 标准 Attention 的内存分析(Level 1-2) (L13)
    • 背景 (L15)
    • 任务 (L43)
    • 提示 (L72)
  • 练习 2: Safe Softmax 与在线 Softmax(Level 2) (L109)
    • 背景 (L111)
    • 任务 (L126)
    • 提示 (L186)
  • 练习 3: 分块矩阵乘法(Level 2) (L220)
    • 背景 (L222)
    • 任务 (L234)
    • 提示 (L295)
  • 练习 4: Flash Attention Forward(Level 3) (L330)
    • 背景 (L332)
    • 任务 (L360)
    • 提示 (L444)
  • 练习 5: Flash Attention 反向传播的核心洞察(Level 3) (L499)
    • 背景 (L501)
    • 任务 (L517)
    • 提示 (L611)

gpt-build.md — GPT 实现挑战 (628 lines)

  • 挑战目标 (L10)
  • 热身练习 (L18)
    • 热身 1:手写 GELU 激活函数 (L22)
    • 热身 2:构造因果掩码 (L51)
    • 热身 3:实现 KV Cache 更新 (L91)
  • 需求规格 (L148)
    • 模型配置 (L150)
    • 必须实现的组件 (L164)
  • 类骨架 (L174)
  • 训练脚本骨架 (L343)
  • 评估标准 (L376)
    • 基础要求(必须达成) (L378)
    • 进阶要求(挑战自我) (L389)
    • 高阶挑战(选做) (L401)
  • 常见陷阱 (L409)
  • 参考时间分配 (L419)
  • 参考实现 (L433)

inference-fill.md — 推理优化填空 (626 lines)

  • 练习 1:KV Cache 更新(Level 2) (L13)
    • 背景 (L15)
    • 任务 (L19)
    • 提示 (L69)
  • 练习 2:PagedAttention 块表管理(Level 2) (L92)
    • 背景 (L94)
    • 任务 (L98)
    • 提示 (L163)
  • 练习 3:Continuous Batching 调度器(Level 3) (L202)
    • 背景 (L204)
    • 任务 (L211)
    • 提示 (L305)
  • 练习 4:投机采样验证(Level 3) (L350)
    • 背景 (L352)
    • 任务 (L360)
    • 提示 (L413)
  • 练习 5:Chunked Prefill 调度(Level 3) (L459)
    • 背景 (L461)
    • 任务 (L465)
    • 提示 (L561)
  • 总结 (L617)

llama-build.md — Llama 实现挑战 (622 lines)

  • 热身练习 (L12)
    • 练习 1: RMSNorm 实现(Level 2) (L14)
    • 练习 2: SwiGLU 实现(Level 2-3) (L93)
    • 练习 3: GQA 的 KV Repeat(Level 2-3) (L181)
  • 主挑战: 构建完整 Llama Decoder(Level 4) (L244)
    • 目标 (L246)
    • 配置 (L257)
    • 要求 (L274)
    • 评估标准 (L360)
    • 测试用例 (L373)
  • 参考实现 (L413)
  • 进阶思考 (L613)

lora-fill.md — LoRA 代码填空 (490 lines)

  • 练习 1:LoRA 低秩矩阵初始化与 forward(Level 2) (L26)
  • 练习 2:LoRA 的 merge 和 unmerge(Level 2) (L104)
  • 练习 3:完整 LoRALinear 模块实现(Level 3) (L196)
  • 练习 4:给预训练模型注入 LoRA(Level 3) (L345)

moe-fill.md — MoE 代码填空 (347 lines)

  • 练习 1: Top-K 路由(Level 2) (L13)
    • 背景 (L15)
    • 任务 (L25)
    • 提示 (L70)
  • 练习 2: 稀疏 MoE Forward — dispatch-compute-combine(Level 3) (L107)
    • 背景 (L109)
    • 任务 (L119)
    • 提示 (L179)
  • 练习 3: 负载均衡损失(Level 3) (L218)
    • 背景 (L220)
    • 任务 (L231)
    • 提示 (L271)
  • 总结 (L333)
    • 延伸思考 (L341)

pretraining-fill.md — 预训练技术填空 (579 lines)

  • 练习 1: Causal Language Modeling 目标函数(Level 2) (L19)
    • 背景 (L21)
    • 任务 (L27)
    • 提示 (L70)
  • 练习 2: 数据预处理 -- 文档拼接与分块(Level 2) (L99)
    • 背景 (L101)
    • 任务 (L107)
    • 提示 (L155)
  • 练习 3: 学习率调度 -- Warmup + Cosine Decay(Level 2) (L195)
    • 背景 (L197)
    • 任务 (L203)
    • 提示 (L247)
  • 练习 4: 训练指标监控(Level 2-3) (L280)
    • 背景 (L282)
    • 任务 (L286)
    • 提示 (L360)
  • 练习 5: Mini 预训练完整流程(Level 3) (L397)
    • 背景 (L399)
    • 任务 (L405)
    • 提示 (L542)

prompt-eval-fill.md — Prompt Engineering 与评估填空 (747 lines)

  • 练习 1: Few-Shot Prompt 构造器(Level 2) (L14)
    • 背景 (L16)
    • 任务 (L22)
    • 提示 (L80)
  • 练习 2: Chain-of-Thought 模板(Level 1-2) (L124)
    • 背景 (L126)
    • 任务 (L132)
    • 提示 (L174)
  • 练习 3: Prompt 注入防御(Level 2-3) (L224)
    • 背景 (L226)
    • 任务 (L232)
    • 提示 (L311)
  • 练习 4: BLEU 分数计算(Level 2) (L363)
    • 背景 (L365)
    • 任务 (L371)
    • 提示 (L437)
  • 练习 5: ROUGE-L 分数计算(Level 2-3) (L485)
    • 背景 (L487)
    • 任务 (L493)
    • 提示 (L535)
  • 练习 6: LLM-as-Judge 评估框架(Level 3) (L589)
    • 背景 (L591)
    • 任务 (L597)
    • 提示 (L701)

quantization-fill.md — 量化技术填空 (633 lines)

  • 练习 1: Absmax 对称量化(Level 2) (L27)
    • 背景 (L29)
    • 任务 (L37)
    • 提示 (L70)
  • 练习 2: Zero-Point 非对称量化(Level 2) (L124)
    • 背景 (L126)
    • 任务 (L136)
    • 提示 (L174)
  • 练习 3: Per-Channel vs Per-Tensor 量化(Level 2-3) (L233)
    • 背景 (L235)
    • 任务 (L243)
    • 提示 (L293)
  • 练习 4: GPTQ 核心 -- 逐列量化与误差补偿(Level 3) (L362)
    • 背景 (L364)
    • 任务 (L375)
    • 提示 (L422)
  • 练习 5: SmoothQuant -- 激活平滑(Level 3) (L479)
    • 背景 (L481)
    • 任务 (L497)
    • 提示 (L545)

rag-agent-fill.md — RAG 与 Agent 填空 (640 lines)

  • 练习 1: 文本分块策略(Level 2) (L13)
    • 背景 (L15)
    • 任务 (L19)
    • 提示 (L67)
  • 练习 2: 余弦相似度与向量检索(Level 2) (L105)
    • 背景 (L107)
    • 任务 (L111)
    • 提示 (L163)
  • 练习 3: RAG Pipeline 端到端(Level 3) (L210)
    • 背景 (L212)
    • 任务 (L216)
    • 提示 (L287)
  • 练习 4: ReAct Agent 循环(Level 2-3) (L323)
    • 背景 (L325)
    • 任务 (L329)
    • 提示 (L416)
  • 练习 5: 结构化 Tool Calling(Level 3) (L459)
    • 背景 (L461)
    • 任务 (L465)
    • 提示 (L567)
  • 总结 (L623)
    • 延伸思考 (L633)

rope-fill.md — RoPE 代码填空 (341 lines)

  • 背景知识速览 (L14)
    • 为什么需要 RoPE? (L16)
    • 核心思想:2D 旋转 (L26)
  • 练习 0(热身):2D 旋转矩阵 (L46)
  • 练习 1:频率计算 (L93)
  • 练习 2:旋转应用 (L183)
  • 验证代码 (L258)
  • RoPE 在模型中的使用 (L292)
  • 思考延伸 (L332)

scaling-laws-fill.md — Scaling Laws 填空 (747 lines)

  • 练习 1: Transformer 参数量计算(Level 1-2) (L31)
    • 背景 (L33)
    • 任务 (L39)
    • 提示 (L103)
  • 练习 2: 训练 FLOPs 估算(Level 2) (L152)
    • 背景 (L154)
    • 任务 (L160)
    • 提示 (L232)
  • 练习 3: Chinchilla 最优配比(Level 2-3) (L281)
    • 背景 (L283)
    • 任务 (L289)
    • 提示 (L368)
  • 练习 4: Loss 预测与幂律拟合(Level 2-3) (L413)
    • 背景 (L415)
    • 任务 (L421)
    • 提示 (L499)
  • 练习 5: 训练预算规划器(Level 3) (L546)
    • 背景 (L548)
    • 任务 (L554)
    • 提示 (L693)

sft-training-fill.md — SFT 训练 Pipeline 填空 (700 lines)

  • 练习 1: ChatML 格式化(Level 2) (L24)
    • 背景 (L26)
    • 任务 (L41)
    • 提示 (L91)
  • 练习 2: SFT Loss Masking(Level 2) (L130)
    • 背景 (L132)
    • 任务 (L143)
    • 提示 (L181)
  • 练习 3: SFT DataCollator 实现(Level 3) (L215)
    • 背景 (L217)
    • 任务 (L227)
    • 提示 (L311)
  • 练习 4: 梯度累积训练循环(Level 2) (L361)
    • 背景 (L363)
    • 任务 (L369)
    • 提示 (L438)
  • 练习 5: 完整 SFT 训练循环(Level 3) (L477)
    • 背景 (L479)
    • 任务 (L489)
    • 提示 (L646)

tokenization-fill.md — Tokenization 分词填空 (639 lines)

  • 练习 1: BPE 训练算法(Level 2) (L19)
    • 背景 (L21)
    • 任务 (L27)
    • 提示 (L78)
  • 练习 2: BPE 编码(分词)(Level 2) (L130)
    • 背景 (L132)
    • 任务 (L136)
    • 提示 (L169)
  • 练习 3: WordPiece vs BPE 对比(Level 2-3) (L218)
    • 背景 (L220)
    • 任务 (L228)
    • 提示 (L275)
  • 练习 4: 中文分词的特殊挑战(Level 2) (L322)
    • 背景 (L324)
    • 任务 (L330)
    • 提示 (L389)
  • 练习 5: 完整 Tokenizer 实现(Level 3) (L440)
    • 背景 (L442)
    • 任务 (L446)
    • 提示 (L575)

transformer-quiz.md — Transformer 概念题 (204 lines)

  • 第 1 题:为什么除以 dk? (L14)
  • 第 2 题:Multi-Head vs Single-Head 的优势 (L43)
  • 第 3 题:位置编码的必要性 (L72)
  • 第 4 题:残差连接的作用 (L101)
  • 第 5 题:Encoder vs Decoder 的关键区别 (L132)
  • 第 6 题:LayerNorm vs BatchNorm (L164)
  • 自评标准 (L196)