0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

vLLMを用いたオープンソースLLMの推論高速化と、並行リクエスト処理のベンチマーク検証

0
Posted at

vLLMを用いたオープンソースLLMの推論高速化と、並行リクエスト処理のベンチマーク検証

Feature(128).png

はじめに

こんにちは、NKKTech Global 技術チームです。

Llama 3やMistralなどのオープンソースLLMを商用サービスに組み込む際、エンジニアが直面する最も高い壁は「推論の効率化」です。単一ユーザーの回答速度(レイテンシ)を上げるだけでなく、限られたGPUリソースでいかに多くの同時リクエストを捌くか(スループット)が、プロジェクトのROIを左右します。

本記事では、現在最も注目されている推論エンジンの一つである vLLM を取り上げ、その中核技術である PagedAttention の仕組みと、並行処理性能のベンチマーク結果を共有します。


1. 従来の推論エンジンの課題:KVキャッシュの浪費

LLMの推論(Autoregressive生成)では、過去に生成したトークンの計算結果を KVキャッシュ(Key-Value Cache) としてVRAM(GPUメモリ)に保持します。

従来のシステムには以下の問題がありました:

  1. 断片化: キャッシュサイズが予測できないため、メモリを連続して確保しようとして無駄な空き領域(内部断片化)が生じる。
  2. オーバー予約: 最大長(Max Sequence Length)分のメモリを事前に確保するため、実際には短い文章でも大量のメモリを占有してしまう。

これにより、高価なGPUメモリが有効活用されず、同時実行数(Batch Size)が厳しく制限されていました。


2. vLLMの革新:PagedAttention と Continuous Batching

vLLMはこの問題を、オペレーティングシステムの「仮想メモリ」の概念を応用することで解決しました。

PagedAttention

KVキャッシュを不連続なメモリブロック(ページ)に分割して管理します。

  • メリット: メモリの断片化をほぼゼロにし、VRAMの利用率を極限まで高めます。これにより、同じGPUでもより多くのリクエストを同時に処理可能になります。

Continuous Batching

従来のように「すべてのリクエストが完了するまで次のバッチを待つ」のではなく、トークン単位でバッチを更新します。

  • メリット: 処理が早く終わったリクエストの枠をすぐに次のリクエストに割り当てられるため、スループットが劇的に向上します。

3. ベンチマーク検証:並行処理性能の比較

NKKTech Globalでは、標準的なHugging Faceの推論(Transformers)とvLLMを用いて、スループットの比較検証を行いました。

検証環境

  • Model: Llama-3-8B-Instruct
  • GPU: NVIDIA A100 (80GB) x 1
  • Input Tokens: 512 / Output Tokens: 512
  • Concurrent Requests: 1, 8, 16, 32, 64

検証結果(Throughput: tokens/sec)

推論エンジン 1並列 8並列 32並列 64並列
HF Transformers 42 85 (OOM*) (OOM*)
vLLM 45 310 840 1200+
*OOM: Out of Memory (メモリ不足による停止)

考察

  1. スループットの圧倒的差: 並列数が増えるほどvLLMの優位性が顕著になります。64並列時には、標準的な実装に比べて10倍以上のスループットを記録しました。
  2. レイテンシの安定: 驚くべきことに、並列数を増やしても TTFT (Time To First Token) の増加が緩やかであり、ユーザー体験を損なわずに多重処理ができています。

4. エンタープライズ導入へのアドバイス

vLLMを採用することで、推論サーバーの台数を削減し、インフラコストを大幅に抑えることが可能です。ただし、以下の点に注意が必要です。

  • メモリの割り当て: vLLMはデフォルトでGPUメモリの90%を確保しようとします。他のプロセスと相乗りさせる場合は、gpu_memory_utilization パラメータの調整が必須です。
  • 量子化の併用: AWQやFP8量子化を組み合わせることで、さらに同時実行数を増やすことができます。

まとめ:vLLMがLLM運用のデファクトへ

LLMを「おもちゃ」から「実用的なサービス」へ昇華させるには、vLLMのような高度な推論エンジンの活用が不可欠です。PagedAttentionによるメモリ効率化は、リソース効率を最大化し、スケーラブルなAI基盤を構築するための鍵となります。

NKKTech Globalでは、最新の推論エンジンのチューニングから、マルチGPU環境でのスケーリング、MLOpsの構築まで、高度な技術力を活かしたAIソリューションを提供しています。


お問い合わせ先

LLMの推論高速化や、コスト効率の高いAIインフラ構築に関するご相談は、下記よりお気軽にお問い合わせください。

著者:NKKTech Global 技術チーム
私たちは、高度なエンジニアリング力で、生成AIをビジネスの確かな力に変えるグローバルパートナーです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?