约 23 分钟阅读

如何成为一名 LLM 算法工程师

从基础、Transformer、RAG、微调、偏好优化到推理部署的 LLM 算法工程师学习路线

如何成为一名 LLM 算法工程师

这篇文章记录如何规划 LLM 算法工程师的学习路径,也希望给同样在入门和进阶的人一个可复用的参考。

不停留在“会调用大模型 API”这个层面,也不想只读论文、看概念,却没有可以复现和交付的东西。目标是逐步建立一套能落地的 LLM 算法能力:理解模型机制,能处理和构造数据,能做训练与后训练实验,能搭建可评估的 RAG/Agent 系统,也能把模型用可观测、可控成本的方式部署到业务场景里。

这条路线会按“先跑通、再理解、再优化、最后交付”的节奏推进。每个阶段都会留下明确产出,避免学习变成碎片化收藏。

目标画像

LLM 算法工程师最终需要具备四层能力:

能力层我要回答的问题阶段产出
基础层我能否稳定训练、调试、复现实验?PyTorch 训练循环、实验记录、误差分析
模型层我是否理解 Transformer、生成、微调和对齐?mini Transformer、SFT/LoRA/DPO 实验报告
系统层我能否把模型接入数据、工具、检索和评估?RAG 服务、评估集、可观测 trace
交付层我能否解释成本、延迟、效果和风险?benchmark、上线方案、模型卡、复盘文档

四层交替推进。只学理论会缺少工程判断,只堆框架会很难定位效果问题,只追大模型新闻会缺少可复用的基本功。

方向选择

LLM 算法岗位有很多分支,需要先确定主线,再补齐旁支。

方向我为什么关注重点能力我可以做的项目
LLM 应用算法最容易和真实业务结合,也最适合快速形成作品Prompt、RAG、Agent、评估、业务闭环企业知识库问答、智能客服、BI Agent
模型微调与后训练能建立更深的算法壁垒,避免只会调 API数据构造、SFT、LoRA、DPO/GRPO、训练诊断领域指令模型、偏好优化实验
推理部署与性能优化私有化部署和成本控制是企业场景的关键问题vLLM、量化、批处理、KV cache、吞吐延迟权衡私有化模型服务、推理网关
研究复现与评测训练我判断新方法是否真的有效paper reading、benchmark、ablation、误差归因论文复现、模型能力评估

当前的主线会先放在“LLM 应用算法 + 评估”上,因为它最容易形成闭环;第二阶段再深入“微调与后训练”;如果后续有明确私有化部署需求,会把“推理部署”作为差异化能力继续加强。

Milestone 进度看板

这是后续持续更新学习进度的主表。每完成一个 milestone,不只勾选状态,还要补上证据:代码仓库、实验截图、指标表、博客文章或复盘结论。

Milestone建议周期状态完成度验收产出证据链接 / 笔记
M0:定位与环境基线第 1 周[ ] 未开始 [x] 进行中 [ ] 完成10%能在本机或云 GPU 跑通一个开源 LLM 推理样例当前已完成学习规划
M1:Python、数学与 PyTorch 基础第 2-4 周[ ] 未开始 [ ] 进行中 [ ] 完成0%独立写出训练循环,并解释 loss、梯度、优化器和过拟合
M2:NLP 与 Transformer 基础第 5-8 周[ ] 未开始 [ ] 进行中 [ ] 完成0%实现一个 mini decoder-only Transformer 或完成逐行阅读笔记
M3:LLM 推理、Prompt 与工具调用第 9-10 周[ ] 未开始 [ ] 进行中 [ ] 完成0%建立一套 prompt 测试集,能稳定输出结构化结果
M4:RAG 与评估体系第 11-14 周[ ] 未开始 [ ] 进行中 [ ] 完成0%做出一个带 retrieval/generation eval 的知识库问答系统
M5:SFT、PEFT 与数据工程第 15-19 周[ ] 未开始 [ ] 进行中 [ ] 完成0%使用 LoRA/QLoRA 完成一次领域微调并写实验报告
M6:偏好优化与后训练第 20-23 周[ ] 未开始 [ ] 进行中 [ ] 完成0%完成 DPO 或 GRPO toy experiment,说明偏好数据如何影响输出
M7:推理服务与性能优化第 24-27 周[ ] 未开始 [ ] 进行中 [ ] 完成0%部署 OpenAI-compatible LLM 服务并完成吞吐、延迟、成本 benchmark
M8:作品集与面试闭环持续进行[ ] 未开始 [ ] 进行中 [ ] 完成0%形成 3-5 个可讲清楚 trade-off 的项目和文章

