vLLM Nedir? vLLM Nasıl Kurulur ve Kullanılır, Açıklaması

Bu eğitimde vLLM'yi, önemini, kurulumunu ve çevrimdışı/çevrimiçi kullanımını öğreneceksiniz. Yeni başlayanlar için.

Efe Demir

Efe Demir

5 June 2025

vLLM Nedir? vLLM Nasıl Kurulur ve Kullanılır, Açıklaması

vLLM hakkında kapsamlı rehbere hoş geldiniz! Büyük Dil Modelleri (LLM'ler) dünyasıyla ilgileniyorsanız, muhtemelen çıkarım hızı ve veriminin zorluklarıyla karşılaşmışsınızdır. Bu devasa modelleri verimli bir şekilde sunmak bir darboğaz olabilir. İşte vLLM'nin oyunun kurallarını değiştiren bir çözüm olarak devreye girdiği yer burasıdır. Bu eğitim, bir başlangıç ​​olarak bilmeniz gereken her şeyi size anlatacaktır: vLLM nedir, neden önemlidir, nasıl kurulur ve hem çevrimdışı toplu işleme hem de çevrimiçi hizmet için nasıl kullanılır.

vLLM Tam Olarak Nedir?

Temelinde, vLLM, özellikle Büyük Dil Modeli (LLM) çıkarımı ve hizmeti için tasarlanmış, yüksek verimli ve bellek açısından verimli bir kütüphanedir. Mevcut hizmet sistemlerinin performans sınırlamalarını aşmayı amaçlayan araştırmacılar ve mühendisler tarafından geliştirilen vLLM, LLM'lerden tahmin (çıkarım) alma sürecini önemli ölçüde hızlandırır.

LLM çıkarımı için geleneksel yöntemler genellikle modelin dikkat mekanizmasının (özellikle KV önbelleği) büyük bellek ayak izini yönetmekte ve gelen istekleri verimli bir şekilde toplu hale getirmekte zorlanır. vLLM, bu zorlukları doğrudan ele almak için, en önemlisi PagedAttention olmak üzere yeni teknikler sunar. Birçok standart Hugging Face Transformers uygulamasından veya eşzamanlı isteklerle uğraşırken diğer hizmet çerçevelerinden daha yüksek verim (saniyede daha fazla işlenen istek) sağlar ve modelleri daha hızlı ve daha uygun maliyetli bir şekilde sunabilir.

vLLM'yi, önceden eğitilmiş LLM'leri çalıştırmak için son derece optimize edilmiş bir motor olarak düşünün. Modeli ve istemleri siz sağlarsınız ve vLLM, ister tek bir büyük istem toplu işi için isterse dağıtılmış bir modelle etkileşimde bulunan birçok eşzamanlı kullanıcı için olsun, metin oluşturma karmaşık görevini hızlı ve verimli bir şekilde halleder.

LLM Çıkarımı için Neden vLLM'yi Seçmelisiniz?

vLLM'yi LLM'lerle çalışan geliştiriciler ve kuruluşlar için tercih edilen bir seçim haline getiren birkaç zorlayıcı neden vardır:

  1. Son Teknoloji Performansı: vLLM, birçok temel uygulamaya kıyasla önemli ölçüde daha yüksek verim sağlar. Bu, aynı donanımla daha fazla kullanıcı isteğini aynı anda işleyebileceğiniz veya büyük veri kümelerini daha hızlı işleyebileceğiniz anlamına gelir.
  2. Verimli Bellek Yönetimi: Temel yenilik olan PagedAttention, KV önbelleğini daha etkili bir şekilde yöneterek bellek israfını önemli ölçüde azaltır. Bu, daha büyük modelleri GPU'larınıza sığdırmanıza veya mevcut modelleri daha az bellek yüküyle sunmanıza olanak tanır ve potansiyel olarak donanım maliyetlerini düşürür.
  3. Sürekli Toplu İşleme: Statik toplu işlemenin (sunucunun işleme başlamadan önce tam bir toplu işi beklemesi) aksine, vLLM sürekli toplu işlemeyi kullanır. İstekleri geldikçe dinamik olarak işler, GPU kullanımını önemli ölçüde iyileştirir ve bireysel istekler için gecikmeyi azaltır.
  4. OpenAI Uyumlu Sunucu: vLLM, OpenAI API'sini taklit eden yerleşik bir sunucu içerir. Bu, OpenAI Python istemcisi veya uyumlu araçlar kullanılarak zaten oluşturulmuş uygulamalar için vLLM'yi doğrudan bir yedek olarak kullanmayı inanılmaz derecede kolaylaştırır. Genellikle uç nokta URL'nizi ve API anahtarınızı değiştirebilirsiniz ve mevcut kodunuz kendi kendine barındırılan vLLM örneğinizle çalışacaktır.
  5. Kullanım Kolaylığı: Gelişmiş iç yapılarına rağmen, vLLM hem çevrimdışı çıkarım (LLM sınıfı) hem de çevrimiçi hizmet (vllm serve komutu) için nispeten basit bir API sunar.
  6. Geniş Model Uyumluluğu: vLLM, Hugging Face Hub'da (ve potansiyel olarak ModelScope'da) bulunan çok çeşitli popüler açık kaynaklı LLM'leri destekler.
  7. Aktif Geliştirme ve Topluluk: vLLM, devam eden iyileştirmeler, hata düzeltmeleri ve yeni modeller ve özellikler için destek sağlayan, aktif olarak bakımı yapılan, büyüyen bir topluluğa sahip bir açık kaynak projesidir.
  8. Optimize Edilmiş Çekirdekler: vLLM, çeşitli işlemler için son derece optimize edilmiş CUDA çekirdekleri kullanır ve NVIDIA GPU'larda performansı daha da artırır.

