Efficiently serve dozens of fine-tuned models with vLLM on Amazon SageMaker AI and Amazon Bedrock
概要
Amazon SageMaker AIとAmazon Bedrockにおいて、vLLMを活用して数十のファインチューニング済みモデルを効率的にデプロイする方法が発表されました。
従来、モデルごとに個別の推論エンドポイントを用意することは、コストとリソースの面で大きな課題となっていました。しかし、LoRA(Low-Rank Adaptation)アダプターとvLLMのマルチLoRAサービング機能を組み合わせることで、単一のベースモデルインスタンス上で複数の特化型モデルを同時にホスト可能になります。
これにより、インフラコストを大幅に削減しながら、マルチテナントアプリケーションやパーソナライズされたAIサービスをスケーラブルに提供できるようになります。SageMakerのLMI(Large Model Inference)コンテナやBedrockのカスタムモデル機能を介して、効率的な推論インフラを構築する手法が示されています。
何に使えるのか
- 単一エンドポイントでのマルチモデル運用: 単一のSageMakerエンドポイントで複数のLoRAアダプターを動的にロードし、リクエストごとにモデルを切り替えて推論を実行できます。
- Amazon Bedrockでのカスタマイズモデル提供: Amazon Bedrockのプロビジョニングスループットを利用し、LoRAアダプターによるカスタマイズモデルを提供可能です。
- オンデマンドなアダプター呼び出し: Amazon S3に保存された複数のLoRAチェックポイントをオンデマンドで呼び出し、特定のタスクやユーザーに最適化された推論を提供します。
- マルチテナントSaaSの最適化: 顧客ごとに専用のファインチューニングモデルが必要なSaaSにおいて、効率的なホスティングを実現します。
何が便利なのか
- コスト効率の向上: 複数のモデルでGPUリソースを共有するため、モデルごとにインスタンスを立てる場合と比較してコストを大幅に削減できます。
- 運用の簡素化: 管理すべきエンドポイントの数が減り、インフラ管理のオーバーヘッドを軽減できます。
- 高スループット・低遅延: vLLMの継続的バッチング(Continuous Batching)とLoRA専用の最適化カーネルにより、効率的な推論処理が可能です。
- 柔軟なスケーラビリティ: ベースモデルを維持したまま、必要に応じて数百から数千のアダプターを動的に切り替えて対応できます。
公式が想定する組み合わせ
- SageMaker LMI コンテナ + vLLM: 大規模モデル推論用コンテナとvLLMを組み合わせた構成。
- Amazon Bedrock + Custom Models (LoRA adapters): Bedrock上でLoRAアダプターを用いたカスタムモデルの利用。
- Amazon S3 + SageMaker Endpoint: アダプターの重みをS3に保存し、SageMakerエンドポイントから参照する構成。
- AWS SDK (Boto3) による制御: 推論リクエスト時に特定のアダプターを指定して呼び出す実装。