面向计算机专业新生的中文知识库:从 CS 基础课程,到大语言模型(LLM)的训练与推理系统。每篇笔记都配有可作答的选择题。算法刷题见 NudgeCode。

从哪里开始:先看 学习路线,它把每门课对应到下面的笔记。每个概念只在一篇里讲透,其他地方用链接指过去。收藏的小节和高亮见 我的收藏。

学习路线

  • 学习路线 — 从零到 AI Infra 按什么顺序学、每门课对应本库哪几篇

编程与工具

数学

  • 线性代数 — 矩阵在”做”什么:从列的组合到 SVD
  • 概率论 — 怎么对不确定性做计算:从条件概率到中心极限定理
  • 离散数学 — 怎么证明程序和算法是对的:逻辑、归纳、计数与渐近

算法

计算机系统

  • 信息的表示 — 0 和 1 怎么表示整数、小数和文字?
  • 机器级程序 — 一行 C 代码在 CPU 上变成了什么?
  • 内存层次与缓存 — 为什么同样的计算,换个循环顺序就快好几倍?
  • 进程异常与信号 — 一颗 CPU 怎么让很多程序”同时”跑,又怎么把控制权要回来?
  • 虚拟内存 — 每个进程怎么以为自己独占内存,代价又是什么?
  • 并发与同步 — 多个线程同时改一个变量会怎样,怎么让它们安全地协作?
  • 文件系统与 IO — 写进磁盘的字节怎么组织,断电时怎么不丢?
  • 网络:从链路到 IP — 一个包怎么从你的电脑跨过半个地球到达服务器?
  • 网络:TCP 与应用层 — 在会丢包、会乱序的网络上,怎么可靠又不拥堵地传数据?
  • 数据库系统 — 数据库怎么在磁盘上既查得快、又在崩溃和并发下不丢不乱?
  • 分布式系统 — 很多台会出故障的机器,怎么对外表现得像一台可靠的机器?

机器学习

大语言模型

  • 分词 — 文本怎么变成模型能吃的整数序列,BPE 怎么训练、怎么编码
  • Transformer 架构 — 一个 GPT 由哪些零件组成,每个零件解决什么问题
  • 注意力变体与 MoE — 怎么让注意力更省内存、上下文更长,让模型更大却不更贵
  • 资源核算与 Scaling Laws — 训练一个模型要多少算力和显存,给定算力该训多大的模型
  • GPU 与 Kernel — GPU 为什么快、为什么经常跑不满,怎样写出快的 kernel
  • FlashAttention — 注意力为什么被显存带宽卡住,分块 + online softmax 怎么解
  • 并行训练 — 一张卡放不下、算不完时,怎样把训练拆到成百上千张卡上
  • 预训练数据 — 训练数据从哪来,怎么从脏网页里洗出几个 T 的好文本
  • 后训练 — 怎么把只会续写的 base model 变成听话、会推理的助手
  • 评估 — 怎么知道一个语言模型好不好,以及这个”知道”有多可信
  • 推理系统 — 为什么生成慢,推理引擎怎么让它变快
  • 多模态 — 只会读 token 的语言模型,怎么看懂一张图、甚至画出一张图
  • RAG 与 Agent — 怎么让模型用上外部知识和工具,并且在线上可靠地运行
  • GPT-2 124M 复现 — 31 章详解模型、训练、GPU 优化、DDP 与评测机制