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.