M0:定位与环境基线

这个阶段的目标不是一开始就训练大模型,而是先建立可复现实验环境。只要环境和记录方式不稳定,后面的训练、评估和复盘都会变得很混乱。

需要掌握

  • Python 环境管理:uvcondavenv 任选其一,但要能固定依赖。
  • 基础工具:Git、Linux shell、Jupyter、VS Code、CUDA/MPS 基本排障。
  • LLM 基础库:torchtransformersdatasetsacceleratepefttrl
  • 推理入口:本地小模型、云端 API、OpenAI-compatible server 至少跑通一种。

验收清单

  • 创建一个专门的 llm-learning 仓库。
  • 固定 Python 版本和依赖文件。
  • 跑通一个 tokenizer 示例,解释 token、context window、special tokens。
  • 跑通一个小模型生成示例,记录输入、输出、耗时、显存或内存占用。
  • 写一篇环境搭建和踩坑记录。

目录规划

llm-learning/
├── README.md
├── env/
├── notebooks/
├── experiments/
├── evals/
└── notes/

M1:Python、数学与 PyTorch 基础

这一阶段不追求“知道很多模型名字”,而是把训练过程拆开看清楚。以后遇到 loss 不降、显存溢出、数据泄漏、过拟合这些问题时,需要能自己定位,而不是只换框架或换模型。

需要掌握

  • Python 数据处理:迭代器、类型标注、日志、配置、单元测试。
  • 数学基础:线性代数、概率统计、信息论、微积分中与梯度相关的部分。
  • 机器学习基础:训练/验证/测试拆分,偏差方差,正则化,交叉熵,指标选择。
  • PyTorch 基础:Tensor、autograd、nn.Module、optimizer、scheduler、DataLoader、混合精度。

验收清单

  • 用 PyTorch 写一个完整训练循环,不依赖高级 trainer。
  • 画出训练集和验证集 loss 曲线,并解释是否过拟合。
  • 实现 early stopping、checkpoint、resume training。
  • 对同一模型至少做 3 次学习率或 batch size 对比实验。
  • 写一份“训练异常排查清单”:loss 不降、梯度爆炸、显存溢出、数据泄漏。

练习安排

  1. 用 sklearn 或 PyTorch 训练一个文本分类 baseline。
  2. 用纯 PyTorch 复现一个小型语言模型训练循环。
  3. 把实验配置、随机种子、指标和模型文件统一记录下来。

M2:NLP 与 Transformer 基础

Transformer 是 LLM 的核心抽象。这个阶段不希望只停留在“Self-Attention 很重要”,而是要能解释每个张量形状如何变化,以及训练和生成阶段的差异。

需要掌握

  • NLP 基础:分词、词向量、语言模型、序列标注、文本分类、问答。
  • Tokenization:BPE、WordPiece、Unigram、chat template、特殊 token。
  • Transformer:embedding、positional encoding、multi-head attention、FFN、LayerNorm、residual。
  • Decoder-only LLM:causal mask、next-token prediction、KV cache、generation decoding。
  • 生成策略:greedy、beam search、temperature、top-k、top-p、repetition penalty。

验收清单

  • 画出 decoder-only Transformer 的数据流。
  • 手写 scaled dot-product attention,并验证输入输出 shape。
  • 解释 causal mask 为什么训练时并行、生成时自回归。
  • 实现一个 mini Transformer language model,哪怕只在小语料上训练。
  • 阅读并整理 Transformer、RAG、LoRA、DPO 相关论文笔记。

