Skip to content

llm.c — 學習索引 ​

專案概述 ​

GPT-2/GPT-3 訓練框架,純 C/CUDA 實作,無 PyTorch 依賴。

學習目標摘要 ​

  • 理解 GPU 並行運算在大模型訓練中的底層實作
  • 掌握 CUDA kernel 設計:Grid/Block/Warp 結構與記憶體合併
  • 學習用 C + CUDA 實現高效能 Transformer 訓練(效能超越 PyTorch)

前置知識 ​

  • C/C++ 程式基礎
  • 基本的 CUDA 概念(可選,文件有入門解說)
  • llm.c 之前的階段(Transformer 架構、反向傳播)

關鍵概念 ​

  • CUDA Kernel:GPU 上的最小執行單位
  • Grid / Block / Warp:GPU 並行運算的層級結構
  • 記憶體合併(Memory Coalescing):最佳化 GPU 記憶體存取
  • Kernel Fusion:合併多個運算減少記憶體來回
  • Mixed Precision Training:FP16/BF16 混合精度訓練
  • CuBLAS / CuDNN:NVIDIA 加速庫的使用

筆記 ​

筆記說明
llmc-01-閱讀摘要專案定位、核心架構、訓練流程
llmc-02-文件重點技術細節:CUDA kernel、記憶體管理、多 GPU
llmc-03-閱讀心得個人反思與啟發
llmc-04-閱讀評論優缺點分析、與 nanoGPT 比較
llmc-05-程式碼逐行解讀LayerNorm forward/backward、CUDA kernel、Transformer block
llmc-06-概念卡片CUDA → Grid/Block/Warp、記憶體合併、Kernel Fusion
llmc-07-Q&A問答集關於 CUDA 優化與訓練流程的常見問題
llmc-08-實驗紀錄建置指南、硬體需求、CLI 參數
llmc-09-延伸資源論文、影片、相關專案、語言移植
llmc-10-詞彙對照表中英詞彙對照

原文檔案 ​

翻譯 ​

學習路徑建議 ​

  1. 先讀 llmc-01-閱讀摘要 了解全貌
  2. 看 llmc-05-程式碼逐行解讀 理解程式運作
  3. 閱讀 doc/layernorm/layernorm.md 做第一個實作練習
  4. 透過 llmc-06-概念卡片 補強 CUDA 知識
  5. 實機操作 llmc-08-實驗紀錄 建置與訓練

外部連結 ​