Skip to content

yangfch3/llm01

Repository files navigation

llm01

LLM 入门课件 + Echo 对话模型双线产出。

是什么

双线产出:

  • 入门课件 + 配套练习:从 PyTorch / 数学基础到 Transformer 全链路 LLM 知识
  • Echo 对话模型:双产物
    • echo-mini:从零 Pretrain → SFT 全链路走通的迷你模型(教学价值)
    • echo:基于开源底座 SFT/DPO 出来的可对话模型(实用价值)

详细愿景与决策见 Doc/DesignDoc/00-startup-proposal.md

快速开始

前置

  • Python 3.12(minor 锁定,patch 由本地 pyenv/uv 选)
  • uv(依赖管理)
  • 系统环境:
    • Windows: CUDA 12+, 显存 8G+
    • Linux: CUDA 12+, 显存 8G+
    • macOS: Apple Silicon(MPS)

安装

# Windows
uv sync --extra dev --extra courseware --extra echo-mini --extra echo --extra train-cuda

# Mac (Apple Silicon)
uv sync --extra dev --extra courseware --extra echo-mini --extra echo --extra train-mps

# Linux
uv sync --extra dev --extra courseware --extra echo-mini --extra echo --extra train-cuda

自检

每次切换机器、上机第一件事:

uv run python scripts/doctor.py

文档站

线上阅读https://yangfch3.github.io/llm01/

本地站点:见 Misc/mkdocs/README.md

跨平台协同

  • 训练生产配置锁 Windows,Mac 跑 tiny 配置做代码验证
  • 学习/编码/推理/量化/部署 双端等价
  • Linux CUDA 12+ 下也已验证全流程(学习/编码/推理/量化/部署)可跑
  • 切机器前注意执行上方的自检uv sync

学习路径

阶段 内容
M1 PyTorch + 浅层数学 + 神经网络基础(ch01–ch04)
M2 注意力 + Transformer 架构 + 生成策略(ch05–ch07)
M3 分词器 / 预训练 / SFT / 对齐 / 评测 / 部署(ch08–ch13)
M4 echo-mini 全链路落地
M5 echo 微调落地
M6 对齐与量化部署
flowchart LR
    M1["M1<br/>PyTorch + 数学<br/>ch01-ch04"] --> M2["M2<br/>Transformer<br/>ch05-ch07"]
    M2 --> M3["M3<br/>LLM 全链路理论<br/>ch08-ch13"]
    M3 --> M4["M4<br/>echo-mini<br/>从零 Pretrain+SFT"]
    M3 --> M5["M5<br/>echo<br/>底座 SFT/DPO"]
    M4 --> M6["M6<br/>量化 + 部署<br/>GGUF + Ollama"]
    M5 --> M6
Loading

推荐:全链路走完后,再回看一遍文档站的课件(M1-M3),你将对整个 LLM 知识体系、全链路有更深刻的认知。

Echo 成果展示

User: "写一句晚安祝福"
Echo: 晚安,希望你今天过得充实快乐。

User: 10 * 5 + 4 = ?
Echo: 10 * 5 + 4 = 54

User: 熊猫主要吃什么?
Echo: 熊猫主要以竹子为食,它们是食竹动物。熊猫的消化系统特别适合消化竹子,因为它们的胃中有一种特殊的细菌,可以分解竹子中的纤维素。熊猫通常每天吃18-20磅(8-9千克)的竹子,它们会花费大部分时间在树上,用它们的牙齿和爪子撕开竹子。熊猫是独居动物,它们通常独自生活,只有在繁殖季节才会与伴侣在一起。熊猫是濒危物种,它们的数量正在下降,因此保护它们的栖息地和繁殖是至关重要的。

FAQ

Q: 学习路径怎么安排?非要按 M1 → M6 顺序吗?

理论章节(M1–M3)严格顺序推进,前置缺失会很难看懂。Echo 落地(M4–M6)只要求 M3 读完。已会基础的可直接从 M3 / M4 开始。

Q: 没有 GPU / 显存不够能跑通吗?

  • 课件 + 练习(ch01–ch08):CPU 可跑
  • ch09 之后涉及训练:~~~CPU 太慢~~~ 至少 8GB 显存(练习用 tiny 配置)
  • Echo SFT/DPO 训练:12GB 显存起步,DPO 需 24GB
  • 推理 + 部署:量化后的 echo Q4_K_M 在 8GB 卡 / Apple Silicon 都能跑

Q: 训练遇到 OOM / segfault / 编码错乱怎么办?

先查 Doc/DesignDoc/troubleshooting.md,那里按时间倒序记录了所有踩过的跨平台坑(trl pyarrow segfault、Win GBK 编码、DPO 显存爆炸、SFT mode collapse 等),每条都有现象 + 根因 + 解决三段式。

Q: Win 和 Mac 都能跑吗?

能,但定位不同:训练生产配置锁 Windows(CUDA),Mac 跑 tiny 配置做代码验证;学习/编码/推理/量化/部署双端等价。详见 Doc/DesignDoc/03-sync-strategy.md

License

MIT License © 2026 yangfch3

About

LLM 入门课件 + 练习代码,配套从零训练的对话模型(全链路 + 微调开源底座)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors