コンテンツに移動
AI & 機械学習

Vertex AI Model Garden でオープンソースの大規模言語モデルを効率的に提供

2023年10月25日
Google Cloud Japan Team

※この投稿は米国時間 2023 年 10 月 26 日に、Google Cloud blog に投稿されたものの抄訳です。

Google Cloud は、お客様に最高のテクノロジーを提供することに専念しています。この取り組みは、Google 独自の開発によるものでも、Google のオープンソース コミュニティによるものでも同様です。Vertex AI の Model Garden には、Meta の Llama 2 や Code-Llama を含む 100 以上のオープンソース モデルがあります。

このたび、Vertex AI のサービング スループットを向上させる効率的な LLM サービング ソリューションのアップデートがリリースされたことをお知らせいたします。このソリューションは、一般的なオープンソース vLLM ライブラリに基づいて構築されており、この業界の現在最先端の LLM サービング ソリューションに匹敵するものです。

このブログ記事では、ベンチマーク結果とともにソリューションの詳細を説明します。また、利用を開始するうえで役立つ Colab ノートブックのサンプルも提供します。

ソリューションの概要

このソリューションは、最先端のオープンソース LLM サービング フレームワーク vLLM のインテグレーションに基づいており、以下のような機能が含まれています。

  • PagedAttention による Transformer の実装の最適化
  • サービング スループットを全体的に向上させる連続的なバッチ処理
  • 複数の GPU でのテンソル並列処理と分散サービング

Google Cloud は、Vertex AI で本ソリューションのベンチマーク実験を行い、Vertex AI オンライン予測における vLLM のメリットを完全に再現しました。ベンチマーク結果は以下のとおりです。

この実験では、評価用のモデル アーキテクチャとして、Llama をオープンソースで再現した OpenLLaMA 13B を使用しました。Google Cloud のサービング ソリューション(Vertex Model Garden vLLM)を、人気のある LLM ライブラリである HuggingFace Transformers(HF Transformers)と、オープンソースではないが最先端の LLM サービング ライブラリの一つである HuggingFace Text Generation Inference(HF TGI)と比較し、ShareGPT データセット内の異なる入出力長のプロンプトを 1,000 個サンプリングして、サービング スループットを測定しました。

ベンチマーク結果では、Vertex AI サービング スタックは、HF Transformers と比較して最大 19 倍スループットが向上し、最先端の HF TGI と同等のパフォーマンスを達成しました。これは、低費用でより多くのリクエストを処理できることを意味します。また、単一ノードで複数の GPU を使用して LLM を提供できることが証明され、これらもベンチマーク結果に含めました。さらに、最新の Llama 2 と Code Llama で同じソリューションをテストしたところ、同様の結果が得られました。

https://storage.googleapis.com/gweb-cloudblog-publish/images/chart.max-2000x2000.jpg

Vertex AI Model Garden でカスタム サービングを使ってみる

Vertex AI Model Garden では、オープンソースの基盤モデルを Vertex にデプロイする方法を示す Colab ノートブックのサンプルを提供しています。

vLLM サービングを使用して OpenLLaMA モデルを Vertex AI にデプロイするサンプルは、こちらからアクセスできます。事前構築済みの vLLM サービングの Docker イメージ も利用できます。Llama 2 と Code Llama のデプロイも同様の手順です。Docker イメージを使用してモデルをデプロイするために、Vertex AI SDK API を簡単に呼び出すこともできます。

lang-py
読み込んでいます...

モデルが Vertex AI にデプロイされた後は、エンドポイントにプロンプトでリクエストを送信して、レスポンスを受け取れるようになります。

lang-py
読み込んでいます...

注: これらのコード スニペットはデモ用です。モデルをデプロイするプロセス全体については、ノートブックを参照してください。

-ソフトウェア エンジニア Xiang Xu

-ソフトウェア エンジニア Pengchong Jin

投稿先