大数跨境

从零学习 AI 与 LLM 工程:12 个开源 GitHub 仓库与进阶路线(上篇)

从零学习 AI 与 LLM 工程:12 个开源 GitHub 仓库与进阶路线(上篇) AI大模型观察站
2026-11-10
0
导读:面向有编程基础的开发者,精选 12 个开源 GitHub 仓库,串联数学、机器学习、Transformer、LLM 训练与系统工程,说明前置知识、学习重点和实践项目,帮助你按需学习、动手验证,为构建

你已经掌握了软件开发:你能够使用 API、调试生产环境问题、设计组件并交付功能。然后,你决定学习 AI 工程,打开 GitHub,却发现数以百计的仓库,涵盖机器学习、神经网络、Transformer、LLM、微调和研究论文。

该从哪里开始?

你可能会花几个星期观看教程、收藏书签,却没有构建出任何自己真正理解的东西。也可能随意选择一个 LLM 仓库,遇到陌生的数学知识和 PyTorch 代码后,觉得 AI 比想象中更难。

问题通常出在学习顺序上。

通过随机挑选 GitHub 仓库来学习 AI,就像在 Kubernetes、React Server Components、数据库内部原理和编译器设计之间跳来跳去,试图以此学习全栈开发。每个主题或许都有用,但缺少必要的前置知识会让学习进展变得异常困难。

本文将通过 12 个开源 GitHub 仓库,为你提供一条实用的学习路径,从数学和 AI 基础开始,逐步深入语言模型、训练和深度学习研究。

目标是帮助你了解每个仓库教授什么、打开它之前应该学习什么,以及之后可以构建什么。

这是 AI 工程学习系列两篇文章中的第 1 部分。本文将重点介绍基础知识;第 2 部分将转向实际 AI 应用和生产系统。

学习路径一览

你不必完成每个仓库中的所有课程。按照这个顺序学习相关章节,当你能够解释所学内容并用代码展示出来时,就可以继续下一步。


1. 机器学习数学