Hız, verimlilik ve ölçeklenebilirlik LLM uygulamanız için kritik öneme sahipse, vLLM ciddi olarak düşünmeniz gereken bir teknolojidir.

vLLM Hangi Modelleri Destekliyor?

vLLM, Hugging Face Hub'da barındırılan çok çeşitli popüler dönüştürücü tabanlı modelleri destekler. Bu, aşağıdakilerin birçok çeşidini içerir:

Liste sürekli büyüyor. Resmi olarak desteklenen modellerin en güncel ve kapsamlı listesi için, her zaman resmi vLLM belgelerine bakın:

vLLM Desteklenen Modeller Listesi

Bir model açıkça listelenmemişse, mimarisi desteklenen bir modele benziyorsa yine de çalışabilir, ancak resmi destek veya test olmadan uyumluluk garanti edilmez. Yeni model mimarileri eklemek genellikle vLLM projesine kod katkıları gerektirir.

Bazı Temel vLLM Terminolojileri:

vLLM yüzeyde kullanımı kolay olsa da, birkaç temel kavramını anlamak, neden bu kadar etkili olduğunu takdir etmenize yardımcı olur:

Bu iki teknik, vLLM'nin etkileyici performans özelliklerini sağlamak için sinerjik olarak birlikte çalışır.

vLLM'ye Başlamadan Önce Kontrol Etmeniz Gerekenler:

