A1 (Basics): Building a Transformer LM

A1 (Basics): Building a Transformer LM

0. 总目标

从零实现训练一个标准 Transformer 语言模型所需的所有组件,并在数据集上完成训练、生成、评测、再做更大数据集实验与排行榜提交

包含:

1) Tokenizer 线(BPE + 编码/解码 + 吞吐/压缩实验)

1.1 Unicode / UTF-8 基础小题(为 byte-level tokenizer 铺垫)

1.2 训练一个 byte-level BPE(核心编程任务之一)

1.3 实现 Tokenizer 类(编码/解码 + 流式 tokenization)

1.4 Tokenizer 实验题(压缩率、错配 tokenization、吞吐估算)

2) 模型线(从零搭 Transformer LM:模块 → Block → LM + 资源核算)

2.1 基础模块(自己写 nn.Module 的“替身”)

2.2 拼装 Transformer Block 与整机 LM

2.3 资源/复杂度核算(FLOPs & 参数量)

3) 训练与优化线(loss、AdamW、LR schedule、梯度裁剪)

这一部分把“能训练”补齐成“训练得对、训得稳”。

4) 工程化训练脚本(大文件加载、断点续训、可复现实验)

4.1 Checkpointing(断点续训必备)

4.2 把所有东西“跑成一条龙”(训练主程序)

5) 实验线(TinyStories → OpenWebText → Leaderboard)