阅读顺序

  1. 先读课程讲义或教程,建立概念图。
  2. 再读论文摘要、方法图和实验设置。
  3. 最后复现最小可运行版本,不一开始追求完整训练规模。

M3:LLM 推理、Prompt 与工具调用

这个阶段会把 Prompt 当成可测试的工程接口,而不是凭感觉写提示词。要学会把任务定义、上下文、约束、输出格式和评估标准说清楚。

需要掌握

  • Chat message 结构:system、user、assistant、tool。
  • 输出控制:JSON schema、结构化输出、函数调用、错误重试。
  • Prompt 设计:任务说明、少样本示例、反例、边界条件、引用上下文。
  • 推理参数:temperature、top-p、max tokens、stop、seed。
  • 评估方式:黄金集、人工评分、LLM-as-judge、规则断言、回归测试。

验收清单

  • 为一个真实任务建立 30-100 条测试输入。
  • 为输出定义可机器检查的 schema。
  • 比较至少 3 版 prompt,并记录准确率、稳定性和失败样例。
  • 加入工具调用或函数调用,处理调用失败和空结果。
  • 写出“什么时候该 prompt,什么时候该 RAG,什么时候该微调”的判断规则。

判断规则

问题类型我会优先选择原因
输出格式不稳定结构化输出 / 函数调用我先约束接口,不急着训练
缺少私有知识RAG知识可更新,成本低于微调
固定风格或固定流程Prompt + eval快速迭代,容易回归测试
领域术语和输出习惯长期稳定SFT / LoRA让模型学习模式,而不是每次塞长 prompt
人类偏好难以用规则描述DPO / RLHF / GRPO用偏好数据优化排序或行为

M4:RAG 与评估体系

RAG 是最想先做出闭环的方向。它的难点不是“把文档放进向量库”,而是让检索、重排、生成和评估能互相校验。没有评估的 RAG 很容易变成“看起来能答,实际上不可控”的系统。

需要掌握

  • 文档处理:解析、清洗、切块、去重、metadata、版本管理。
  • 向量检索:embedding、相似度、召回率、top-k、hybrid search。
  • 重排:cross encoder reranker、规则 rerank、业务字段加权。
  • 生成:上下文压缩、引用来源、拒答策略、答案格式控制。
  • 评估:retrieval recall、faithfulness、answer correctness、latency、成本。

验收清单

  • 选一个知识库,例如 Obsidian、项目文档或部署文档。
  • 构造至少 50 条问题,标注答案来源文档。
  • 分别评估 chunk size、top-k、embedding model、reranker 对结果的影响。
  • 输出每次回答引用的来源片段。
  • 建立失败样例分类:没召回、召回错、上下文冲突、模型幻觉、格式错误。

项目设想

先做一个“Obsidian 知识库问答”项目:

  1. 读取 Markdown 文档,保留标题层级和路径 metadata。
  2. 将内容切块并写入 FAISS、Milvus 或 pgvector。
  3. 对每个问题返回答案、引用段落和置信度。
  4. 使用固定评估集比较不同切块和检索策略。
  5. 把失败样例写回笔记,形成下一轮优化任务。

M5:SFT、PEFT 与数据工程

进入微调阶段后,要提醒自己:微调的核心不是把训练命令跑起来,而是理解数据为什么能改变模型行为。多数微调失败不是算法失败,而是数据定义、格式、分布和评估出了问题。

需要掌握

  • 数据格式:instruction、input、output、conversation、chat template。
  • 数据质量:去重、清洗、长度分布、标签一致性、泄漏检查。
  • SFT:teacher forcing、loss mask、packing、learning rate、warmup、checkpoint。
  • PEFT:LoRA、QLoRA、rank、alpha、target modules、merge。
  • 实验诊断:训练 loss、验证 loss、样例输出、灾难性遗忘、过拟合。

验收清单

  • 构造一个 500-5000 条的领域指令数据集。
  • 写数据检查脚本,统计长度、空值、重复、异常标签。
  • 使用 LoRA/QLoRA 完成一次 SFT。
  • 设计 baseline:原始模型、prompt-only、SFT 模型对比。
  • 写实验报告,包含配置、指标、样例、失败分析和下一步计划。