vLLM'yi kurup çalıştırabilmeniz için, sisteminizin aşağıdaki gereksinimleri karşıladığından emin olun:

  1. İşletim Sistemi: Linux, birincil desteklenen işletim sistemidir. Diğer işletim sistemleri (Windows'ta WSL2 veya macOS gibi) için topluluk çabaları mevcut olabilirken, Linux en basit ve resmi olarak desteklenen deneyimi sağlar.
  2. Python Sürümü: vLLM, Python 3.9, 3.10, 3.11 veya 3.12 gerektirir. Python bağımlılıklarınızı yönetmek için bir sanal ortam kullanmanız şiddetle tavsiye edilir.
  3. CUDA'lı NVIDIA GPU: Optimum performans ve temel özelliklere erişim için, PyTorch tarafından desteklenen bir hesaplama yeteneğine sahip bir NVIDIA GPU'ya ve gerekli CUDA araç setinin yüklü olması gerekir. vLLM, optimize edilmiş çekirdekleri için yoğun olarak CUDA'ya güvenir. Yalnızca CPU çıkarımı ve diğer hızlandırıcılar (AMD GPU'lar veya AWS Inferentia/Trainium gibi) için destek mevcut veya geliştirme aşamasında olsa da, birincil yol NVIDIA donanımını içerir. Belirli GPU sürücü sürümünüzle CUDA uyumluluğu için resmi PyTorch web sitesini kontrol edin.
  4. PyTorch: vLLM, PyTorch üzerine kurulmuştur. Kurulum süreci genellikle uyumlu bir sürümü yüklemeyi halleder, ancak sorunlarla karşılaşırsanız CUDA sürümünüzle uyumlu çalışan bir PyTorch kurulumunuz olduğundan emin olun.

vLLM'yi Kurmak İçin Adım Adım Kılavuz

vLLM'yi kurmanın önerilen yolu, bir sanal ortamdaki bir paket yöneticisi kullanmaktır. Bu, diğer Python projeleriyle çakışmaları önler. İşte popüler araçları kullanan adımlar:

vLLM ile pip Kullanma

pip, standart Python paket yükleyicisidir.

Sanal Bir Ortam Oluşturun ve Etkinleştirin (Önerilir):

python -m venv vllm-env
source vllm-env/bin/activate
# Windows'ta şunu kullanın: vllm-env\\\\Scripts\\\\activate

vLLM'yi Yükleyin:

pip install vllm

Bu komut, algılanan CUDA kurulumunuz (mümkünse) için uyumlu bir PyTorch sürümü dahil olmak üzere, vLLM'nin ve temel bağımlılıklarının en son kararlı sürümünü indirecek ve yükleyecektir.

Conda ile Conda Kullanma

Conda, özellikle veri bilimi topluluğunda başka bir popüler ortam ve paket yöneticisidir.

Bir Conda Ortamı Oluşturun ve Etkinleştirin:

conda create -n vllm-env python=3.11 -y # Veya 3.9, 3.10, 3.12 kullanın
conda activate vllm-env

Conda içinde pip kullanarak vLLM'yi yükleyin: En son uyumlu yapıyı kolayca elde ettiğinizden emin olmak için, bir Conda ortamında bile vLLM'yi yüklemek için genellikle pip kullanmanız önerilir.

pip install vllm

Bu şekilde yönetmeyi tercih ederseniz, uyumluluğu sağlamak için önce PyTorch'u Conda aracılığıyla ayrı olarak yüklemeniz gerekebilir: conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia (CUDA sürümünü gerektiği gibi ayarlayın). Ardından pip install vllm komutunu çalıştırın.

uv ile uv Kullanma

uv, daha yeni, son derece hızlı bir Python paket yükleyicisi ve çözücüsüdür.

uv'yi Yükleyin (henüz yapmadıysanız): Resmi uv belgelerindeki talimatları izleyin.

uv kullanarak bir Ortam Oluşturun ve Etkinleştirin:

uv venv vllm-env --python 3.12 --seed # Veya 3.9, 3.10, 3.11 kullanın
source vllm-env/bin/activate
# Windows'ta şunu kullanın: vllm-env\\\\Scripts\\\\activate

uv kullanarak vLLM'yi yükleyin:

uv pip install vllm

vLLM Kurulumunuzu Doğrulama

Kurulumdan sonra, bir Python yorumlayıcısında vLLM'yi içe aktarmayı veya temel bir komut çalıştırmayı deneyerek hızlıca doğrulayabilirsiniz:

