BobMcDear/attorch
A subset of PyTorch's neural network modules, written in Python using OpenAI's Triton.
解決する課題
attorchは、PyTorchのnnモジュールに代わる、読みやすく、自己完結型で、カスタマイズが容易な選択肢を提供します。開発者は、生のCUDAカーネルを記述するために必要な技術的専門知識を必要とすることなく、Tritonベースのカーネルの効率性を持ってカスタムディープラーニング演算を作成できます。
仕組み
このプロジェクトは、OpenAIのTritonを使用して純粋にPythonで書かれています。畳み込み、アテンション、さまざまな活性化関数などの幅広いニューラルネットワーク層と数学関数を実装しています。フォワードパスとバックワードパスの両方をサポートしており、トレーニングと推論の両方に適しています。統合を簡素化するために、特定のattorchモジュールが利用できない場合や、畳み込みやプーリングのようなパフォーマンスが重要な層がPyTorchによってより適切に処理される場合に、自動的にPyTorchの層を使用するフォールバックメカニズム(attorch.nn)が含まれています。
対象者
カスタムディープラーニング演算を開発したいと考えており、純粋なPyTorchの実装よりもパフォーマンスの向上を必要としているが、CUDAカーネルを書くことができない研究者や開発者向けに設計されています。
ハイライト
- Triton駆動: 高効率なGPU計算のためにOpenAIのTritonを使用しています。
- Cuda不要: CUDAコードを書くことなく、高性能なカーネルを可能にします。
- 幅広い層のサポート:
MultiheadAttention、BatchNorm、およびオプションのカーネル融合を備えたさまざまな活性化関数を含む幅広い層が含まれています。 - トレーニングと推論: フォワードパスとバックワードパスの両方を完全にサポートしています。
- PyTorch統合: 既存のPyTorchワークフローとの互換性を確保するためのフォールバックインターフェースを提供します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch
- プロジェクト