EXO:アイドル状態の家庭用デバイスを使用して分散AIクラスタを実行し、複数の推論エンジンとデバイスの自動検出をサポートする。
はじめに
Exoは、日常的なデバイス(iPhone、iPad、Android、Mac、Linuxなど)を使用して独自のAIクラスタを実行することを目的としたオープンソースプロジェクトです。動的なモデルのパーティショニングと自動化されたデバイスの発見により、Exoは複数のデバイスを単一の強力なGPUに統合することができ、LLaMA、Mistral、LlaVA、Qwen、Deepseekなどの複数のモデルをサポートしています。また、ExoはChatGPT互換のAPIを提供し、ユーザーが独自のハードウェア上でモデルを簡単に実行できるようにしています。

機能一覧
- 幅広いモデルのサポートLLaMA、Mistral、LlaVA、Qwen、Deepseekなど幅広い機種に対応。
- 動的モデル分割現在のネットワーク・トポロジーとデバイス・リソースに基づいてモデル分割を最適化します。
- デバイスの自動検出手動で設定することなく、自動的に他のデバイスを検出します。
- ChatGPT互換APIChatGPTと互換性のあるAPIを提供し、独自のハードウェアでモデルを実行できるようにします。
- 設備平等デバイス同士はポイント・ツー・ポイントで接続され、マスター・スレーブ方式ではありません。
- 複数のパーティショニング戦略リングメモリ加重パーティショニングなど、さまざまなパーティショニング戦略をサポート。
ヘルプの使用
ヘルプの使用
設置プロセス
- 予備::- Pythonのバージョンが3.12.0以上であることを確認してください。
- Linuxを使用し、NVIDIA GPUをサポートしている場合は、NVIDIAドライバ、CUDAツールキット、cuDNNライブラリをインストールします。
 
- ソースからのインストール::- クローニング・プロジェクトgit clone https://github.com/exo-explore/exo.git
- プロジェクト・カタログにアクセスする:cd exo
- 依存関係をインストールします:pip install -e .
- あるいは、仮想環境を使ってインストールする:source install.sh
 
- クローニング・プロジェクト
機能 操作の流れ
- 運用モデル::- 複数のmacOSデバイスでサンプルを実行する:- 設備 1:exo
- 設備 2:exo
- Exoは自動的に他のデバイスを検出し、ChatGPTのようなWebUIを起動します。http://localhost:52415.
 
- 設備 1:
- 単一のデバイスでサンプルを実行する:- コマンドを使う:exo run llama-3.2-3b
- カスタムプロンプトを使用する:exo run llama-3.2-3b --prompt "What is the meaning of exo?"
 
- コマンドを使う:
 
- 複数のmacOSデバイスでサンプルを実行する:
- モデル・ストレージ::- デフォルトでは、モデルは~/.cache/huggingface/hub.
- これは、環境変数HF_HOMEをクリックしてモデルの保存場所を変更します。
 
- デフォルトでは、モデルは
- テスト中にコンポーネントを調整する::- 環境変数の使用DEBUG(0-9) デバッグログを有効にする:DEBUG=9 exo
- tinygrad推論エンジンには、別のデバッグ・フラグを使用する。TINYGRAD_DEBUG(1-6):TINYGRAD_DEBUG=2 exo
 
- 環境変数の使用
- フォーマットコード::- 利用するyapfフォーマットコード:- インストールフォーマットの要件:pip3 install -e '.[formatting]'
- フォーマットスクリプトを実行する:python3 format.py ./exo
 
- インストールフォーマットの要件:
 
- 利用する
使用方法
- EXOの立ち上げ::
   exo
EXOは、追加設定なしで自動的に他のデバイスを検出し、接続します。
- 運用モデル::- デフォルトモデルを使用する:
 exo run llama-3.2-3b- カスタムのヒント
 exo run llama-3.2-3b --prompt "EXO的意义是什么?"
- APIの使用例::- リクエストを送信 bash
 curl http://localhost:52415/v1/chat/completions \
 -H "Content-Type: application/json" \
 -d '{
 "model": "llama-3.2-3b",
 "messages": [{"role": "user", "content": "EXO的意义是什么?"}],
 "temperature": 0.7
 }'
 
- リクエストを送信 
パフォーマンス最適化
- macOSユーザー::- macOSの最新バージョンにアップグレードする。
- うごきだす./configure_mlx.shGPUメモリ割り当ての最適化。
 
一般的な問題
- SSLエラー一部のMacOS/Pythonのバージョンでは、証明書が正しくインストールされません。以下のコマンドを実行して修正してください:
  /Applications/Python 3.x/Install Certificates.command
- デバッグ・ログデバッグログを有効にする:
  DEBUG=9 exo© 著作権表示
記事の著作権 AIシェアリングサークル  無断転載はご遠慮ください。
関連記事
コメントはありません





 日本語
日本語  简体中文
简体中文  English
English  한국어
한국어  Русский
Русский  Español
Español