实验报告模板

项目我要记录的内容
目标这次微调希望改善什么行为
数据数据来源、规模、格式、清洗规则
模型base model、上下文长度、tokenizer
训练batch size、learning rate、epoch、LoRA 参数
评估自动指标、人工评分、失败样例
结论是否值得继续扩大数据或训练规模

M6:偏好优化与后训练

这个阶段会学习如何让模型更符合偏好,而不是简单学会答案。它通常用于改善风格、安全性、帮助性、拒答边界、推理过程或多候选答案排序。

需要掌握

  • 偏好数据:chosen/rejected、pairwise ranking、rubric、标注一致性。
  • Reward modeling:奖励模型目标、过优化风险、reward hacking。
  • DPO:直接用偏好对优化策略模型,工程上比完整 RLHF 更容易入门。
  • GRPO/RLHF:理解 policy、reward、advantage、KL 约束、采样成本。
  • 安全与边界:拒答、敏感问题、越权工具调用、幻觉控制。

验收清单

  • 从一个任务中采集至少 200 组 chosen/rejected 样例。
  • 定义偏好标注规则,并记录难判样例。
  • 跑通 DPO 或 GRPO 的最小实验。
  • 比较 SFT 模型与偏好优化模型的输出差异。
  • 写出偏好优化带来的收益、代价和风险。

需要注意

偏好优化不适合拿来修复所有问题。如果模型缺少知识,优先做 RAG;如果输出格式不稳定,优先做结构化输出;如果领域任务样例不足,优先补 SFT 数据;只有当“多个可行答案之间的偏好”本身很重要时,再考虑 DPO、RLHF 或 GRPO。

M7:推理服务与性能优化

模型效果只是上线的一半。真实业务还会关心吞吐、首 token 延迟、总延迟、显存、并发、成本、稳定性和降级策略。这个阶段要从“模型能跑”推进到“服务可用”。

需要掌握

  • 推理引擎:vLLM、SGLang、TGI、llama.cpp 的定位和差异。
  • 性能概念:prefill、decode、KV cache、continuous batching、tensor parallel。
  • 压缩优化:量化、蒸馏、speculative decoding、上下文压缩。
  • 服务接口:OpenAI-compatible API、鉴权、限流、超时、重试。
  • 可观测性:请求日志、trace、token 用量、延迟分位数、错误分类。

验收清单

  • 使用 vLLM 或同类引擎部署一个 OpenAI-compatible endpoint。
  • 对不同并发、输入长度、输出长度做 benchmark。
  • 记录 TTFT、TPOT、吞吐、显存占用和错误率。
  • 设计限流、超时、fallback 和日志脱敏策略。
  • 写一份“模型上线前检查清单”。

Benchmark 记录表

模型引擎并发输入 tokens输出 tokensTTFT总延迟 P50/P95吞吐 tokens/s显存备注

M8:作品集与面试闭环

作品集不需要堆很多 demo。希望每个项目都能讲清楚“问题、方案、指标、失败、取舍”。如果一个项目只能演示,不能解释取舍,它对长期成长的帮助就有限。

作品集规划

项目我想展示的能力最低验收标准
mini Transformer 复现模型基础能解释 attention、mask、loss 和生成过程
RAG 知识库问答应用算法有评估集、引用、失败分类和优化记录
领域 LoRA 微调后训练入门有数据报告、baseline 对比和误差分析
偏好优化实验对齐理解有 chosen/rejected 数据和 DPO/GRPO 对比
vLLM 推理服务工程交付有 benchmark、限流、日志和部署说明

