はじめに
vLLMは、ラージ・ランゲージ・モデリング(LLM)用に設計された、高スループットでメモリ効率の良い推論エンジンおよびサービスエンジンである。vLLMは、CUDA、ROCm、TPUなどの幅広いハードウェアプラットフォームをサポートし、高速で使いやすく、コスト効率の高いLLM推論サービスを提供することを目的としています。主な機能として、最適化された実行ループ、ゼロオーバーヘッドのプリフィックス・キャッシング、強化されたマルチモーダルサポートなどがあります。
機能一覧
- 高スループット推論:超並列推論をサポートし、推論速度を大幅に向上。
- メモリ効率:メモリ管理を最適化することで、メモリフットプリントを削減し、モデルの動作効率を向上させます。
- マルチハードウェアサポート:CUDA、ROCm、TPU、その他のハードウェアプラットフォームと互換性があり、柔軟な展開が可能。
- ゼロオーバーヘッド接頭辞キャッシュ:重複計算の削減と推論効率の向上。
- マルチモーダル対応:テキスト、画像など複数の入力タイプをサポートし、アプリケーションシナリオを拡張。
- オープンソースコミュニティ:学界と産業界によって維持され、継続的に更新され、最適化されている。
ヘルプの使用
設置プロセス
- vLLMプロジェクトリポジトリをクローンします:
git clone https://github.com/vllm-project/vllm.git
cd vllm
- 依存関係をインストールします:
pip install -r requirements.txt
- ハードウェアプラットフォームに基づいて、ビルドに適したDockerfileを選択する:
docker build -f Dockerfile.cuda -t vllm:cuda .
使用ガイドライン
- vLLMサービスを開始します:
python -m vllm.serve --model <模型路径>
- 推論要求を送信する:
import requests
response = requests.post("http://localhost:8000/infer", json={"input": "你好,世界!"})
print(response.json())
詳細な機能操作
- 高スループット推論推論タスクを並列化することで、vLLMは並行性の高いシナリオにおいて、短時間で多数のリクエストを処理することができる。
- メモリ効率vLLMは、最適化されたメモリ管理ストラテジーを使用してメモリフットプリントを削減するため、リソースに制約のある環境での実行に適しています。
- 複数のハードウェアをサポートユーザはハードウェア構成に応じて適切なDockerfileを選択してビルドすることができ、さまざまなプラットフォームに柔軟にデプロイすることができます。
- ゼロ・オーバーヘッド・プレフィックス・キャッシングvLLMは、前置詞の計算結果をキャッシュすることで、繰り返し計算を減らし、推論効率を向上させる。
- マルチモーダルサポートvLLMはテキスト入力だけでなく、画像など複数の入力タイプを扱うことができ、アプリケーションのシナリオを広げることができます。