# Önce sanal ortamınızı etkinleştirin (örneğin, source vllm-env/bin/activate)
python -c "import vllm; print(vllm.__version__)"

Bu, yüklü vLLM sürümünü hatasız yazdırmalıdır.

Alternatif olarak, sunucu için yardım komutunu deneyin (başarılı kurulum gerektirir):

vllm --help

vLLM ile Çevrimdışı Toplu Çıkarım Yapma

Çevrimdışı toplu çıkarım, önceden tanımlanmış bir giriş istemleri listesi için aynı anda metin oluşturmayı ifade eder. Bu, bir modeli değerlendirmek, bir veri kümesi için yanıtlar oluşturmak veya sonuçları önceden hesaplamak gibi görevler için kullanışlıdır. vLLM, bunu LLM sınıfını kullanarak verimli hale getirir.

vLLM'nin LLM Sınıfını Anlama

vllm.LLM sınıfı, çevrimdışı çıkarım için ana giriş noktasıdır. Kullanmak istediğiniz modeli belirterek bunu başlatırsınız.

from vllm import LLM

# Hugging Face Hub'dan bir modelle LLM motorunu başlatın
# Seçilen model için yeterli GPU belleğiniz olduğundan emin olun!
# Örnek: OPT-125m gibi daha küçük bir model kullanma
llm = LLM(model="facebook/opt-125m")

# Örnek: Llama-3-8B-Instruct gibi daha büyük bir model kullanma (önemli GPU belleği gerektirir)
# llm = LLM(model="meta-llama/Meta-Llama-3-8B-Instruct")

print("vLLM motoru başlatıldı.")

Varsayılan olarak, vLLM modelleri Hugging Face Hub'dan indirir. Modeliniz ModelScope'ta barındırılıyorsa, Python betiğinizi çalıştırmadan önce VLLM_USE_MODELSCOPE=1 ortam değişkenini ayarlamanız gerekir.

vLLM Örnekleme Parametrelerini Yapılandırma

Metnin nasıl oluşturulduğunu kontrol etmek için, vllm.SamplingParams sınıfını kullanırsınız. Bu, aşağıdaki gibi parametreleri ayarlamanıza olanak tanır:

from vllm import SamplingParams

# Örnekleme parametrelerini tanımlayın
# Belirtilmezse, vLLM modelin generation_config.json dosyasındaki varsayılanları kullanabilir
sampling_params = SamplingParams(
    temperature=0.7,
    top_p=0.9,
    max_tokens=100, # Oluşturulan metnin uzunluğunu sınırlayın
    stop=["\\\\n", " Human:", " Assistant:"] # Bu tokenler görünürse oluşturmayı durdurun
)

print("Örnekleme parametreleri yapılandırıldı.")

Önemli Not: Varsayılan olarak, vLLM, Hugging Face Hub'daki modelle ilişkili generation_config.json dosyasından ayarları yüklemeye ve kullanmaya çalışır. Bunu yoksaymak ve SamplingParams nesneniz tarafından geçersiz kılınmadığı sürece vLLM'nin varsayılan örnekleme parametrelerini kullanmak istiyorsanız, LLM sınıfını şu şekilde başlatın: llm = LLM(model="...", generation_config="vllm"). generate yöntemine bir SamplingParams nesnesi sağlarsanız, bu parametreler her zaman hem modelin yapılandırmasına hem de vLLM'nin varsayılanlarına göre öncelikli olacaktır.

İlk vLLM Toplu İşinizi Çalıştırma

Şimdi, metin oluşturmak için LLM nesnesini, SamplingParams'i ve bir istemler listesini birleştirelim.

from vllm import LLM, SamplingParams

# 1. Giriş istemlerinizi tanımlayın
prompts = [
    "Fransa'nın başkenti",
    "Görelilik teorisini basit terimlerle açıklayın:",
    "Yağmurlu bir gün hakkında kısa bir şiir yazın:",
    "'Merhaba, dünya!' kelimesini Almancaya çevirin:",
]