需要能回答的问题

  • Transformer 中 Q/K/V 的作用是什么?为什么需要 multi-head?
  • causal mask 解决什么问题?训练和生成阶段有什么不同?
  • RAG 中 chunk size、top-k、reranker 如何影响召回和幻觉?
  • 什么场景该用 prompt,什么场景该用 RAG,什么场景才需要微调?
  • LoRA 的 rank、alpha、target modules 分别影响什么?
  • SFT 后效果变差,会如何排查数据、训练和评估问题?
  • DPO 和 RLHF 的核心区别是什么?
  • vLLM 为什么能提升吞吐?KV cache 对显存有什么影响?
  • 如何设计一个 LLM 应用的离线评估和线上监控?

每周学习节奏

把每周学习固定成四类动作,避免只输入不输出。

动作时间占比执行要求
学概念25%课程、文档、论文,目标是建立概念图
写代码35%每周至少一个可运行实验
做评估25%用固定数据集比较不同方案
写复盘15%记录失败样例、指标变化和下一步

进度日志模板

后续更新学习进度时,直接复制这个模板追加到本节下面。

### YYYY-MM-DD

- Milestone:
- 本周完成:
- 关键证据:
- 指标变化:
- 主要卡点:
- 下周计划:

2026-05-20

  • Milestone:M0
  • 本周完成:创建 LLM 算法工程师学习路线和 milestone 进度看板。
  • 关键证据:本文档。
  • 指标变化:暂无。
  • 主要卡点:还需要确认每周可投入时间,并尽快搭建第一个学习仓库。
  • 下周计划:搭建 llm-learning 仓库,跑通 tokenizer 和小模型推理基线。

学习资料路径

下面这些资料按“先官方教程,再论文,再工程文档”的顺序使用。

类别资料使用方式
课程Stanford CS224N用来补 NLP、Transformer、LLM 评估和 Agent/RAG 基础
官方教程Hugging Face Transformers 文档学 tokenizer、模型加载、Trainer、生成和微调
后训练Hugging Face TRL 文档学 SFT、DPO、GRPO、Reward Modeling 等后训练方法
深度学习工程PyTorch Tutorials学训练循环、Transformer、分布式训练和性能优化
Prompt/APIOpenAI Prompt Engineering Guide学指令、上下文、输出格式和 prompt 评估
评估OpenAI Evals Guide学如何系统化构建模型输出评估
RAG 评估Ragas Evaluation学 RAG 自动评估的指标和接口
推理服务vLLM Online Serving学 OpenAI-compatible serving、并发和部署参数
论文Attention Is All You NeedTransformer 原始论文
论文Retrieval-Augmented GenerationRAG 经典论文
论文LoRAPEFT 经典论文
论文Direct Preference OptimizationDPO 经典论文

总结

技术栈总结

组件版本我会用它做什么
Python3.11 / 3.12固定项目运行环境
PyTorch当前稳定版深度学习训练和推理基础
Transformers当前稳定版模型、tokenizer、Trainer 和生成接口
Datasets / Accelerate当前稳定版数据集处理和训练加速
PEFT / TRL当前稳定版LoRA、SFT、DPO、GRPO 等微调与后训练
FAISS / Milvus / pgvector任选RAG 向量检索
Ragas / 自建 eval任选RAG 和 LLM 应用评估
vLLM当前稳定版高吞吐 LLM 推理服务
LangSmith / OpenTelemetry / 自建日志任选trace、评估和线上观测

核心步骤回顾

  1. 建立可复现实验环境,不急着训练大模型。
  2. 补齐 PyTorch、NLP 和 Transformer 基础。
  3. 用 Prompt、RAG 和 eval 做出可交付应用。
  4. 用 SFT、LoRA 和偏好优化提升模型行为。
  5. 用 vLLM、benchmark 和可观测性完成工程闭环。

下一步优化

  • 确认主攻方向:应用算法、微调后训练、推理部署或研究评测。
  • 创建 llm-learning 仓库并补充环境说明。
  • 建立第一版评估集。
  • 用 Obsidian 文档做一个 RAG baseline。
  • 每周更新一次 milestone 进度看板和进度日志。

更新时间: 2026-05-20
阅读时间: 18 分钟
适用场景: LLM 算法工程师学习规划、转岗准备、学习进度管理、作品集建设

💬 评论

主题
字体
密度
语言