elixir-nx/bumblebee

Pre-trained Neural Network models in Axon (+ 🤗 Models integration)

何を解決するか

Bumblebee は、Elixir 開発者が複雑な機械学習コードをゼロから書かずに、事前学習済みのニューラルネットワークモデルを使用できるようにします。これは Python の Transformers ライブラリに対する Elixir の対応物であり、Hugging Face Hub からモデルをシームレスにインポートして実行できるようにします。

動作方法

Bumblebee は Axon を基盤とし、Hugging Face Hub と連携してモデルの構成と学習済みパラメータをダウンロードします。ブループリント(config.json)と重み(PyTorch または Safetensors 形式)を取得し、Elixir で対応するモデル実装を構築します。テキスト処理には、Tokenizers ライブラリへのバインディングを通じて Rust で作成されたトークナイザーを利用します。

対象ユーザー

Phoenix や LiveView アプリ、または Livebook などのインタラクティブノートブックに機械学習タスク(例:テキスト分類、画像分類、テキスト生成)を統合したい Elixir 開発者。

特徴

  • Hugging Face インテグレーション:Hugging Face Hub からモデルを直接ダウンロードして実行するためのサポート。
  • ハードウェアアクセラレーション:EXLA を通じて CPU および GPU での JIT コンパイルと実行をサポート。
  • エンドツーエンドパイプライン:マスクの埋め込みなど、一般的なタスクのための高レベル API を提供。
  • クロス言語互換性:PyTorch で学習されたモデルをインポートでき、高速な Rust によるトークナイザーをサポート。

関連

  • Dispatch
  • プロジェクト
  • Dispatch
  • Dispatch
  • Dispatch