# 2. Örnekleme parametrelerini yapılandırın
sampling_params = SamplingParams(temperature=0.7, top_p=0.95, max_tokens=150)

# 3. vLLM motorunu başlatın (donanımınız için uygun bir model kullanın)
try:
    # Nispeten küçük, yetenekli bir model kullanma
    llm = LLM(model="mistralai/Mistral-7B-Instruct-v0.1")
    # Veya daha küçük GPU'lar için:
    # llm = LLM(model="facebook/opt-1.3b")
    # llm = LLM(model="facebook/opt-125m")
except Exception as e:
    print(f"LLM başlatılırken hata: {e}")
    print("Lütfen yeterli GPU belleğiniz olduğundan ve CUDA'nın doğru şekilde kurulduğundan emin olun.")
    exit()

# 4. İstemler için metin oluşturun
# generate yöntemi, istemler listesini ve örnekleme parametrelerini alır
print("Yanıtlar oluşturuluyor...")
outputs = llm.generate(prompts, sampling_params)
print("Oluşturma tamamlandı.")

# 5. Sonuçları yazdırın
# Çıktı, RequestOutput nesnelerinin bir listesidir
for output in outputs:
    prompt = output.prompt
    generated_text = output.outputs[0].text # İlk oluşturulan diziden metni alın
    print("-" * 20)
    print(f"İstem: {prompt!r}")
    print(f"Oluşturulan Metin: {generated_text!r}")
    print("-" * 20)

Bu komut dosyası, vLLM'yi başlatır, istemleri ve parametreleri tanımlar, oluşturma işlemini bir toplu işte verimli bir şekilde çalıştırır ve ardından her istem için çıktıyı yazdırır. llm.generate() çağrısı, toplu işleme ve GPU yürütme karmaşıklıklarını dahili olarak halleder.

vLLM OpenAI Uyumlu Sunucusunu Kurma

vLLM'nin en güçlü özelliklerinden biri, OpenAI API'siyle aynı dili konuşan yüksek performanslı bir arka uç sunucusu olarak hareket etme yeteneğidir. Bu, kendi açık kaynak modellerinizi kolayca barındırmanıza ve bunları OpenAI için tasarlanmış uygulamalara entegre etmenize olanak tanır.

vLLM Sunucusunu Başlatma

Sunucuyu başlatmak, terminalinizdeki vllm serve komutunu kullanarak basittir.

vLLM'nin yüklü olduğu sanal ortamınızı etkinleştirin.

source vllm-env/bin/activate

vllm serve komutunu çalıştırın: Hizmet vermek istediğiniz modeli belirtmeniz gerekir.

# Mistral-7B-Instruct'u kullanan örnek
vllm serve mistralai/Mistral-7B-Instruct-v0.1

# Qwen2-1.5B-Instruct gibi daha küçük bir model kullanan örnek
# vllm serve Qwen/Qwen2-1.5B-Instruct

Bu komut şunları yapacaktır:

Yaygın Seçenekler:

Sunucu, çalıştığını ve istekleri kabul etmeye hazır olduğunu belirten günlükler çıkaracaktır.

vLLM Sunucusuyla Etkileşim: Tamamlama API'si

Sunucu çalıştıktan sonra, OpenAI'nin eski tamamlama API'sinde olduğu gibi, /v1/completions uç noktasına istek gönderebilirsiniz.

curl Kullanma:

curl <http://localhost:8000/v1/completions> \\\\
    -H "Content-Type: application/json" \\\\
    -d '{
        "model": "mistralai/Mistral-7B-Instruct-v0.1",
        "prompt": "San Francisco bir şehir",
        "max_tokens": 50,
        "temperature": 0.7
    }'

("mistralai/Mistral-7B-Instruct-v0.1" ifadesini hizmet verdiğiniz gerçek modelle değiştirin)

openai Python Kütüphanesini Kullanma:

from openai import OpenAI

