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 と統合してモデルの構成と学習済みパラメータをダウンロードします。PyTorch および Safetensors 形式のモデルのインポートをサポートしています。効率的なモデル実行には、CPU や GPU 上での JIT コンパイルと実行に EXLA を使用しています。

対象ユーザー

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

特徴

  • Hugging Face 統合: 数行のコードで Hugging Face Hub からモデルとトークナイザーを直接読み込み可能。
  • ハードウェアアクセラレーション: EXLA を通じた GPU 実行をサポート。
  • エンドツーエンドのパイプライン: 一般的なタスク(例:Bumblebee.Text.fill_mask)用の高レベル API と、簡単なデプロイ用のサービングパイプラインを提供。
  • 広範なモデル対応: BERT や Stable Diffusion など、さまざまなニューラルネットワークアーキテクチャを実装しており、対応する事前学習済み重みをロード可能。

関連

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