总路线(约5~6个月,每天1~2小时)
| 阶段 | 周数 | 产出 |
|---|---|---|
| 0 地基 | 2~3 | Python+数学直觉 |
| 1 NLP基础 | 2 | 分词/embedding/小语言模型 |
| 2 Transformer | 4~5 | 自己写的小GPT |
| 3 预训练/微调/对齐 | 4 | 一个微调模型+评测 |
| 4 CUDA/硬件/推理 | 4 | 量化+部署+kernel小练习 |
| 5 应用工程 | 4 | 两个作品集项目 |
最短必要路径(如果时间很紧):0 → 2 → 5,其余按岗位补。已会Python/有开发经验的人可跳过阶段0大部分。
学习的3个原则
1. 先跑起来,再弄懂:先运行别人的代码,再一行行改。
2. 每阶段必须有产出(代码/博客),放到GitHub。
3. 用AI当老师:把代码和报错贴给Claude/ChatGPT,让它解释每一行,并出题考你。
阶段0:地基(Python + 数学直觉)
目标:能写100行Python;理解"函数、向量、矩阵、导数、概率"各是什么意思(不要求会证明)。
时间:2~3周,每天1小时
要学的知识
动手作业
1. 用NumPy手写:两个向量余弦相似度;一个3×3矩阵乘向量。
2. 用纯Python写一个"梯度下降",找到 y=(x-3)² 的最小值。
3. 3Blue1Brown《线性代数的本质》《神经网络》视频(中文字幕版B站有)。
过关标准(会了才往下走)
能解释"梯度下降"像"蒙着眼下山,每次沿最陡的方向走一小步"。能写出矩阵乘法的代码并说出形状 (m,n)×(n,k)=(m,k)。
阶段1:自然语言处理基础(最基础的NLP)
目标:理解文字怎么变成数字:分词、词向量、语言模型的概念。
时间:2周
要学的知识
动手作业
1. 用 tiktoken/ HuggingFace tokenizers 把一句中文、一句英文、一段代码分词,对比token数。
2. 用现成的 embedding 模型算几个句子的相似度。
3. 写一个最简单的字符级 bigram 语言模型(用数数的方式),生成一段"莎士比亚风格"文本。
过关标准(会了才往下走)
能向孩子解释:"语言模型就是在玩接龙,只不过它读过全互联网的接龙。"能说出token是什么、为什么要分词。
阶段2:神经网络与 Transformer(核心)
目标:亲手实现一个小Transformer;理解注意力。这是"真正学底层"的关键。
时间:4~5周
要学的知识
动手作业
必做:跟着 Andrej Karpathy 的《Let's build GPT from scratch》(YouTube,有中文字幕版)和 nanoGPT 代码,写出一个约100~300行的小GPT,在莎士比亚/中文小说上训练,能生成文字。
然后读 "Attention Is All You Need" 论文(2017),对照你写的代码标出每个公式。
过关标准(会了才往下走)
能不看资料手写出:scaled dot-product attention、一个Transformer block、训练循环。能解释为什么要除以√d、为什么要mask。
阶段3:预训练、微调、对齐(怎么变成ChatGPT)
目标:理解一个大模型从数据到聊天助手的完整流水线,会做微调。
时间:4周
要学的知识
动手作业
1. 用 HuggingFace Transformers + PEFT,在一块消费级GPU(或Colab免费T4)上,用QLoRA微调一个小模型(如Qwen2.5-1.5B/3B),做一个你自己的任务(如日语商务邮件改写)。
2. 写一个20~50题的评测集,比较微调前后。
过关标准(会了才往下走)
能画出"预训练→SFT→偏好对齐"流程图并讲清每一步的数据长什么样。能解释为什么微调不能教会模型大量新知识(用RAG更合适)。
阶段4:算力、CUDA、硬件、推理优化(求职加分项)
目标:理解为什么GPU/显存/带宽决定一切;会把模型跑得又快又省。
时间:4周
要学的知识
动手作业
1. 用 llama.cpp / Ollama 在自己电脑跑一个量化模型,记录 tokens/s 和显存占用。
2. 用 vLLM(云GPU租几小时)部署同一个模型,比较吞吐。
3. 读 FlashAttention 论文摘要和图,用自己的话讲"为什么更快"(减少显存读写)。
4. 写一个简单的 CUDA/Triton 矩阵乘法。
过关标准(会了才往下走)
能算出:7B模型FP16需要多少显存(约14GB,+KV cache);能解释Decode为什么受显存带宽限制。
阶段5:应用工程(求职最直接的部分)
目标:会做一个可用的LLM应用:RAG、Agent、评测、上线。
时间:4周
要学的知识
动手作业
做2个能放进作品集的项目:①带引用的文档问答RAG(用你自己的资料);②一个会调用工具的Agent(如自动整理邮件/日程)。每个项目要有README、评测结果、成本说明、在线Demo。
过关标准(会了才往下走)
能回答面试问题:RAG出错常见在哪一步?怎么评测?Agent失败怎么排查?如何降低延迟和成本?
给找工作的路线(先看这个)
LLM岗位大致三类,需要的深度不同:
A. 应用工程师(最多岗位):阶段0、1(略)、5为主+阶段2懂原理。作品集=RAG+Agent。
B. 模型/微调工程师:阶段2、3必须强,会PyTorch、LoRA、评测。
C. 推理/基础设施工程师:阶段4必须强,CUDA、vLLM、量化、分布式。
你的优势:有日语+中文+开发经验,适合A类,加3的微调做"日语场景"项目会很有特色。建议:先走A+阶段2理解原理,再根据岗位选3或4深入。
面试常问
• 解释自注意力;为什么除√d;多头的作用。
• KV cache是什么;为什么decode慢。
• LoRA原理;与全量微调差别。
• RAG vs 微调怎么选。
• 怎么评测一个LLM应用。
• 幻觉怎么减轻。
给高二孩子的版本(没学过AI开发)
目标:先"看懂",再"玩起来",不要一上来就推公式。
第1周:把AI当玩具
• 玩 Google Teachable Machine(浏览器里用摄像头训练一个识别器,不用写代码)。
• 用 ChatGPT/Claude 提问,试着让它犯错,观察什么问题它容易错。
第2周:Python入门
• 学变量、循环、函数;每天写10行;做一个猜数字游戏。
第3周:理解'预测下一个词'
• 手算:统计一段话里"我"后面出现什么字最多,用它接龙。这就是最原始的语言模型。
• 对比:ChatGPT是同样的事,但规模大了几亿倍,用神经网络代替了'数数'。
第4周:用代码调用大模型
• 写一个Python脚本,调用API,做一个"英语作文批改器"。(对他学英语也有用!)
类比小抄
• 参数=很多个旋钮;训练=调旋钮让错误变小。
• 注意力=读一句话时,每个词问"我该关注句子里的谁"。
• GPU=一千个小学生同时做加法,CPU=一个很聪明的人做加法。
• 显存=书桌大小,书桌不够就只能一点点搬书(慢)。
需要的数学
高二数学够用:函数、斜率(导数的直觉)、概率初步。向量和矩阵在学的时候再补。
资源(优先免费)
视频:3Blue1Brown《神经网络》系列;Andrej Karpathy《Neural Networks: Zero to Hero》(强烈推荐);李宏毅《生成式AI导论》(中文,B站/YouTube);Stanford CS224N/CS336(Language Modeling from Scratch)。
书/文档:《动手学深度学习》d2l.ai(中日英);HuggingFace LLM Course(免费);The Illustrated Transformer(Jay Alammar博客)。
代码:nanoGPT、llm.c(Karpathy,纯C训练GPT-2)、minGPT、HuggingFace Transformers/PEFT/TRL;vLLM;llama.cpp。
论文(先读摘要+图):Attention Is All You Need;GPT-3;Chinchilla(Scaling Law);LoRA;FlashAttention;InstructGPT;DPO;DeepSeek-R1。
练习算力:Google Colab/Kaggle免费GPU;租云GPU(几块钱/小时);自己电脑有NVIDIA显卡则本地。