# İstemciyi vLLM sunucu uç noktanıza yönlendirin
client = OpenAI(
    api_key="EMPTY", # --api-key ile bir tane ayarladıysanız "EMPTY" veya gerçek anahtarınızı kullanın
    base_url="<http://localhost:8000/v1>"
)

print("vLLM sunucusuna istek gönderiliyor (Tamamlamalar)...")

try:
    completion = client.completions.create(
        model="mistralai/Mistral-7B-Instruct-v0.1", # Model adı hizmet verilenle eşleşmelidir
        prompt="vLLM kullanmanın faydalarını açıklayın:",
        max_tokens=150,
        temperature=0.5
    )

    print("Yanıt:")
    print(completion.choices[0].text)

except Exception as e:
    print(f"Bir hata oluştu: {e}")

(Farklı bir model hizmet veriyorsanız model adını değiştirmeyi unutmayın)

vLLM Sunucusuyla Etkileşim: Sohbet Tamamlama API'si

vLLM ayrıca, konuşmalı modeller ve yapılandırılmış mesaj formatları (sistem, kullanıcı, asistan rolleri) için uygun olan daha modern /v1/chat/completions uç noktasını da destekler.

curl Kullanma:

curl <http://localhost:8000/v1/chat/completions> \\\\
    -H "Content-Type: application/json" \\\\
    -d '{
        "model": "mistralai/Mistral-7B-Instruct-v0.1",
        "messages": [
            {"role": "system", "content": "Yardımsever bir asistansınız."},
            {"role": "user", "content": "vLLM'de PagedAttention'ın ana avantajı nedir?"}
        ],
        "max_tokens": 100,
        "temperature": 0.7
    }'

(Model adını gerektiği gibi değiştirin)

openai Python Kütüphanesini Kullanma:

from openai import OpenAI

# İstemciyi vLLM sunucu uç noktanıza yönlendirin
client = OpenAI(
    api_key="EMPTY", # "EMPTY" veya gerçek anahtarınızı kullanın
    base_url="<http://localhost:8000/v1>"
)

print("vLLM sunucusuna istek gönderiliyor (Sohbet Tamamlamaları)...")

try:
    chat_response = client.chat.completions.create(
        model="mistralai/Mistral-7B-Instruct-v0.1", # Model adı hizmet verilenle eşleşmelidir
        messages=[
            {"role": "system", "content": "Yardımsever bir programlama asistanısınız."},
            {"role": "user", "content": "Faktöriyel hesaplamak için basit bir Python işlevi yazın."}
        ],
        max_tokens=200,
        temperature=0.5
    )

    print("Yanıt:")
    print(chat_response.choices[0].message.content)

except Exception as e:
    print(f"Bir hata oluştu: {e}")

(Gerekirse model adını değiştirmeyi unutmayın)

OpenAI uyumlu sunucuyu kullanmak, mevcut uygulama mantığınızda minimum değişikliklerle yüksek performanslı LLM çıkarım uç noktalarını dağıtmanın güçlü bir yoludur.

vLLM Dikkat Arka Uçları Hakkında Konuşalım

