解索AI

解开 & 求索 你对AI的未知

AI学习 · lesson1

学习与环境准备

分章依赖、硬件建议与实践入口

关键要点

分章节准备环境硬件与依赖建议先读实践说明再跑代码

教程内容

正文来自仓库内 Markdown 快照(docs/学习与环境准备.md),与线上 GitHub 仓库非实时联动;更新教材时需替换 content/study 下对应文件。

学习与环境准备

Happy-LLM 以教程阅读为主、代码实践为辅。为了降低环境冲突,建议读者按照章节分别准备依赖,而不是在同一个环境中安装全部依赖。

1. 阅读与实践建议

  • 第 1 章到第 4 章以原理学习为主,推荐先完整阅读正文,再选择性复现代码。
  • 第 5 章到第 7 章以实践为主,建议结合章节正文、代码目录和对应依赖一起学习。
  • 如果你的设备资源有限,建议优先复现第 5 章的手写实现,以及第 6 章中的数据处理与单卡调试流程。

2. 分章环境说明

章节主要内容依赖文件硬件建议
第二章 Transformer 架构Transformer 手写实现./chapter2/code/requirements.txtCPU 或单卡 GPU
第五章 动手搭建大模型手写 LLaMA2、Tokenizer、预训练与 SFT./chapter5/code/requirements.txt单卡 GPU,部分步骤可先在 CPU 调试
第六章 大模型训练流程实践Transformers、DeepSpeed、PEFT 训练实践./chapter6/code/requirements.txt建议多卡 GPU,最小可从小样本和单卡调试开始
第七章 大模型应用 - RAG检索增强生成./chapter7/RAG/requirements.txtCPU 可体验,向量检索建议预留更多内存
第七章 大模型应用 - Agent智能体与工具调用./chapter7/Agent/requirements.txtCPU 可体验,联网能力按具体工具配置

3. 通用准备步骤

建议使用 Python 3.10 或 3.11,并为不同章节创建独立虚拟环境。以第六章为例,可以按如下方式准备:

python -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r ./docs/chapter6/code/requirements.txt

如果你需要复现其他章节,请将最后一行中的依赖文件替换为该章节对应的 requirements.txt

4. 第六章快速开始

第六章正文聚焦 Pretrain、SFT 和高效微调三条主线,建议和 ./chapter6/readme.md 一起阅读。代码目录位于 ./chapter6/code

推荐按以下顺序实践:

  1. 先阅读 ./chapter6/readme.md,明确模型、数据和脚本入口。
  2. 使用 ./chapter6/code/download_model.py 下载基座模型。
  3. 使用 ./chapter6/code/download_dataset.py 下载或准备训练数据。
  4. 先用小样本调试 ./chapter6/code/pretrain.py./chapter6/code/finetune.py
  5. 最后再结合 ./chapter6/code/pretrain.sh./chapter6/code/finetune.sh 进行完整训练。

需要注意的是,脚本中的 autodl-tmp 路径、显卡编号和 DeepSpeed 参数都是示例配置,正式运行前请根据本地环境自行调整。

5. 常见问题

5.1 为什么不提供统一的根目录依赖?

本项目覆盖从原理实现到训练框架、再到 RAG 与 Agent 应用的完整链路,不同章节的依赖差异较大。按章节拆分依赖,能够减少版本冲突,也更符合教程式学习场景。

5.2 没有多卡 GPU 是否还能学习第六章?

可以。建议先阅读正文理解训练流程,再使用小样本、较小 batch size 或单卡环境调试数据处理和训练脚本。即便无法完整复现多卡训练,也不影响掌握整体思路。

5.3 从哪一章开始动手最合适?

如果你偏向理解底层实现,建议从第 5 章开始;如果你更关注工业界常用训练框架,建议先完成第 1 章到第 4 章的基础阅读,再进入第 6 章和第 7 章的实践部分。

状态:未学习