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/*.ipynbCodes/ch03/*.ipynb
2️⃣ 模型實作 逐步實作 attention、multi-head attention、GPT 風格模型和訓練腳本的筆記本。 Codes/ch04/gpt.pyCodes/ch05/train.pyCodes/ch05/generate.py
3️⃣ 進階模型討論 載入並檢查 ChatGLM-3、Llama-3、RWKV-V2-V6、MiniCPM 等權重的架構特定筆記本。 Model_Architecture_Discussions/*/*.ipynb
4️⃣ 附錄 PyTorch 複習、分散式訓練範例、額外練習。 Codes/appendix-A/*.ipynbCodes/appendix-D/appendix-D.ipynb

✨ 主要亮點

  • 完整程式碼,涵蓋從 tokenisation 到預訓練和生成的最小 GPT 風格模型。
  • 實作筆記本,可在本地(或 Colab)執行,無需大型運算叢集。
  • 多模型涵蓋 – 相同的教學流程重複用於探索 GLM、Llama、RWKV 和 MiniCPM 架構。
  • 提供每個章節的練習解答,讓自學更簡單。
  • 開源授權 – 程式碼採用 Apache 2.0,教學內容採用 CC-BY-NC-SA 4.0。

🚀 快速開始(快速步驟)

  1. 複製儲存庫
    git clone https://github.com/datawhalechina/llms-from-scratch-cn.git
    cd llms-from-scratch-cn
    
  2. 建立 Python 環境(建議 Python 3.9+、PyTorch 2.x)。
    pip install -r requirements.txt   # 如果存在 requirements 檔案,否則安裝 torch、tqdm、numpy 等。
    
  3. 執行入門筆記本,查看最小 GPT 實作:
    jupyter notebook Codes/ch04/01_main-chapter-code/ch04.ipynb
    
  4. 依照章節順序(第 2 章 → 第 5 章)從資料載入 → attention → 完整模型 → 預訓練。
  5. 準備好後,探索 Model_Architecture_Discussions 筆記本,看看相同的概念如何映射到更大的公開模型。

📜 授權

  • 程式碼 – Apache 2.0(寬鬆,允許在其他專案中重用)。
  • 教學文字與筆記本 – Creative Commons BY-NC-SA 4.0(非商業分享,需標註)。

🙋‍♀️ 貢獻與社群

  • 開啟 issue 回報錯誤或功能請求。
  • 使用 Discussions 進行學習小組協調。
  • 歡迎透過 pull-request 貢獻;請參閱 README 中連結的 Datawhale 貢獻指南。

TL;DRLLMs From Scratch (CN) 是一套實用、中文的學習工具,讓你可以自行編寫、訓練和實驗小型 LLM,同時也提供熱門現代架構的深入筆記本。非常適合想要揭開 ChatGPT 風格模型內部運作之謎、而不想獨自閱讀抽象論文的自學者。

相關

  • 專案
  • 專案
  • 專案
  • 專案