llm-beginner: 通过从零开始的实现来掌握 LLM 和 AI agent 的循序渐进式动手实践课程
llm-beginner: 通过从零开始的实现来掌握 LLM 和 AI agent 的循序渐进式动手实践课程
它解决了什么问题
该项目为初学者提供了一条结构化的、动手实践的学习路径,旨在帮助其掌握大语言模型 (LLMs) 和 AI agent。它通过引导用户完成六个循序渐进的任务,从基础的 Transformer 架构到复杂的自主编程 agent,填补了理论知识与实际实现之间的鸿沟。
它是如何运作的
用户将遵循由六个独立任务组成的课程,每个任务的设计周期为数周。学习方法强调“先从零开始编写,然后再与框架进行对比”,以确保对底层原理的深刻理解。每个任务都包含其自己的依赖项、数据下载脚本和用于验证实现的自检脚本。
- Transformer Basics: 实现用于文本分类的 self-attention 和 Transformer blocks。
- mini-GPT: 从零开始构建一个 decoder-only 模型,包括 BPE tokenization、RoPE 和 KV cache。
- SFT & DPO: 使用 LoRA 在基础模型上进行有监督微调 (Supervised Fine-Tuning) 和直接偏好优化 (Direct Preference Optimization)。
- RAG: 使用 embedding models、向量数据库 (FAISS) 和 rerankers 构建检索增强生成 (RAG) 流水线。
- Tool Agents: 实现 ReAct 循环,允许 LLMs 使用外部工具(计算器、sandboxes、APIs)。
- Coding Agents: 创建一个复杂的 agent,能够使用 MCP (Model Context Protocol)、Skills 和 Subagents 来修改本地代码并运行测试。
适合人群
具有 Python 和深度学习基础,并希望通过实践性的、代码优先的练习转向 LLM 和 AI agent 领域的学习者。
亮点
- 循序渐进的课程: 从基础架构转向高级 agentic workflows。
- 动手实践验证: 为每个任务包含
eval/run.py脚本,以提供实现正确性的即时反馈。 - 硬件门槛低: 设计为可在消费级 GPU (8GB-16GB VRAM) 或 Mac M-series 芯片上运行。
- 全面的技术栈: 涵盖了 RoPE、LoRA、DPO、RAG、ReAct 和 MCP 等现代技术。
Sources
- undefinednndl/llm-beginner