luminal-ai/luminal
Inference at the speed of light.
何を解決するか
Luminalは、従来のディープラーニングフレームワークに見られるパフォーマンスのボトルネックと複雑性の爆発を克服することを目的としています。遅延実行(eager-first)の代わりに、事前に計算グラフを最適化する高パフォーマンスで汎用的な推論コンパイラを採用することで、実行時のオーバーヘッドを削減し、ハードウェアの利用効率を最大化します。
動作方法
Luminalはすべてのニューラルネットワークを静的計算グラフとして扱います。複雑な演算を15種類の基本演算(単項、二項、その他の演算)に分解し、最小限のコアを維持します。最適化に手動で書かれたヒューリスティクスに頼るのではなく、探索ベースのアプローチを用いて最も効率的な実行パスを自動的に発見します。Flash Attentionのような最適化も自動的に発見可能です。Rustで記述されており、抽象化レイヤーを回避するためにCUDAやMetalなどのアクセラレータAPIに直接アクセスします。
対象ユーザー
最大の推論速度を必要とする開発者や研究者、およびPyTorchユーザーで、torch.compileを介してLuminalをコンパイラバックエンドとして利用したい人向けです。
特徴
- 高パフォーマンス: H100上でQ8 Llama 3 8Bを理論最大性能の約80%で実行可能。
- PyTorch統合: PyTorchモデルのコンパイラバックエンドとして動作。
- ミニマリストアーキテクチャ: 15種類の基本演算のみを備えたRISCスタイルのアーキテクチャ。
- 記号的次元: 動的形状を記号的次元でネイティブにサポートし、積極的な特殊化を可能に。
- ネイティブRust実装: ハードウェアAPIに直接アクセスする静的リンク可能なRustクレート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト