TrenTorch/TrenTorch

Learn PyTorch by building your own. (inspired from Harvard's TinyTorch)

Tren⚡Torch – 從零開始學習的機器學習框架

是什麼 – TrenTorch 是一個完全基於 NumPy 的開源教育型深度學習庫。它重現了經典的 TinyTorch 課程(哈佛 CS249r),並擴展了更多模組,從基礎張量一路到完整的 Transformer 模型、效能分析、量化與基準測試。程式碼庫不包含任何外部深度學習相依性(無 PyTorch、TensorFlow、JAX 等);所有運算、自動微分引擎、優化器與層皆手寫完成。

為何存在 – 創作者希望學習者能真正「擁有」現代 ML 堆疊的每一部分。透過自行建構框架,他們能清楚理解 loss.backward() 如何運作、記憶體如何配置,以及生產級最佳化如何應用。此專案定位為一個進階式課程:從張量開始,逐步加入卷積、注意力機制,最終達成 LLM 操作。


核心功能(如 README 所述)

領域 你將獲得
基礎(模組 01–08) 張量類別、激活函數、線性層、損失函數、資料載入器、自動微分、優化器(SGD、Adam、AdamW、Lion、Muon)、訓練迴圈。
視覺(模組 09) Conv2dMaxPool2d、可在標準影像基準上執行的完整 CNN 流程。
語言(模組 10–13) 分詞器、嵌入層、多頭注意力、GPT 風格語言模型用的完整 Transformer 模組。
優化(模組 14–20) 性能分析工具、量化、剪枝與蒸餾、硬體特定加速輔助、KV 快取記憶化、基準測試套件,以及整合所有內容的畢業專案。
CLI(tren 一個命令列介面,可架構模組工作流程、執行里程碑、匯出模型並啟動 Jupyter 筆記本。
歷史里程碑 腳本可讓你使用剛建構的框架重現標誌性成就(感知機、XOR、反向傳播、CNN、Transformer、MLPerf 風格基準測試)。

快速安裝

# 克隆並設定虛擬環境
git clone https://github.com/TrenTorch/TrenTorch.git
cd TrenTorch
python3 -m venv .venv
source .venv/bin/activate   # Windows 上使用 .venv\Scripts\Activate.ps1
pip install -r requirements.txt
pip install -e .            # 以可編輯模式安裝套件
tren setup   # 將 `tren` 命令加入 PATH
tren          # 啟動 CLI

README 指出,在執行 tren setup 後,你可在任何終端中無需再次激活虛擬環境直接執行 tren


目標受眾與使用情境

  • 希望深入、實作理解現代深度學習框架如何建構的 學生與自學者
  • 尋找從底層張量運算到生產級 LLM 流程的進階式課程的 教育者
  • 對在極簡程式碼中進行效能分析、量化等技巧感興趣的 工程師
  • 希望使用輕量、僅依賴 NumPy 的堆疊進行實驗,避免安裝重型套件的 黑客

專案狀態

  • 所有 20 個模組均已實作,並配有單元測試與整合測試。
  • CLI、文件與里程碑腳本皆正常運作。
  • 持續工作集中在文件潤飾、邊界情況強化與效能調校。
  • 未來路線圖包含社群排行榜、更多里程碑練習與更廣泛的基準測試。

授權與社群

  • 採用 MIT 授權(寬鬆,允許商業使用)。
  • 歡迎貢獻;行為準則由 Contributor Covenant 管理。
  • Team Engineers 區段列出當前維護者,並顯示即時生成的貢獻者徽章。

總結

TrenTorch 是一個真實、持續維護的開源專案,提供一個完整的、僅依賴 NumPy 的深度學習框架,適用於學習與實驗。它文件完整、測試覆蓋率高,並組織為逐步推進的課程,最終目標是建構與優化現代模型,如 Transformer 與 LLM。

相關

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