從零搭建大模型的繁體中文路線圖:llms-from-scratch-cn 的內容、限制與適用對象
仅需Python基础,从0构建大语言模型;从0逐步构建GLM4\Llama3\RWKV6, 深入理解大模型原理
秒懂
- 它是什麼?
- 這個 Datawhale 專案以 Jupyter Notebook 形式,從 Python 基礎出發逐步建構 GPT 風格模型,並延伸討論 GLM、Llama 與 RWKV 的架構。本文檢視它的內容編排、實作路徑與尚待補齊的部分。
- 適合誰用?
- 想透過動手寫程式理解 Transformer 與 GPT 訓練流程的學習者,這個專案提供了結構清楚的 Notebook 路徑,尤其適合已有 Python 基礎、想補足模型內部機制的人。想直接部署或微調大型模型的人不適合,因為專案重心在架構理解,不是生產工具。
- 可以商用嗎?
- 請先確認。這個儲存庫使用的授權不在我們自動分類的範圍內,商用前請閱讀儲存庫中的 LICENSE 檔案。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 174 天前。
- 用什麼語言寫的?
- 主要是 Jupyter Notebook(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
這個專案解決什麼問題
多數大模型教材直接跳到微調或部署,模型內部的注意力機制、詞嵌入與層歸一化反而被當成黑箱。llms-from-scratch-cn 想填補的,正是從矩陣運算開始寫出一個可訓練的 GPT 風格模型。它鎖定的讀者不是研究員,而是具備 Python 基礎、想親手碰 PyTorch 的人。專案名稱裡的 from scratch 不是修辭,章節從文本資料的 token 化開始,逐步走到多頭注意力、Transformer 區塊,最後是預訓練與生成。對照組是那些直接載入預訓練權重的教學,那些資源教你怎麼用模型,這個專案教你模型內部每一層在做什麼。
內容架構:兩條路徑與架構討論區
Repository 的 README 將內容切成兩大塊。第一塊是基礎知識,改編自 rasbt 的 LLMs-from-scratch,提供 Codes 與 Translated_Book 兩種路線。Codes 路徑的 Notebook 強調簡潔,適合快速入門;Translated_Book 則提供更詳細的解說。第二塊是 Model_Architecture_Discussions,目前列出 ChatGLM3、Llama3 與 RWKV V2 到 V5 的 Notebook,每個檔案由不同貢獻者維護。README 的標題提到 GLM4、Llama3 與 RWKV6,但表格中 ChatGLM3 的檔案名稱是「加載模型權重.ipynb」,RWKV 只列到 V5。這種標題與內容的落差,讀者需要自行打開檔案確認。
GPT 實作章節的具體路徑
基礎知識部分依照章節編排,從第 2 章的文本處理開始,第 3 章進入注意力機制,第 4 章實作 GPT 模型,第 5 章涵蓋預訓練與生成。每個章節目錄下都有 main-chapter-code 與 exercise-solutions,後者提供習題解答。第 4 章額外附 gpt.py,第 5 章有 train.py 與 generate.py,這些獨立檔案方便讀者離開 Notebook 環境執行。附錄 A 是 PyTorch 入門,包含 DDP-script.py,這對想嘗試多卡訓練的人是個切入點。附錄 D 則補充訓練過程的額外功能。值得注意的是,第 6 章之後的內容全部標示為「即將發布」,代表文本分類微調、RLHF 與實際應用這三塊目前是空的。
執行方式與環境假設
README 沒有提供統一的安裝指令,也沒有 requirements.txt 的連結。實際操作時,讀者需要自行建立 Python 環境、安裝 Jupyter 與 PyTorch。每個 Notebook 內部可能各自 import 套件,版本衝突的風險由使用者承擔。專案以 Jupyter Notebook 為主要格式,這意味著互動式執行是預期的工作流程。對於不熟悉 Notebook 的人,第 4 章與第 5 章提供的 .py 檔案是比較直接的替代方案。整體來說,這個專案假設你已經知道怎麼管理 Python 環境,它不教你這些基礎工具。
架構討論區的實際內容
Model_Architecture_Discussions 是這個專案有別於單純翻譯教材的地方。Llama3 的 Notebook 由 A10-research 貢獻,RWKV 系列由 Ethan-Chen-plus 撰寫,涵蓋 V2 到 V5 的演進。RWKV 作為線性注意力模型的代表,與 GPT 的二次方注意力在計算複雜度上有根本差異,這部分的 Notebook 能讓讀者看到另一條技術路線。ChatGLM3 的檔案名稱暗示它可能側重於載入權重而非從零訓練,這與其他檔案的定位不同。由於 README 對每個 Notebook 的內容描述只有一行,實際涵蓋範圍、是否包含完整訓練迴圈、能否在有限記憶體下執行,這些都無法從專案說明確認。
授權狀態與維護風險
Repository 的 LICENSE 標示為 NOASSERTION,這在 GitHub 上代表授權檔案無法被自動辨識。不過 README 中的徽章顯示 Code License 為 Apache 2.0,並連結到 LICENSE.txt。這種不一致對想商用或改作的人是個警訊,動手前應該直接打開 LICENSE.txt 確認條款。最後一次推送是 2026 年 3 月,專案仍持續活動。但第 6 章之後的內容長期標示為「即將發布」,加上架構討論區的 Notebook 由不同貢獻者各自維護,更新頻率不一,讀者可能遇到部分內容過時、部分仍在發展的情況。
替代方案與本專案的定位
最直接的替代方案是 rasbt 的英文原版 LLMs-from-scratch,這個中文專案的基礎知識部分正是改編自它。原版的優勢在於章節完整,第 6 章之後的內容已經發布,而且有對應的書籍與套件更新。中文專案的價值在於翻譯與本地化,對閱讀英文吃力的人來說門檻較低。另一個替代路線是 Hugging Face 的 Transformers 教學,它教你用現成的 Trainer 與模型類別,但抽象層級較高,不會深入矩陣運算。若你的目標是快速產出可用模型,Transformers 是更務實的選擇;若你想理解模型內部,這個專案與其英文原作才是適合的起點。
誰該用、誰不該用
適合的人有兩種。第一種是剛學完 PyTorch 基礎、想親手建構一個小型 GPT 的學生,Codes 路徑的簡潔 Notebook 能縮短摸索時間。第二種是對 RWKV 這類非 Transformer 架構感興趣的人,架構討論區提供了少見的中文教材。不適合的人包括:想直接微調 Llama3 或 GLM4 的開發者,因為這個專案不是部署指南;需要完整 RLHF 教學的人,因為第 7 章還沒發布;以及不想處理 Notebook 環境的人,因為所有內容都以 .ipynb 為主。最後,如果你對授權條款敏感,先檢查 LICENSE.txt 的實際內容再決定是否採用。
編輯結論
想透過動手寫程式理解 Transformer 與 GPT 訓練流程的學習者,這個專案提供了結構清楚的 Notebook 路徑,尤其適合已有 Python 基礎、想補足模型內部機制的人。想直接部署或微調大型模型的人不適合,因為專案重心在架構理解,不是生產工具。開始之前,先確認你接受的 PyTorch 版本與 Notebook 執行環境,因為不同章節的程式碼可能依賴特定套件版本。另外,第 6 章之後的內容仍標示為即將發布,若你的學習計畫依賴分類微調或 RLHF 章節,目前只能參考英文原作的對應部分。最後,Model_Architecture_Discussions 中的 ChatGLM3 檔案名稱是「加載模型權重」,但實際是否含完整訓練程式,需要開啟 Notebook 才能確認。
社群筆記