datawhalechina/llms-from-scratch-cn
仅需Python基础,从0构建大语言模型;从0逐步构建GLM4\Llama3\RWKV6, 深入理解大模型原理
📚 什麼是 LLMs From Scratch (CN)?
一個社群驅動的教學系列(中文),引導你從零開始建立大型語言模型,僅使用 PyTorch 筆記本。此儲存庫重新託管了原始 rasbt/LLMs-from-scratch 專案的內容,加入中文翻譯,並擴充課程以涵蓋多種現代架構,如 GLM-4、Llama 3 和 RWKV 系列。
🎯 目標與受眾
- 目標 – 教導開發者和研究人員 ChatGPT 風格模型如何運作、如何實作核心元件(tokeniser、attention、transformer 區塊、訓練迴圈),以及如何在他們自己的資料上訓練一個小型但功能正常的模型。
- 受眾 – 具備基本 Python/PyTorch 知識、想要透過實作、程式碼優先的方式深入了解 LLM 內部運作的人。教材以中文撰寫,並假設具備一定的程式設計背景。
📂 儲存庫如何組織
| 章節 | 你會找到的內容 | 典型檔案 |
|---|---|---|
| 1️⃣ 基礎知識 | 理論加上快速入門的簡短筆記本。 | Codes/ch02/*.ipynb、Codes/ch03/*.ipynb |
| 2️⃣ 模型實作 | 逐步實作 attention、multi-head attention、GPT 風格模型和訓練腳本的筆記本。 | Codes/ch04/gpt.py、Codes/ch05/train.py、Codes/ch05/generate.py |
| 3️⃣ 進階模型討論 | 載入並檢查 ChatGLM-3、Llama-3、RWKV-V2-V6、MiniCPM 等權重的架構特定筆記本。 | Model_Architecture_Discussions/*/*.ipynb |
| 4️⃣ 附錄 | PyTorch 複習、分散式訓練範例、額外練習。 | Codes/appendix-A/*.ipynb、Codes/appendix-D/appendix-D.ipynb |
✨ 主要亮點
- 完整程式碼,涵蓋從 tokenisation 到預訓練和生成的最小 GPT 風格模型。
- 實作筆記本,可在本地(或 Colab)執行,無需大型運算叢集。
- 多模型涵蓋 – 相同的教學流程重複用於探索 GLM、Llama、RWKV 和 MiniCPM 架構。
- 提供每個章節的練習解答,讓自學更簡單。
- 開源授權 – 程式碼採用 Apache 2.0,教學內容採用 CC-BY-NC-SA 4.0。
🚀 快速開始(快速步驟)
- 複製儲存庫
git clone https://github.com/datawhalechina/llms-from-scratch-cn.git cd llms-from-scratch-cn - 建立 Python 環境(建議 Python 3.9+、PyTorch 2.x)。
pip install -r requirements.txt # 如果存在 requirements 檔案,否則安裝 torch、tqdm、numpy 等。 - 執行入門筆記本,查看最小 GPT 實作:
jupyter notebook Codes/ch04/01_main-chapter-code/ch04.ipynb - 依照章節順序(第 2 章 → 第 5 章)從資料載入 → attention → 完整模型 → 預訓練。
- 準備好後,探索 Model_Architecture_Discussions 筆記本,看看相同的概念如何映射到更大的公開模型。
📜 授權
- 程式碼 – Apache 2.0(寬鬆,允許在其他專案中重用)。
- 教學文字與筆記本 – Creative Commons BY-NC-SA 4.0(非商業分享,需標註)。
🙋♀️ 貢獻與社群
- 開啟 issue 回報錯誤或功能請求。
- 使用 Discussions 進行學習小組協調。
- 歡迎透過 pull-request 貢獻;請參閱 README 中連結的 Datawhale 貢獻指南。
TL;DR – LLMs From Scratch (CN) 是一套實用、中文的學習工具,讓你可以自行編寫、訓練和實驗小型 LLM,同時也提供熱門現代架構的深入筆記本。非常適合想要揭開 ChatGPT 風格模型內部運作之謎、而不想獨自閱讀抽象論文的自學者。
相關
- 專案
- 專案
- 專案
- 專案