vLLM, dikkat mekanizmasını verimli bir şekilde hesaplamak için özel "arka uçlar" kullanır. Bu arka uçlar, öncelikle NVIDIA GPU'ları hedefleyen, farklı kütüphaneler veya teknikler kullanan optimize edilmiş uygulamalardır. Arka uç seçimi, performansı ve bellek kullanımını etkileyebilir. Ana olanlar şunlardır:

  1. FlashAttention: FlashAttention kütüphanesini (sürümler 1 ve 2) kullanır. FlashAttention, GPU Yüksek Bant Genişliği Belleğinde (HBM) büyük ara dikkat matrisini somutlaştırma ihtiyacını ortadan kaldırarak hesaplamayı önemli ölçüde hızlandıran ve bellek kullanımını azaltan, son derece optimize edilmiş bir dikkat algoritmasıdır. Genellikle birçok modern GPU (Ampere, Hopper mimarileri gibi) ve dizi uzunluğu için en hızlı seçenektir. vLLM genellikle FlashAttention desteğiyle önceden oluşturulmuş tekerlekler içerir.
  2. Xformers: Meta AI tarafından geliştirilen xFormers kütüphanesinden yararlanır. xFormers ayrıca bellek açısından verimli ve optimize edilmiş dikkat uygulamaları (MemoryEfficientAttention gibi) sağlar. Çeşitli GPU mimarilerinde geniş uyumluluk sunar ve FlashAttention belirli bir senaryo için mevcut değilse veya optimum değilse iyi bir alternatif veya yedek olabilir. vLLM'nin standart kurulumu genellikle xFormers için destek içerir.
  3. FlashInfer: FlashInfer kütüphanesini kullanan daha yeni bir arka uç seçeneği. FlashInfer, LLM'leri dağıtmak için özel olarak tasarlanmış, spekülatif kod çözme ve sayfalı KV önbelleklerinin verimli işlenmesi gibi özellikler dahil olmak üzere çeşitli ön doldurma ve kod çözme senaryolarına odaklanan, son derece optimize edilmiş çekirdekler sağlar. Genellikle FlashInfer içeren önceden oluşturulmuş vLLM tekerlekleri yoktur, bu da vLLM'nin onu kullanabilmesi için ortamınızda ayrı olarak yüklemeniz gerektiği anlamına gelir. Bu arka ucu kullanmayı düşünüyorsanız, kurulum talimatları için FlashInfer resmi belgelerine veya vLLM Dockerfile'larına bakın.

Otomatik Arka Uç Seçimi: Varsayılan olarak, vLLM, donanımınıza (GPU mimarisi), yüklü kütüphanelerinize (FlashAttention/xFormers/FlashInfer mevcut mu?) ve kullanılan belirli modele göre en uygun ve performanslı dikkat arka ucunu otomatik olarak algılar. Uyumluluğu sağlamak için kontroller gerçekleştirir ve manuel yapılandırma olmadan kutudan çıkar çıkmaz en iyi performansı sağlamayı amaçlar.

Manuel Arka Uç Seçimi: Bazı gelişmiş kullanım durumlarında veya karşılaştırma amaçları için, vLLM'yi belirli bir arka ucu kullanmaya zorlamak isteyebilirsiniz. Bunu, vLLM işleminizi (çevrimdışı komut dosyası veya sunucu) başlatmadan önce VLLM_ATTENTION_BACKEND ortam değişkenini ayarlayarak yapabilirsiniz.

# Örnek: FlashAttention'ı kullanmaya zorla (yüklüyse ve uyumluysa)
export VLLM_ATTENTION_BACKEND=FLASH_ATTN
python your_offline_script.py
# veya
# export VLLM_ATTENTION_BACKEND=FLASH_ATTN
# vllm serve your_model ...

# Örnek: xFormers'ı kullanmaya zorla
export VLLM_ATTENTION_BACKEND=XFORMERS
python your_offline_script.py

# Örnek: FlashInfer'i kullanmaya zorla (önceden kurulum gerektirir)
export VLLM_ATTENTION_BACKEND=FLASHINFER
python your_offline_script.py

Çoğu yeni başlayan için, vLLM'nin otomatik arka uç seçimine güvenmeniz önerilir. Arka ucu manuel olarak ayarlamak genellikle deneyler veya belirli performans sorunlarını gidermek için ayrılmıştır.

Yaygın vLLM Kurulumu ve Kullanım Sorunlarını Giderme

vLLM kullanım kolaylığı hedeflese de, özellikle kurulum sırasında bazı yaygın engellerle karşılaşabilirsiniz. İşte bazı sık karşılaşılan sorunlar ve olası çözümleri:

  1. CUDA Bellek Dışı (OOM) Hataları:

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin