Ollama Minions: ハイブリッドなローカルおよびクラウドLLMのコラボレーション

Stanford Hazy Researchの研究者たちは、他の専門家と協力して、LLMワークロードの大部分をクラウドからコンシューマーデバイスへと移行させる手法を開発しました。Ollama経由で実行されるLlama 3.2のような小型のオンデバイスモデルが、GPT-4oのような大規模なクラウドベースのモデルと連携できるようにすることで、このフレームワークは出力品質への影響を最小限に抑えつつ、リモート運用コストを削減します。

ハイブリッドLLMプロトコル: MinionとMinionS

このフレームワークは、コスト削減とパフォーマンス維持のバランスを最適化するために設計された、2つの異なるプロトコル構成を導入しています。

Minionプロトコル

Minionプロトコルでは、クラウドモデルが、データにアクセスできる単一のローカルモデルと自由にチャットを行うことができます。この反復的な通信は、2つのモデルが解決策に達するまで続きます。

  • コスト効率: リモートコストを30.4倍削減します。
  • パフォーマンス: クラウドモデルの元のパフォーマンスの87%を維持します。

MinionSプロトコル

MinionSプロトコルでは、クラウドモデルが複雑なタスクを小さく扱いやすいサブタスクに分解します。これらのサブタスクは、コンテキストのチャンク上で動作する小型LLMによって並列に実行されます。

  • コスト効率: リモートコストを5.7倍削減します。
  • パフォーマンス: クラウドモデルのパフォーマンスの97.9%を維持します。

技術的な実装とセットアップ

Minionsフレームワークはオープンソースプロジェクトとして利用可能です。実装には、ローカルLLMランナー(Ollama)とクラウドLLM API(OpenAI)が必要です。

インストール

環境をセットアップするには、ユーザーはリポジトリをクローンし、依存関係をインストールできます。

git clone https://github.com/HazyResearch/minions.git 
cd minions
pip install -e .

ローカルおよびクラウドの要件

  • ローカルモデル: Ollamaがインストールされており、llama3.2のようなモデルがローカルにプルされている必要があります(ollama pull llama3.2)。
  • クラウドモデル: gpt-4oのようなモデルとインターフェースするために、OpenAI APIキーが必要です。

プログラマティックな使用法

minions Pythonパッケージを使用すると、両方のプロトコルをプログラム的に実行できます。

Minionプロトコルでは、MinionクラスがOllamaClientOpenAIClientを使用してインスタンス化されます。プロセスには、タスクとコンテキストをminionオブジェクトに渡し、通信ラウンドの最大回数を指定することが含まれます。

MinionSプロトコルでは、Minionsクラスが使用されます。この構成は、Pydanticモデル(例:explanationcitationanswerスキーマの定義)を介した構造化出力に対応しており、クラウドモデルがローカルモデルを介して並列サブタスクをオーケストレートすることを可能にします。

Sources

関連

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