burn: 多様なハードウェアにわたるシームレスなトレーニングと推論のための統合されたRustディープラーニングフレームワーク
burn: 多様なハードウェアにわたるシームレスなトレーニングと推論のための統合されたRustディープラーニングフレームワーク
何を解決するか
Burnは、AIモデルのトレーニングと本番環境へのデプロイメントの間の断片化に対処します。従来、モデルはPythonでトレーニングされた後、ONNXのような形式にエクスポートされたり、特定のエンジン(例:vLLM、TensorRT)向けに最適化されたりしますが、このプロセスはしばしば脆弱で、情報の損失を伴います。Burnは、トレーニングと推論の両方にRustの単一のコードベースを提供することでこれを統合し、シームレスな移行を可能にし、オンデバイスのパーソナライゼーションや連合学習のような高度なユースケースをサポートします。
仕組み
Burnは、マルチプラットフォームのテンソル操作に対して統一されたAPIを使用するテンソルライブラリおよびディープラーニングフレームワークです。PyTorchの直感的なエルゴノミクス(動的な形状とグラフ)と、JITコンパイルおよび自動カーネルフュージョンのパフォーマンスを組み合わせています。
そのアーキテクチャはBackendトレイトに基づいており、異なる計算エンジンに対してジェネリックに扱うことができます。「バックエンドデコレーター」を使用して機能を追加します:
- Autodiff: 任意のベースバックエンドに誤差逆伝播(バックプロパゲーション)機能を追加します。
- Fusion: パフォーマンス向上のため、加速されたバックエンドに対してカーネルフュージョンを有効にします。
- Remote: 分散コンピューティングのために、テンソル操作をリモートサーバー上で実行することを可能にします。
対象者
- AI研究者: Pythonのようなフィードバックループ(高速な増分コンパイル)を求めつつ、Rustの安全性と速度を必要とする方。
- MLエンジニア: コードを書き直すことなく、多様なハードウェア(組み込みの
no_stdデバイスから大規模なGPUクラスターまで)にモデルをデプロイする必要がある方。 - 開発者: 完全なオープンソースのRustベースのAIエコシステムを探している方。
ハイライト
- 統合されたワークフロー: トレーニングと本番環境の推論に全く同じコードを使用できます。
- 幅広いハードウェアサポート: CUDA、ROCm、Metal、Vulkan、WebGPU、およびCPU(ベアメタル用の
no_stdを含む)をサポートしています。 - 相互運用性: ONNX、PyTorch、またはSafetensorsからモデルをインポートできます。
- 開発者体験: リアルタイムのトレーニング監視のための組み込みのターミナルUIダッシュボードが含まれています。
- Web対応: WebAssemblyとWebGPUを介して、ブラウザ内で直接推論を実行することが可能です。
Sources
- undefinedtracel-ai/burn