仓库:mml-book/mml-book.github.io (https://github.com/mml-book/mml-book.github.io)

**难度:**初级至中级

简介:《Mathematics for Machine Learning》一书的配套仓库。它涵盖数学基础,并通过示例和 notebook 将数学知识与机器学习算法联系起来。

为什么从这里开始?

模型处理的是数字、向量、矩阵和概率分布。理解这些要素的工作方式,会让你更容易掌握后续的嵌入、注意力和梯度下降等概念。

你不需要数学学位,只需要具备足够的直觉,理解代码正在计算什么。

**前置知识:**基础代数,以及动手推导公式的意愿。不需要 AI 经验。

**学习重点:**线性代数、矩阵运算、向量微积分、概率、优化,以及数学概念与线性回归和主成分分析(PCA)等算法之间的联系。

**小项目:**使用 NumPy 实现线性回归。计算预测值、衡量误差,并实现梯度下降来改进模型。

**完成这一阶段后:**你应该理解基础 ML 模型背后的数学运算,并能够在 Python 代码中识别它们。

不必在继续学习之前试图记住整本书。先学习需要的概念,之后当模型引入陌生知识时再回来查阅。

2. Microsoft AI For Beginners

仓库:microsoft/AI-For-Beginners (https://github.com/microsoft/AI-For-Beginners)

**难度:**初级

**简介:**一套适合初学者的 AI 课程,包含 24 节课、实践实验和测验。它介绍了 AI 的多个领域,包括神经网络和计算机视觉。

为什么选择这一阶段?

建立一定的数学直觉后,你需要从更宏观的角度了解 AI 和机器学习。这套课程能帮助你在专攻生成式 AI 之前,区分各种主要方法。

**前置知识:**基础编程知识。如果向量或梯度等概念让你感到陌生,可以回顾数学仓库中的内容。

**学习重点:**AI 基础、感知机、多层神经网络、过拟合、深度学习框架,以及计算机视觉和 NLP 的入门主题。

**小项目:**使用课程介绍的框架训练一个简单的图像分类器,并用未参与训练的样本评估其预测结果。

**完成这一阶段后:**你应该理解基础 ML 工作流程如何运作、神经网络如何从数据中学习,以及为什么仅凭训练准确率无法证明模型具有泛化能力。

保持项目规模小巧。你的目标是理解训练过程,而不是构建准确率最高的模型。

3. Microsoft Generative AI for Beginners

仓库:microsoft/generative-ai-for-beginners (https://github.com/microsoft/generative-ai-for-beginners)

**难度:**初级

**简介:**一套包含 21 节课的课程,将生成式 AI 概念讲解与应用构建实践相结合。在适用的情况下,示例包含 Python 和 TypeScript 实现。

为什么是现在?

你已经接触过传统 AI 和 ML 概念。现在可以探索生成式 AI,了解应用如何使用语言模型生成回答。

这个仓库也有助于将 AI 理论与你熟悉的软件开发工作联系起来。

**前置知识:**基础 Python 或 TypeScript,以及对 AI 和 LLM 的总体了解。即使你的 ML 知识有限,也可以学习入门课程。

**学习重点:**LLM 基础、模型选择、负责任的 AI、提示词工程、文本生成、开放模型、微调,以及 RAG 和 AI agent 的入门实现。

部分练习需要 API 访问权限或兼容的模型提供商,因此在选择课程前请先查看配置说明。

**小项目:**构建一个文本生成应用,接收用户指令、调用模型并显示回答。加入对无效输入和 API 调用失败的处理。

**完成这一阶段后:**你应该能够解释生成式 AI 应用如何与模型交互,并围绕这种交互构建一个可运行的小型应用。

4. Prompt Engineering Guide

仓库:dair-ai/Prompt-Engineering-Guide (https://github.com/dair-ai/Prompt-Engineering-Guide)

**难度:**初级至中级

**简介:**一个资源集合,包含有关提示词工程及相关主题的指南、论文、课程和 notebook。

为什么选择这一阶段?

在围绕 LLM 构建复杂系统之前,先了解指令和输入结构如何影响其回答。开发者通常会先写一个很长的提示词,再凭经验判断结果。这会让人难以确定某项修改为何改善或损害了输出效果。

提示词工程为你提供了一种更系统的方法来研究模型行为。

**前置知识:**熟悉通过上一个仓库接触的 LLM 应用。

**学习重点:**清晰的指令、提示词中的示例、结构化输出、面向推理的提示技巧,以及针对不同输入评估结果。

**小项目:**构建一个用于客户反馈分类的提示词实验。比较简单指令和包含示例的提示词,在同一数据集上测试两者,并记录准确率、错误预测和输出一致性。

**完成这一阶段后:**你应该能够设计受控的提示词实验,并解释为什么选择特定的提示词结构。

请记住,提示词无法保证事实准确,也无法消除模型的局限。实验应当衡量实际结果,而不是假定更复杂的提示词一定更好。

5. Maarten Grootendorst 的 LLM 课程

仓库:mlabonne/llm-course (https://github.com/mlabonne/llm-course)

**难度:**中级

**简介:**一门免费的 LLM 课程,通过学习路线图、notebook 和实践资源帮助你学习大语言模型。

课程围绕 LLM Fundamentals、The LLM Scientist 和 The LLM Engineer 组织,因此可以作为一张技能地图,帮助你了解理解和使用 LLM 所需的技能。

为什么是现在?

你已经使用过生成式 AI,也尝试过提示词实验。现在可以更系统地理解语言模型如何创建、适配和使用。

**前置知识:**基础 Python 知识,以及对神经网络的一定了解。可以使用可选的基础材料填补知识空白。

**学习重点:**分词、Transformer 架构、注意力、模型训练、微调、模型评估和 LLM 应用开发。

**小项目:**选择一个开放模型,记录其 tokenizer、上下文窗口、预期用途和基本推理行为。运行一个小型推理实验,记录改变输入或生成设置后出现的变化。

**完成这一阶段后:**你应该对 LLM 生态系统形成更清晰的认识,并知道哪些主题需要更深入地动手实现。

把这个仓库当作学习地图。你不必完成每个 notebook 才能进入下一步。

6. 从零构建 LLM

仓库:rasbt/LLMs-from-scratch (https://github.com/rasbt/LLMs-from-scratch)

**难度:**中级至高级

**简介:**Sebastian Raschka 所著《Build a Large Language Model (From Scratch)》的官方代码仓库。它会引导你实现和训练一个类似 GPT 的模型,并使用预训练模型。

为什么是现在?

使用 LLM API 时,模型内部发生的大量过程都被隐藏了。这个仓库让你有机会直接研究这些内部机制。

**前置知识:**熟练使用 Python 编程,具备基础 PyTorch 知识,并对神经网络有初步了解。必要时复习矩阵运算和梯度下降。

**学习重点:**分词、token 嵌入、位置信息、自注意力、Transformer 块、下一个 token 预测、训练循环、评估和微调。

**小项目:**使用规模有限的文本数据集实现一个小型 GPT 风格模型。检查训练损失、生成示例文本,并比较训练前后的输出。

**完成这一阶段后:**你应该能够追踪文本如何变成 token ID、经过 Transformer,并生成下一个 token 的概率分布。

你的模型最初生成的文本可能很差。这也很有价值:你可以研究数据集大小、训练时长、模型容量和采样设置的影响。

7. 从零训练 LLM

仓库:FareedKhan-dev/train-llm-from-scratch (https://github.com/FareedKhan-dev/train-llm-from-scratch)

**难度:**中级至高级

**简介:**一个语言模型训练流水线的 PyTorch 实现,涵盖从原始文本和分词到预训练、后训练、评估和聊天的全过程。

为什么在上一个仓库之后学习这个仓库?

上一个项目介绍模型的基本构件。这个仓库则提供了另一条学习训练过程的路径,其中包括将预训练模型转变为更适合遵循指令的模型的各个阶段。

**前置知识:**Python、PyTorch、基础神经网络知识,以及对分词和 Transformer 的了解。

**学习重点:**训练数据准备、下一个 token 预测、损失函数、优化、监督微调(SFT),以及偏好优化等后训练方法。

**小项目:**从仓库中最小的训练配置开始。训练一个微型模型,生成文本,然后更改一个训练参数。比较更改前后的损失和输出。

**完成这一阶段后:**你应该理解训练语言模型的主要步骤,以及后训练与预训练有何不同。

小型配置适合在硬件资源有限的情况下学习。较大规模的实验可能需要性能较强的 GPU,因此尝试之前请先查看仓库的硬件和配置指南。

8. NanoChat

仓库:karpathy/nanochat (https://github.com/karpathy/nanochat)

**难度:**高级

**简介:**Andrej Karpathy 开发的一个精简实验系统,用于训练和使用 LLM。其流水线涵盖分词、预训练、微调、评估和推理,并提供一个简单的聊天界面。

为什么选择这一阶段?

你已经了解了各个独立组件。NanoChat 让你有机会研究它们如何在一个更完整的端到端语言模型项目中组合在一起。

**前置知识:**熟练掌握 Python 和 PyTorch,了解 Transformer 基础和模型训练。熟悉 GPU 训练会有所帮助。

**学习重点:**完整的训练流水线、模型扩展、评估指标、推理、检查点,以及模型质量、计算成本和训练时间之间的权衡。

**小项目:**追踪一个请求从聊天界面进入模型推理的过程。然后运行一个受支持的小型配置,记录模型大小和硬件如何影响性能。

**完成这一阶段后:**你应该理解一个精简的类 ChatGPT 系统如何组成,以及训练和部署对话模型需要哪些组件。

不要把“小型”理解为“不费力”。NanoChat 是一个高级项目,训练较大配置仍可能需要大量 GPU 资源。它提供的 CPU 和 Apple Silicon 运行方式降低了实验工作量,但结果也会相应受到限制。

9. Hugging Face ML Intern

仓库:huggingface/ml-intern (https://github.com/huggingface/ml-intern)

**难度:**高级

**简介:**一个开源 ML 工程 agent,旨在研究各种主题,并在 Hugging Face 生态系统中处理代码相关工作,涉及模型文档、论文、数据集和计算资源。

**重要状态说明:**该仓库已归档,其托管应用和 CLI 已停用。请将其视为历史案例研究,而不是在当前工作流程中依赖的维护中工具。

为什么将它列在这里?

理解模型和训练之后,研究自动化工具如何协调研究和 ML 开发任务会很有帮助。

**前置知识:**Python、Git、基础模型概念,以及对 Hugging Face 生态系统的了解。

**学习重点:**项目如何组织研究和编码任务、如何与模型基础设施交互,以及如何使用工具完成 ML 工程工作。

**小项目:**阅读代码,追踪一项研究任务如何在 agent 中流转。找出文档、模型推理、数据集访问和代码执行分别在工作流程的哪些环节发挥作用。

**完成这一阶段后:**你应该能够讨论 ML 工程 agent 的架构,并认识到自动化 ML 工作所面临的运维挑战。

由于该项目已经停用,理解其设计后即可继续学习。对于计划交付的实现,请使用当前仍在维护的文档。

10. Harvard CS249r:机器学习系统

仓库:harvard-edge/cs249r_book (https://github.com/harvard-edge/cs249r_book)

**难度:**中级至高级

**简介:**一本教材和学习资源,重点介绍机器学习系统背后的工程原理,涵盖从单机到分布式基础设施的内容。

为什么是现在?

能够成功训练的模型只是 AI 系统的一部分。模型大小、内存使用量、推理延迟、吞吐量和部署约束都会影响你能用它完成什么。

这个仓库有助于将模型知识与系统工程联系起来。

**前置知识:**基础 ML 和神经网络知识。熟悉 GPU 和部署会有所帮助,但你也可以在学习过程中逐步掌握这些主题。

**学习重点:**训练和推理系统、硬件约束、量化、内存层次结构、KV-cache 的行为、GPU 利用率和扩展性。

**小项目:**在纸上设计一个简单的推理服务。估算模型的内存需求,找出可能的延迟瓶颈,并说明在优化之前需要测量什么。

**完成这一阶段后:**你应该能够分析 ML 模型作为软件系统运行时产生的成本和约束。

11. 带注释的深度学习论文实现

仓库:labmlai/annotated_deep_learning_paper_implementations (https://github.com/labmlai/annotated_deep_learning_paper_implementations)

**难度:**高级

**简介:**一个深度学习论文的 PyTorch 实现集合,附有文档说明,涵盖 Transformer 变体、注意力机制、优化器、生成模型和强化学习算法。

为什么是现在?

你已经构建过模型并学习了训练过程。现在可以将研究论文中的概念与可运行的实现进行比较。

**前置知识:**PyTorch、神经网络基础,以及对注意力和 Transformer 的了解。

**学习重点:**将公式转换为张量运算、理解架构选择、追踪前向传播,以及研究不同方法如何改变模型。

**小项目:**选择一个与注意力或位置编码相关的实现。阅读论文中的相关章节,追踪对应代码,并绘制一张小图,展示张量如何流经该实现。

**完成这一阶段后:**你应该能够更加自如地在研究论文和实践代码之间切换。

不要按顺序阅读每个实现。选择一篇与你已经构建过的内容相关的论文,然后利用其实现解答具体问题。

12. 从零学习 AI 工程

仓库:rohitg00/ai-engineering-from-scratch (https://github.com/rohitg00/ai-engineering-from-scratch)

**难度:**初级至高级,取决于所选学习路径

**简介:**一套内容广泛、结构化的课程,涵盖数学、机器学习、深度学习、语言模型、AI 工程、agent 和生产环境主题。它包含课程以及多种编程语言的可执行代码。

为什么以它收尾?

这套课程可以帮助你串联前面各个仓库中的主题,并找出理解上的空白。它还提供了一条继续学习的路径,通向第 2 部分将介绍的应用工程主题。

**前置知识:**基础编程知识。根据自己的经验选择起点,不要试图一次完成整套课程。

**学习重点:**回顾数学基础、ML 工作流程、Transformer、LLM 内部机制,以及模型与更大型 AI 系统之间的联系。

**小项目:**重新构建一个此前完成过的小型语言模型实验。记录数据流水线、模型架构、训练配置、评估方法和已知局限。

**完成这一阶段后:**你应该更加清楚自己的优势、仍需学习的概念,以及接下来要着手的实践项目。

有选择地使用这套课程。它的内容十分丰富,因此应学习相关阶段,而不是把每节课都当作必修内容。

如何利用这些仓库学习

学习顺序很重要,但学习方法同样重要。

在整个学习路线中使用以下循环:

学习 → 构建 → 实验 → 阅读 → 重复

学习

阅读某个概念对应的课程或文档。重点理解它解决的问题及其背后的基本机制。

例如,学习注意力时,先理解模型为什么需要权衡 token 之间的关系,然后再研究底层运算。

构建

编写或运行一个小型实现。避免在不理解的情况下复制代码。

更改一个变量、检查张量的形状,或添加一条打印语句来追踪计算过程。调试是学习模型的一部分。

实验

每次只改变一个变量,然后观察结果。根据具体情况,比较训练损失、生成的文本、评估结果或推理延迟。

记录你的预期、实际发生的情况以及学到了什么。这样就能把教程变成一个日后可以解释的实验。

阅读

当你有了具体问题后,再回到相关文档或研究论文。在代码中见过相关概念之后,你对论文的理解会有所不同。

重复

学习下一个概念,并在新的实现暴露知识缺口时回顾之前的内容。

一个实用的原则是,在整个学习过程中持续维护一个小项目。随着知识增长不断扩展它,而不是启动十二个互不相关的项目。

构建 AI 应用之前,需要精通数学吗?

不需要。你只需要掌握足以理解当前任务的数学知识,并且可以在实践过程中逐步加深理解。

例如,你可以调用托管的 LLM API 并构建一个基础应用,而不必推导 Transformer 公式。当你开始研究或实现模型内部机制时,就需要更深入地理解分词、嵌入、注意力和训练。

采用两条并行的学习路线:

  • **实践路线:**从仓库 #3 中的简单生成式 AI 应用开始。学习模型 API、提示词、输入验证和错误处理。

  • **理论路线:**学习仓库 #1 和 #2 中相关的数学和 ML 概念。当 LLM 学习材料引入陌生运算时,再回头复习。

当你学习到仓库 #6、#7 和 #8 时,要更深入地学习理论,因为届时你将亲自实现模型。

“在构建第一个 AI 应用之前,你不需要了解 AI 的一切。你需要在正确的时间学习正确的知识。”

你的 AI 工程学习路径

把这份清单加入书签,方便随时查看。

  1. 机器学习数学:理解数学基础。

  2. Microsoft AI For Beginners:学习 AI 和 ML 核心概念。

  3. Microsoft Generative AI for Beginners:构建你的第一个生成式 AI 应用。

  4. Prompt Engineering Guide:学习系统地设计和测试提示词。

  5. LLM Course:了解 LLM 生态系统及其技术。

  6. LLMs From Scratch:实现一个 GPT 风格的模型。

  7. Train LLM From Scratch:学习预训练和后训练。

  8. NanoChat:研究端到端语言模型系统。

  9. Hugging Face ML Intern:研究 ML 工程 agent 的架构,并注意该项目已停用。

  10. Harvard CS249r:学习 ML 背后的系统工程。

  11. 带注释的深度学习论文实现:将研究论文与代码联系起来。

  12. 从零学习 AI 工程:回顾知识缺口并串联各个概念。

接下来是什么?第 2 部分:从 LLM 基础到生产环境 AI 工程

完成第 1 部分后,你应该已经掌握 ML 基础概念、生成式 AI、提示词工程、分词、Transformer 架构和模型训练过程的实用知识。你还应该具备小型模型实验和阅读实现代码的实践经验。

这些基础将帮助你进入下一阶段,学习如何构建实用的 AI 驱动软件。

第 2 部分将重点介绍:

  • 通过 API 和模型服务工具集成 LLM。

  • 构建检索增强生成(RAG)系统。

  • 设计 AI agent,并通过 MCP 工作流程连接工具。

  • 构建完整的 AI 应用并评估其行为。

  • 将系统设计原则应用于生产环境中的 AI 系统,包括可靠性、成本、延迟和可观测性。

你不需要完成全部十二个仓库的学习才能继续前进。完成适合当前水平的练习,构建一个可以展示的作品,并记录仍需学习的内容。

今天就从仓库 #1 开始。学习一个概念,实现一个小练习,当你能够解释代码的作用时再继续前进。这比再收藏一百个 AI 书签更能帮助你取得进步。

感谢阅读!

希望你觉得本文有帮助、有收获。如果你有任何问题或反馈,欢迎在下方留言。你的支持和参与对我意义重大。

编码愉快!


【声明】内容源于网络
0
0
AI大模型观察站
专注于人工智能大模型的最新进展,涵盖Transformer架构、LLM训练优化、推理加速、多模态应用等核心技术领域。通过深度解析论文、开源项目和行业动态,揭示大模型技术的演进趋势,助力开发者、研究者和AI爱好者把握前沿创新。
内容 451
粉丝 0
AI大模型观察站 专注于人工智能大模型的最新进展,涵盖Transformer架构、LLM训练优化、推理加速、多模态应用等核心技术领域。通过深度解析论文、开源项目和行业动态,揭示大模型技术的演进趋势,助力开发者、研究者和AI爱好者把握前沿创新。
总阅读19.0k
粉丝0
内容451