tinygrad/tinygrad

You like pytorch? You like micrograd? You love tinygrad! ❤️

解決的問題

tinygrad 是一個輕量級的端對端深度學習堆疊,旨在介於 micrograd 的簡潔性與 PyTorch 的功能豐富性之間取得平衡。它提供一個可被修改的透明編譯器與 IR(中間表示),讓使用者能看見並修改各種硬體加速器上如何產生與執行核心(kernel)。

工作原理

結合類似 PyTorch 的即時(eager)張量 API 與受 JAX 啟發的基於 IR 的自動微分系統。該框架採用「延遲」(laziness)方法,將多個運算融合為單一核心以優化效能。它包含 JIT(即時)編譯器、圖執行,以及完整的神經網路原語(nn、optim、datasets),可用於訓練真實模型。

適用對象

希望使用一個易於閱讀、可修改且透明的深度學習框架,而非複雜的「黑箱」型工業框架的研究人員、開發者與學生。

特色亮點

  • 端對端堆疊:從張量庫、autograd 到 IR、編譯器與神經網路層,一應俱全。
  • 廣泛的加速器支援:支援多種後端,包括 CUDA、Metal、OpenCL、CPU、AMD、NV、QCOM 與 WebGPU。
  • 透明編譯器:整個編譯器與 IR 均可視,讓使用者更容易真正理解深度學習運算如何被降低至硬體層級。
  • linhas 高效:刻意保持小巧且易讀,以降低複雜性。

相關

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