PagedAttention ve continuous batching ile LLM çıkarımını 24× hızlandıran açık kaynaklı UC Berkeley servis kütüphanesi.

vLLM, UC Berkeley'de geliştirilen ve LLM çıkarımında yüksek throughput ile bellek verimliliği sağlayan açık kaynaklı bir servis kütüphanesidir. Temel yeniliği PagedAttention, KV cache'i işletim sistemi sanal bellek yönetiminden ilham alarak idare eder; continuous batching ile birlikte standart HuggingFace Transformers'a kıyasla 24× daha yüksek throughput sağlayabilir.

book PagedAttention

PagedAttention, KV cache'i sanal bellek sayfa tablosu gibi yönetir. Fiziksel GPU belleği sayfalar hâlinde ayrılır; istek başına dinamik tahsis yapılır. Farklı uzunluktaki istekler arasında bellek parçalanması yaşanmaz. Sistem, boş bellek bulmak için tüm KV cache'i boşaltmak zorunda kalmaz. Sonuç: aynı donanımla çok daha fazla eş zamanlı istek.

vLLM Özellikleri

api OpenAI API Uyumlu

POST /v1/completions ve /v1/chat/completions endpoint'leri. Mevcut OpenAI istemcileri değiştirilmeden kullanılır.

device_hub Tensor Paralelizm

Çoklu GPU'ya model dağıtımı. Büyük modeller için A100/H100 kümesi desteği.

compress Kuantizasyon

AWQ, GPTQ, INT8, FP8 destekler. Bellek azaltırken throughput korur.

vLLM'in Temel Özellikleri

  • check_circle PagedAttention: OS'un sanal bellek yönetiminden ilham alan KV cache yönetimi. Bellek parçalanmasını önler ve çoklu istek paralel işlenmesini mümkün kılar.
  • check_circle Sürekli Toplu İşlem (Continuous Batching): İstekleri sabit batch boyutu yerine dinamik olarak gruplandırır; GPU boşta kalma süresini minimize eder. Throughput önemli ölçüde artar.
  • check_circle Çoklu Model Desteği: LLaMA, Mistral, Qwen, DeepSeek, Phi ve daha fazlası. Hugging Face hub'dan model yükleme doğrudan desteklenir.
  • check_circle Spekülatif Kod Çözme: Küçük taslak model ve büyük doğrulama modeli kombinasyonuyla çıkarım hızını artıran entegre destek.
  • check_circle OpenAI Uyumlu API: Drop-in replacement: OpenAI API formatında istek alır. Mevcut uygulamalar minimum değişiklikle vLLM'e geçiş yapabilir.
  • check_circle Tensor Paralelizm: Büyük modelleri birden fazla GPU'ya bölerek yüksek kapasiteli çıkarım. 70B+ modeller çok GPU kurulumla verimli çalışır.
  • check_circle Lossless Çıktı: Standart örnekleme algoritmalarıyla tam olarak aynı çıktıyı garanti eder; optimizasyonlar çıktı kalitesini bozmaz.

vLLM ile Üretim LLM Dağıtımı

vLLM, LLM'leri üretime alma sürecinin fiili standardı hâline gelmiştir. TGI (Hugging Face Text Generation Inference), TensorRT-LLM (NVIDIA) ve llama.cpp rakip çözümler arasındadır; her birinin farklı avantajları mevcuttur. vLLM'in öne çıkan özelliği: Python ekosistemiyle derin entegrasyon, geniş model desteği ve aktif geliştirme hızı. Kurulum ve başlatma: `pip install vllm` ardından `python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3-8B` ile OpenAI uyumlu sunucu başlatılır. Üretim dağıtım senaryoları: Kubernetes üzerinde vLLM pod'ları, NVIDIA Triton Inference Server entegrasyonu ve AWS SageMaker'da vLLM container. Maliyet optimizasyonu açısından vLLM'nin continuous batching ve prefix caching özellikleri aynı donanımda 2-10× daha fazla istek işlemeyi mümkün kılabilir. Bu da per-request maliyeti önemli ölçüde düşürür.

quiz Sık Sorulan Sorular

  • check_circle Nasıl başlanır?: `pip install vllm` ardından `vllm serve meta-llama/Llama-3-8B-Instruct` komutu ile OpenAI uyumlu API sunucusu başlatılır.
  • check_circle TGI ile kıyaslaması?: vLLM ve TGI (HuggingFace Text Generation Inference) benzer throughput sunar. vLLM araştırma ekosistemiyle, TGI HuggingFace ekosistemiyle daha entegre.
  • check_circle Kubernetes'te nasıl deploy edilir?: vLLM resmi Helm chart'ı mevcuttur. Horizontal pod autoscaling ve GPU node selector ile üretim ölçeğinde deployment desteklenir.
  • check_circle vLLM nedir?: UC Berkeley'de geliştirilen, PagedAttention ve continuous batching ile LLM çıkarım verimliliğini dramatik biçimde artıran açık kaynaklı Python kütüphanesidir. Üretim LLM sunucu dağıtımında yaygın kullanılır.
  • check_circle PagedAttention nedir?: OS'un sanal bellek sayfalamasından ilham alan KV cache yönetimidir. Farklı uzunluktaki isteklerin bellek parçalanması olmadan etkin biçimde yönetilmesini sağlar; GPU bellek kullanım verimliliğini artırır.
  • check_circle vLLM nasıl kurulur?: `pip install vllm` ile kurulur. OpenAI uyumlu sunucu başlatmak için `python -m vllm.entrypoints.openai.api_server --model <model-id>` yeterli. CUDA uyumlu NVIDIA GPU gerektirir.
  • check_circle vLLM ve llama.cpp arasındaki fark nedir?: llama.cpp CPU dahil çok çeşitli donanımda çalışan C++ tabanlı çözümdür; yerel kullanım için ideal. vLLM GPU odaklı Python çerçevesidir; yüksek throughput gerektiren üretim ortamları için optimize edilmiştir.