Docs 学习路线图
Guide 状态:in-progress

学习路线图

循序渐进的学习路线!从零开始理解 LLM,用 C#/.NET 亲手实现每个组件,真正掌握大语言模型的原理。

🎯 欢迎来到 LLM 从零实现之旅!

欢迎!这个项目不是要你立刻训练出一个 ChatGPT 级别的大模型,而是一个循序渐进的学习路线。我们的目标是:通过亲自动手实现每个核心模块,真正理解 LLM 的工作原理。

学习三部曲

  1. 📚 先理解概念 - 阅读每章文档,了解这一部分在 LLM 整体架构中的位置和作用
  2. 💻 再动手实现 - 在 src/ChapterXX.* 文件中补充 C# 实现,从小处着手,确保每一步都正确
  3. 🔧 及时验证 - 用 apps/Playground 随时测试你的代码,不要等到最后才集成

记住:理解 > 代码量,正确性 > 性能。我们是在学习,不是在赶工。

🗺️ 你的学习路线图

下面是五个关键里程碑,帮助你稳步前进:

🧠 里程碑 1:打好基础

目标:建立整体认知框架

  • ✅ 读完 Chapter 01,了解 LLM 的基本概念
  • ✅ 理清这些术语的关系:token、embedding、self-attention、transformer、预训练、微调
  • ✅ 画出自己的术语图或流程图(可视化能加深理解)

📊 里程碑 2:跑通数据流

目标:让数据流动起来

  • ✅ 实现一个最简单的 tokenizer(先别追求完美)
  • ✅ 打通这条链路:文本 → token ids → batch → embedding lookup
  • ⚠️ 关键心态:不追求性能,先确保每一步的输出都能看懂、能解释

⚙️ 里程碑 3:搭建 GPT 核心

目标:实现 Transformer 的前向传播

  • ✅ 实现 causal self-attention(带掩码的注意力)
  • ✅ 扩展为 multi-head attention(多个注意力头)
  • ✅ 组装完整的 transformer block 和 GPT 主干
  • ✅ 用极小的输入验证形状(shape)和掩码(masking)是否正确

🏋️ 里程碑 4:让模型学起来

目标:看到 loss 下降,证明模型能学习

  • ✅ 在小规模语料上跑通训练循环
  • ✅ 实现 checkpoint 保存、文本采样、简单日志
  • ⚠️ 重要原则:先证明”能学习”,再优化”学习速度”

🎯 里程碑 5:适配不同任务

目标:让基础模型学会新技能

  • ✅ 分类任务微调
  • ✅ 指令遵循微调
  • ✅ 理解核心思想:同一个基础模型,通过不同的”头部”或训练数据,就能获得不同能力

📖 建议的学习顺序

按这个顺序推进,可以避免 overwhelm(信息过载):

  1. Chapter 01:纯理解阶段,不写复杂代码。目标是建立”地图”
  2. Chapter 02:稳扎稳打,把数据入口和 embedding 层写扎实
  3. Chapter 03:专注实现注意力机制,这是 Transformer 的核心
  4. Chapter 04:用前面实现的模块组装完整的 GPT
  5. Chapter 05:最后加上训练循环,让模型真正”学习”
  6. Chapter 06-07:教你的模型学会新技能(分类、指令遵循等)

小贴士:每完成一章,都回头看看整体架构图,理解你正在建造的”大厦”的哪个部分。

💡 C#/.NET 版的实现哲学

在实现过程中,请记住这些原则:

🎯 优先级排序

  1. 清晰性 > 优化性:先写出人能看懂的代码,再考虑优化
  2. 正确性 > 性能:先用 CPU 实现可验证的版本,再考虑 GPU/高性能库
  3. 可调试性 > 简洁性:优先做”可读、可测试、可定位问题”的实现

🔍 验证策略

  • 为每一步保留固定的小样本测试用例
  • 确保输入输出可预测、可解释
  • 不要依赖”看起来差不多”,要能精确验证

记住:我们是学习者,不是产品工程师。理解过程比产出结果更重要。

🚀 现在就开始!

你的第一个任务很简单

  1. 打开 Chapter 01,了解 LLM 的基本概念
  2. 同时浏览 Chapter 02,看看数据是如何从原始文本变成模型能理解的数字的

关注这条链路:文本 → token ids → embedding

不需要立刻写代码,先理解”为什么需要这些步骤”。

准备好了吗?点击左侧导航的 Chapter 01 开始吧! 🎉


小提示:如果你在某个地方卡住了,没关系!这是学习的一部分。可以:

  1. 回到这一章重新阅读
  2. 查看相关的源代码示例
  3. 或者休息一下,让大脑消化新知识