はじめに
Petalsは、BigScience Workshopによって開発されたオープンソースプロジェクトで、分散コンピューティングアプローチによって大規模言語モデル(LLM)を実行します。Llama3.1、Mixtral、Falcon、BLOOMなどのLLMを、コンシューマーグレードのGPUやGoogle Colabを使用して自宅で実行し、微調整することができます。PetalsはBitTorrentのようなアプローチを使用して、モデルのさまざまな部分を複数のユーザーのデバイスに分散し、効率的な推論と微調整を可能にします。
機能一覧
- 大規模言語モデルの実行Llama 3.1(405Bまで)、Mixtral(8x22B)、Falcon(40B以上)、BLOOM(176B)の各モデルに対応。
- 分散推論最大6トークン/秒(Llama 2 70B)、4トークン/秒(Falcon 180B)のシングルバッチ推論速度で分散ネットワークを介してモデルを実行します。
- 素早い微調整様々なタスクに対応したモデルの迅速な微調整をサポート。
- 地域主導GPUリソースを共有するユーザーのコミュニティに依存し、ユーザーは自分のGPUを提供することで、Petalsの計算能力を向上させることができます。
- 柔軟なAPI: PyTorchやTransformersに似た柔軟なAPIを提供し、カスタムパスや非表示状態の表示をサポートする。
- プライバシーデータ処理はパブリック・ネットワーク上で行われ、ユーザーは機密データを保護するためにプライベート・ネットワークを設定することができる。
ヘルプの使用
インストールと使用
- 依存関係のインストール::
- Linux + アナコンダ::
conda install pytorch pytorch-cuda=11.7 -c pytorch -c nvidia pip install git+https://github.com/bigscience-workshop/petals python -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
- ウィンドウズ+WSLを参照のこと。 ウィキ.
- ドッカー::
sudo docker run -p 31330:31330 --ipc host --gpus all --volume petals-cache:/cache --rm \ learningathome/petals:main python -m petals.cli.run_server --port 31330 meta-llama/Meta-Llama-3.1-405B-Instruct
- macOS + Apple M1/M2 GPU::
python をインストールする python3 -m pip install git+https://github.com/bigscience-workshop/petals python3 -m petals.cli.run_server meta-llama/Meta-Llama-3.1-405B-Instruct
- Linux + アナコンダ::
- 運用モデル::
- たとえば、利用可能なモデルのいずれかを選択します:
from transformers import AutoTokenizer from petals import AutoDistributedModelForCausalLM(花びらからAutoDistributedModelForCausalLMをインポートする model_name = "meta-llama/Meta-Llama-3.1-405B-Instruct" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoDistributedModelForCausalLM.from_pretrained(model_name) inputs = tokeniser("A cat sat", return_tensors="pt")["input_ids"]. outputs = model.generate(inputs, max_new_tokens=5) print(tokeniser.decode(outputs[0]))
- たとえば、利用可能なモデルのいずれかを選択します:
- GPUへの貢献::
- ユーザーはGPUを接続することで、ペタルズの計算能力を高めることができる。 モデル・ハブ.
主な機能
- モデルを選択アクセス 花びら ウェブサイトから希望のモデルを選択する。
- 積載モデル上記のインストール手順に従ってモデルをロードし、実行します。
- モデルの微調整Petalsが提供するAPIを使用して、様々なタスクのためにモデルを微調整します。
- テキストの生成チャットボットや対話型アプリケーションのための分散ネットワーク上でのテキスト生成。