BobMcDear/attorch
A subset of PyTorch's neural network modules, written in Python using OpenAI's Triton.
解決的問題
attorch 為 PyTorch 的 nn 模組提供了一個易讀、自包含且易於修改的替代方案。它允許開發人員在無需編寫原始 CUDA 核心所需的專業技術知識的情況下,以基於 Triton 核心的效率建立自定義深度學習算子。
工作原理
該專案完全使用 OpenAI 的 Triton 編寫。它實現了各種神經網路層(如卷積、注意力機制和各種激活函數)以及數學函數。它支援前向和後向傳播,適用於訓練和推論。為了簡化整合,它包含一種回退機制(attorch.nn),當特定的 attorch 模組不可用,或者卷積和池化等對效能要求極高的層由 PyTorch 處理效果更好時,會自動使用 PyTorch 層。
適用對象
專為想要開發自定義深度學習算子,需要比純 PyTorch 實作更高的效能提升,但又無法編寫 CUDA 核心的研究人員和開發人員設計。
亮點
- Triton 驅動:使用 OpenAI 的 Triton 進行高效的 GPU 計算。
- 無需 CUDA:無需編寫 CUDA 程式碼即可實現高性能核心。
- 廣泛的層支援:包括
MultiheadAttention、BatchNorm以及具有可選核心融合功能的各種激活函數在內的廣泛層。 - 訓練與推論:完全支援前向和後向傳播。
- PyTorch 整合:提供回退介面以確保與現有 PyTorch 工作流的相容性。
相關
- 專案
- 專案
- 專案
- Dispatch
- 專案