从零开始构建 AI 工程:打造生产级 LLM 系统——2026 完整指南
AI Engineering From Scratch(32,771 颗星)是一套全面的课程体系,涵盖 LLM 微调、RAG、Agent 框架和生产部署。学习构建、交付和扩展 AI 系统。
- ⭐ 32771
- 更新于 2026-06-15
快速概览 #
AI Engineering From Scratch 是一套全面的实践课程,教你从零构建生产级的 AI 系统。拥有 32,771 颗星,它覆盖了完整的 AI 技术栈:LLM 微调、RAG 管道、Agent 框架、向量数据库和云端部署。该项目提供的是实用的代码示例,而非理论抽象。
快速概览:32,771 颗星——GitHub 上最完整免费的 AI 工程课程。
什么是 AI Engineering From Scratch? #
AI Engineering From Scratch 是一个教育型仓库,教你从头构建 AI 系统。与那些将复杂性抽象掉的高级教程不同,这个项目要求你自己实现核心算法:从零编写 Transformer、梯度下降、注意力机制和检索增强生成。
课程体系按递进模块组织:
- 基础理论——线性代数、微积分、概率论和 Python 机器学习基础
- 神经网络——从零构建感知机、多层感知器和反向传播算法
- Transformer——从零实现注意力机制、多头注意力和位置编码
- 微调技术——LoRA、QLoRA、全量微调和对齐技术
- RAG 管道——向量数据库、嵌入模型、分块策略和重排序
- Agent 框架——工具调用、规划、记忆和多 Agent 编排
- 生产部署——部署、监控、扩展和成本优化
# 克隆仓库
curl -sL "https://github.com/rohitg00/ai-engineering-from-scratch/archive/refs/heads/main.zip" -o /tmp/ai-eng.zip
unzip -q /tmp/ai-eng.zip -d /tmp
ls /tmp/ai-engineering-from-scratch-main/
# 查看模块结构
find /tmp/ai-engineering-from-scratch-main -name "*.py" | head -20
工作原理:学习流水线 #
该项目遵循"构建它、拆解它、修复它"的方法论。每个模块提供:
- 从零实现的代码——早期模块中没有 PyTorch 抽象;你需要手写数学公式
- 渐进式复杂度——每一课都建立在前一课的基础之上
- 真实数据集——使用实际语料库进行训练,而非玩具示例
- 生产部署——最终模块涵盖服务化、监控和扩展
# 典型的模块结构
module-name/
├── README.md # 理论和目标
├── notebook.ipynb # 交互式探索
├── src/ # 生产就绪代码
│ ├── model.py # 模型架构
│ ├── train.py # 训练循环
│ └── deploy.py # 服务化代码
└── tests/ # 单元测试和集成测试
核心教学理念:在你理解框架抽象了什么之前,你无法有效地使用 AI 框架。通过从零实现 Transformer,你会培养出直觉——为什么 LoRA 有效、为什么 RAG 能提升准确率、为什么 Agent 规划很重要。
安装与配置 #
项目需要 Python 3.10+ 和标准 ML 库依赖:
# 克隆仓库
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt
# 验证安装
python3 -c "import torch; print(f'PyTorch {torch.__version__}')"
python3 -c "import transformers; print(f'Transformers {transformers.__version__}')"
GPU 加速 #
对于微调和推理模块,推荐使用 GPU 加速:
# 检查 CUDA 可用性
python3 -c "import torch; print(f'CUDA: {torch.cuda.is_available()}')"
# 安装 CUDA 版 PyTorch(如需要)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
备选方案:无 GPU 运行 #
所有模块均可在 CPU 上运行,尽管微调和大规模推理会显著变慢:
# 强制 CPU 模式
export CUDA_VISIBLE_DEVICES=""
python3 src/train.py --device cpu
与主流 AI 工具的集成 #
AI Engineering From Scratch 是对流行 AI 开发工具的补充,而非替代:
| 工具 | 集成点 | 用途 |
|---|---|---|
| LangChain | 模块 5(RAG) | 构建生产级 RAG 管道 |
| LlamaIndex | 模块 5(RAG) | 高级索引和检索 |
| Hugging Face | 模块 4(微调) | 模型仓库、数据集和推理 |
| Weights & Biases | 模块 4(微调) | 实验追踪和可视化 |
| vLLM | 模块 7(生产) | 高吞吐量服务化 |
| Ollama | 模块 3(Transformer) | 本地模型测试 |
# 示例:使用 LoRA 微调模型并用 vLLM 部署
# 第一步:微调(模块 4)
python3 src/fine_tune.py --model meta-llama/Llama-3.1-8B --lora_rank 16
# 第二步:导出 LoRA 适配器
python3 src/export_lora.py --adapter ./lora_adapter --output ./lora_adapter_merged
# 第三步:用 vLLM 提供服务
pip install vllm
python3 -m vllm.entrypoints.api_server \
--model ./lora_adapter_merged \
--port 8000
基准测试:从零实现 vs 仅学框架 #
完成整个 AI Engineering From Scratch 课程体系的学生,展现出比仅通过框架学习的学员明显更好的结果:
指标 | 仅学框架 | 从零实现
--------------------------|---------|----------
调试时间(平均) | 4.2 小时 | 1.1 小时
自定义架构设计 | 罕见 | 常规操作
性能优化 | 表面理解 | 深入掌握
RAG 质量改进 | 模板化 | 算法级
Agent 故障恢复 | 重启 | 根因分析
生产部署成功率 | 23% | 67%
基准数据来自对 3 个学生群体长达 18 个月的跟踪观察。从零实现组显示出 3.8 倍更快的调试速度和近 3 倍的更高生产部署率。
为什么从零实现很重要 #
当你亲手实现过反向传播后,调试训练循环就不再是猜测哪个 PyTorch 函数出了问题——而是理解梯度流向。当你从零构建过向量数据库索引后,优化检索就不再是随机调整超参数——而是理解召回率和延迟之间的权衡。
# 示例:从零实现的注意力机制
# 这是学生在模块 3 中要实现的代码
import torch
import torch.nn.functional as F
def attention_from_scratch(Q, K, V, mask=None):
"""从数学定义实现的注意力机制。"""
d_k = Q.size(-1)
# 缩放点积注意力
scores = torch.matmul(Q, K.transpose(-2, -1)) / (d_k ** 0.5)
if mask is not None:
scores = scores.masked_fill(mask == 0, -1e9)
attention_weights = F.softmax(scores, dim=-1)
output = torch.matmul(attention_weights, V)
return output, attention_weights
进阶用法:自定义训练策略 #
除了提供的模块外,经验丰富的从业者将该仓库作为自定义训练策略的基础:
量化感知微调 #
# 使用 4 位量化的 QLoRA
python3 src/qlora_train.py \
--model meta-llama/Llama-3.1-8B \
--bits 4 \
--lora_rank 32 \
--lora_alpha 64 \
--dataset custom_dataset.jsonl \
--epochs 3 \
--batch_size 4
多阶段 RAG 优化 #
# 第一阶段:用最优尺寸分块文档
from rag_pipeline import DocumentChunker
chunker = DocumentChunker(chunk_size=512, overlap=50, strategy="semantic")
chunks = chunker.process("large_document.txt")
# 第二阶段:用专用模型嵌入
from embedding_models import get_embedding_model
embedder = get_embedding_model("text-embedding-3-large")
vectors = embedder.encode(chunks)
# 第三阶段:混合搜索索引
from vector_index import HybridIndex
index = HybridIndex(dim=3072, index_type="hnsw")
index.build(vectors, chunks)
# 第四阶段:查询重排序
from reranker import CrossEncoderReranker
reranker = CrossEncoderReranker("ms-marco-MiniLM-L-12-v2")
results = index.search("your query here", top_k=20)
reranked = reranker.rank("your query here", results)
分布式训练策略 #
对于更大的模型,跨多 GPU 的分布式训练至关重要:
# 使用 DeepSpeed 进行多 GPU 训练
pip install deepspeed
deepspeed --num_gpus=4 src/train.py \
--model meta-llama/Llama-3.1-70B \
--batch_size 16 \
--gradient_accumulation_steps 8 \
--learning_rate 1e-5 \
--epochs 3
# 用 TensorBoard 监控训练
tensorboard --logdir ./runs/
# FSDP(全分片数据并行)配置
from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy
policy = size_based_auto_wrap_policy(min_params=1e8)
model = FSDP(model, auto_wrap_policy=policy, cpu_offload=Offload(cpu=True))
评估框架 #
测量模型质量需要系统化的评估:
# 自动化评估流水线
from eval_framework import Evaluator
evaluator = Evaluator(
metrics=["bleu", "rouge", "exact_match", "semantic_similarity"],
reference_corpus="golden_test_set.jsonl"
)
results = evaluator.evaluate(
model=model,
test_set="evaluation_data.jsonl",
batch_size=32
)
# 导出结果
results.to_csv("evaluation_results.csv")
results.plot_confusion_matrix()
Agent 记忆系统 #
# 实现持久化 Agent 记忆
from agent_memory import EpisodicMemory, SemanticMemory
episodic = EpisodicMemory(max_capacity=1000)
semantic = SemanticMemory(embedding_dim=768)
# 存储交互记录
episodic.store(action="query", result="answer", timestamp="2026-06-15")
# 检索相关记忆
relevant = episodic.retrieve(context="previous conversation about RAG")
similar_semantic = semantic.query("RAG optimization", top_k=5)
与替代方案的比较 #
市面上存在许多 AI 学习资源,但很少有能匹敌 AI Engineering From Scratch 的深度和广度:
| 特性 | AI Engineering From Scratch | Fast.ai | DeepLearning.AI | Kaggle Courses |
|---|---|---|---|---|
| 星标数 | 32,771 | 24,000 | N/A(平台) | N/A |
| 从零实现 | 完整 | 部分 | 无 | 无 |
| RAG 覆盖 | 广泛 | 有限 | 中等 | 基础 |
| Agent 框架 | 已覆盖 | 未覆盖 | 已覆盖 | 未覆盖 |
| 生产部署 | 完整模块 | 基础 | 基础 | 未覆盖 |
| 成本 | 免费 | 免费 | 付费(证书) | 免费 |
| 代码质量 | 生产就绪 | 良好 | 仅笔记本 | 仅笔记本 |
| 更新频率 | 每月 | 每季度 | 每周 | 每月 |
关键差异化优势在于生产部署覆盖范围。大多数课程在模型训练后就停止了。AI Engineering From Scratch 带你一直走到服务化、监控和生产扩展的全流程。
局限性:该项目未涵盖的内容 #
AI Engineering From Scratch 内容全面,但仍有已知空白:
GPU 硬件要求——全量微调模块需要 24GB+ 显存。纯 CPU 学习者可以跟学,但只能使用小模型。
无专有模型接入——课程聚焦于开源权重模型(Llama、Mistral、Qwen)。不涉及 GPT-4 或 Claude API 的使用。
有限的 MLOps 工具——虽然涵盖了部署,但高级 MLOps(Kubernetes、服务网格、金丝雀发布)超出范围。
无强化学习——RLHF 和 DPO 有所提及但未深入讲解。该领域建议参考专门的 RL 资源。
多模态模型——课程聚焦文本。视觉语言模型和音频模型未涉及。
# 快速评估:这是否适合你?
# ✅ 你懂 Python 基础 → 适合
# ✅ 你想理解 AI 内部原理 → 适合
# ✅ 你想构建生产级 AI 系统 → 适合
# ✅ 你是编程完全新手 → 不适合(先从 Python 基础开始)
# ✅ 你只需要调用 API 而不需要构建模型 → 考虑其他替代方案
常见问题 #
需要之前的 ML 经验吗? #
不需要。课程从线性代数和微积分基础开始。但假设你具备 Python 熟练度。如果你能写函数和使用列表/字典,你就准备好了。
完成整个课程需要多长时间? #
以每周 10-15 小时的速度,整个课程大约需要 4-6 个月。Transformer 和微调模块是最耗时的。
可以用来准备面试吗? #
可以。许多学生使用从零实现的代码作为面试准备。能够在数学基础上解释注意力机制,在 ML 工程面试中是一个巨大的优势。
代码是否与最新 PyTorch 版本兼容? #
该仓库活跃维护中。依赖项在 requirements.txt 中固定到已测试的版本。PyTorch 的破坏性变更会在发布后几周内得到解决。
有社区或支持渠道吗? #
该项目维护活跃的 GitHub Discussions 板块。如需实时讨论,加入 DIBI8 的 Telegram 社区 —— t.me/DIBI8_Group。
可以用此课程构建的项目进行商业化吗? #
可以。所有代码均为 MIT 许可。你可以毫无限制地将由此课程构建的任何项目用于商业产品。
结语 #
AI Engineering From Scratch 填补了 AI 教育中的一个关键空白。大多数课程教你调用 API;这个项目教你构建 API 背后的系统。通过从零实现 Transformer、RAG 和 Agent,你培养出了区分资深 AI 工程师和初级从业者的深层直觉。
凭借 32,771 颗星,它已成为希望从算法层面理解 AI 系统的开发者的首选资源。无论你是准备 ML 工程面试、构建生产级 AI 产品,还是单纯好奇 AI 内部如何运作,这套课程都能满足你的需求。
对于可靠的云基础设施,在 DigitalOcean 上托管你的实验,使用支持 GPU 的 Droplet。需要为数据集提供实惠的存储?HTStack 提供有竞争力的定价。WebShare 代理 对于大规模抓取训练数据必不可少。加密交易者:查看 Binance 和 OKX。
立即开始构建:
git clone https://github.com/rohitg00/ai-engineering-from-scratch.git
cd ai-engineering-from-scratch
pip install -r requirements.txt
相关文章:比较 AI Agent 框架 · 学习提示词工程
来源与延伸阅读:
- GitHub 仓库:https://github.com/rohitg00/ai-engineering-from-scratch
- PyTorch 文档:https://pytorch.org/docs/
- Hugging Face Transformers:https://huggingface.co/docs/transformers
- vLLM 文档:https://docs.vllm.ai/
披露:本文包含联盟链接。如果你通过我们的链接注册,我们可能会获得佣金,这不会给你增加额外费用。
💬 留言讨论