vllm: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか

vllm: とは何なのか、どのような問題を解決し、なぜ注目を集めているのか

何を解決するのか

vLLMは、大規模言語モデル(LLM)の推論とサービングを高速、簡単、かつコスト効率の高いものにするために設計されています。LLMを大規模に展開する際のメモリ管理とスループットのボトルネックに対処します。

仕組み

vLLMは、PagedAttentionと呼ばれる技術を使用しており、アテンションのkeyとvalueのメモリを効率的に管理します。また、incoming requestsの継続的なバッチ処理(continuous batching)、chunked prefill、およびprefix cachingを採用することで、スループットを最大化します。パフォーマンス向上のため、最適化されたattention kernels(FlashAttentionなど)を利用し、メモリ使用量を削減して速度を向上させるために、さまざまな量子化手法(FP8、INT8、AWQなど)をサポートしています。

対象者

NVIDIAやAMDのGPU、さまざまなCPU、および特殊なNPU/TPUを含む幅広いハードウェアをサポートし、高いスループットと低レイテンシでLLMをデプロイする必要がある開発者や研究者向けです。

ハイライト

  • High Throughput: continuous batchingと最適化されたkernelsにより、最先端のサービングスループットを実現。
  • Broad Model Support: decoder-only、MoE、およびマルチモーダルモデルを含む、200以上のHugging Faceモデルアーキテクチャをシームレスにサポート。
  • Flexible API: OpenAI互換のAPIサーバーを提供し、Anthropic Messages APIやgRPCもサポート。
  • Hardware Agnostic: NVIDIA GPU、AMD GPU、x86/ARM/PowerPC CPU、およびGoogle TPU、Intel Gaudiなどのプラグインに対応。
  • Advanced Decoding: speculative decoding、parallel sampling、およびbeam searchをサポート。

Sources