セッションの要約
本セッションは、UCバークレーのZhuohanとAnyscaleのCadeが主催し、両者はvLLMの開発において中心的な役割を担っています。vLLMは、Variable Large Language Modelの略で、UCバークレーが作成したオープンソースエンジンで、大規模言語モデルの推論と提供速度を向上させることを目的としています。GitHubで12,000以上のスターを獲得し、150人以上の個人が貢献しています。コミュニティからのフィードバックで進化し、企業や学術研究者にとって重要なツールです。vLLMのKVキャッシュはLLMサービングに画期的な変化をもたらし、ページアテンションという新しいアルゴリズムでさらに効率を向上させました。エンドユーザーAPIは開発者がLLMインフラを統合しやすくし、新機能として外部ツリーモデルサポートや強化されたOpenAI APIサーバー互換性、マルチモーダルモデル機能、包括的なハードウェアサポートがあります。これらの機能と最適化により、vLLMはオープンソースプロジェクトとして急速に成長しています。
イントロダクション
今日のセッションでは、UCバークレーのヨハンとAnyScaleのケイドが主催しました。両者はvLLMの開発において中心的な役割を担っています。
vLLMとは何か?
vLLMは、Variable Large Language Modelの略です。これはUCバークレーで作られた最先端のオープンソースエンジンで、大規模言語モデルの推論と提供速度を向上させることを目的として設計されました。このツールは技術コミュニティから大きな注目を集め、GitHubで12,000以上のスターを獲得し、世界中から150人以上の個人が貢献しています。
vLLMの特徴と影響
コミュニティからのフィードバックによる継続的な改善のおかげで、vLLMは発売以来大きく進化しました。これは、大規模言語モデルを効率的にデプロイするという複雑な課題に対処しており、企業や学術研究者にこのハイエンド技術へのアクセスを民主化します。
KVキャッシュ
vLLMで導入されたKVキャッシュは、LLMサービングにおいて画期的な変化をもたらしました。この革新的なコンポーネントは、インクリメンタルデコーディングに必要な状態を維持し、既存のシステムでうまく管理されていなかった効率性の問題を解決します。KVキャッシュの使いやすさと効率性を向上させるために、私たちは「ページアテンション」と呼ばれる新しいアルゴリズムを開発しました。
ページアテンション
「ページアテンション」はKVキャッシュ内のブロックに作用する新しいアルゴリズムです。この技術は非常に柔軟なメモリ管理を可能にし、複数のリクエスト間で効率的かつエレガントなスペース共有を実現します。顕著なパフォーマンス向上が観察されたため、この技術をオープンソース化することにしました。コミュニティのサポートのおかげで、vLLMはリリース以来急速に成長し、LLMサービングの分野で最も人気のあるオープンソースプロジェクトの一つとなりました。
エンドユーザーAPI
vLLMは、開発者が容易にLLMインフラストラクチャーを統合しカスタマイズできる直感的なエンドユーザーAPIを提供します。これにより、エンドユーザーは多くの技術的詳細に立ち入ることなく、vLLMの力を活用することができます。
新機能と最適化について
vLLMによってもたらされた注目すべき新機能と最適化を詳しく見てみましょう:
外部ツリーモデルサポート vLLMは、外部ツリーモデルサポートという重要な機能を導入します。この強化により、ユーザーはvLLMのコードベースを修正する必要なく、プライベートまたはプロプライエタリモデルを直接vLLMに統合できます。これは、知的財産を別々に維持しながらvLLMを活用する必要がある組織のプロセスを簡素化します。
強化されたOpenAI APIサーバー互換性 埋め込みモデルとバッチフォーマットでOpenAI APIサーバーのサポートを採用することは、もう一つの重要なアップデートです。ユーザーはURLを少し変更するだけで、OpenAI APIサービスのほとんどの機能を活用できます。このマイグレーションは、OpenAIのサービスからカスタム環境へとシームレスに行え、ユーザーのニーズに対する柔軟性を向上させます。
マルチモーダルモデル機能 vLLMの顕著な強化として、マルチモーダルモデルをサポートする能力があります。vLLMは現在、画像とテキストの混合入力を処理でき、インタラクティブAIシステムなど、さまざまなデータ処理能力を必要とする広範なアプリケーションユースケースの道を開いています。
包括的なハードウェアサポート ハードウェア面では、vLLMは主流のCPUおよびGPUのサポートを進めています。この広範なハードウェア互換性により、vLLMはさまざまな技術環境で展開可能であり、幅広い計算リソースに対応できます。
これらの新機能と最適化は、vLLMのオープンソース性とともに、その有用性と適応性を強調し、世界中の開発者や研究コミュニティに対するその価値を高めています。
チャンク事前充填と推測デコーディング
Cadeは、パフォーマンス向上に大きく貢献する2つの画期的な技術的特徴である「チャンク事前充填(Chunk Prefill Optimization)」と「推測デコーディング(Spectrum Decoding)」について紹介しました。
チャンク事前充填(Chunk Prefill Optimization)
- この技術は、事前にデータチャンクを準備することで推論中の遅延を減らすことに焦点を当てています。戦略的に潜在的な待ち時間を活用し、全体的な計算効率を向上させ、処理速度を速めます。
推測デコーディング(Spectrum Decoding)
- 予測分析を活用することで、この機能は事前に可能な結果を処理し、データが受信されたらすぐに選択できるようにします。これにより、応答性が向上し、モデル推論サイクル中の意思決定プロセスが迅速になります。
これらの革新を統合することで、vLLMは大規模言語モデル推論の加速をリードし続け、パフォーマンスの限界を常に押し広げています。オープンソースイニシアティブとして、vLLMは世界中の開発者コミュニティとの強力なコラボレーションを維持し、継続的な改善を促進しています。
推測デコーディングのプロセス(Spectrum Decoding)
vLLMでは、LLMインスタンスの作成は簡単です。プロンプトを入力し、推測モデルの使用を指定し、推測トークンの数を指定します。これにより、正確で効率的な応答を迅速に生成することができます。
n-gramなどの他の推測タイプの場合、異なる提案タイプが関与します。これには、推測モデルをn-gramモデルに置き換えることが含まれます。
機能の説明(段階別)
vLLMにおける推測デコーディングの実装は主に3つの段階(提案、採点、および検証)で行われます。トークンの採用または拒否の決定はこれらの段階で行われます。
- 提案ステージ:ドラフトモデルを使用して提案が行われます。
- 採点ステージ:この段階で、提案されたトークンが重要なターゲットモデルを使用して評価されます。
- 検証ステージ:提案と評価の結果に基づいて検証が行われ、最終的なトークンの採用または拒否が行われます。
これらの工程はモジュラー(見本)であり、そのコンポーネントはさまざまな代替品に置き換えることができます。このモジュラリティにより、特定の用途や要件に応じてシステムを簡単にカスタマイズすることができます。
まとめ
vLLMにおける推測デコーディングは、AIおよび機械学習技術の未来に大きな影響を与える可能性があります。提案、評価、および検証の段階を通じて、より効果的で効率的なデータ処理が可能になります。この技術は、これまでにないスムーズなリアルタイムデータ処理と応答生成を促進すると期待されています。
Databricks Data + AI Summit(DAIS)2024の会場からセッション内容や様子をお伝えする特設サイトをご用意しました!DAIS2024期間中は毎日更新予定ですので、ぜひご覧ください。
私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。
また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。