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