Inference (Çıkarım (Model Çıkarımı))

Çıkarım, eğitilmiş bir yapay zeka modelinin model ağırlıklarını güncellemeden yeni girdilere yanıt ürettiği ileri besleme sürecidir.

Çıkarım (Inference), eğitilmiş bir yapay zeka modelinin yeni girdilere yanıt üretmek için kullanıldığı süreçtir. Eğitim aşamasının aksine çıkarım sırasında model ağırlıkları güncellenmez; model yalnızca ileri besleme (forward pass) yapar. Büyük dil modellerinde çıkarım iki belirgin aşamaya ayrılır. Prefill aşamasında tüm girdi tokenleri paralel olarak transformer katmanlarından geçirilir ve KV önbelleği (KV cache) doldurulur; bu aşama GPU'nun hesaplama kapasitesini yoğun kullanır. Decode aşamasında ise model her adımda yalnızca bir token üretir ve KV önbelleğini günceller; bu aşama bellek bant genişliğiyle sınırlıdır (memory-bound). Çıkarım performansı üç temel metrikle ölçülür: ilk token süresi (TTFT — time to first token), token başına gecikme (TPOT — time per output token) ve verim (throughput — saniyede toplam üretilen token). Etkileşimli uygulamalar düşük TTFT'yi, toplu işlem sistemleri ise yüksek verimi önceliklendirir. Çıkarım iki temel ortamda gerçekleştirilebilir. Bulut çıkarımında modeller veri merkezlerindeki sunucu GPU kümelerinde çalışır; ölçeklenebilirlik, büyük model desteği ve yönetilen altyapı avantajı sunar ancak veri dışarıya çıkar. Uç çıkarımda (edge inference) model kullanıcının cihazında çalışır; gecikme azalır, veri gizliliği artar ve çevrimdışı kullanım mümkün olur. Apple Silicon, Qualcomm Snapdragon ve NVIDIA Jetson gibi platformlardaki nöral işlemci birimleri (NPU) bu amaçla optimize edilmiştir; nicellenmiş küçük modeller (1B–7B, INT4) akıllı telefon ve dizüstü bilgisayarlarda gerçek zamanlı çalışabilmektedir. Gizlilik gerektiren uygulamalar (sağlık, finans) uç çıkarımı tercih eder. Üretim sistemleri için çıkarım optimizasyonu kritik öneme sahiptir: niceleme (INT8/INT4) model boyutunu küçültür; PagedAttention ve continuous batching GPU belleğini verimli kullanır; Flash Attention dikkat hesaplama hızını artırır; spekülatif kod çözme ise küçük bir taslak modelle büyük modelin doğrulamasını birleştirerek çözme hızını %2–3× artırabilir. vLLM, TGI, TensorRT-LLM ve Ollama bu amaçla kullanılan popüler açık kaynak araçlardır.

play_arrow LLM Çıkarım Süreci

LLM çıkarımı iki belirgin aşamadan oluşur ve her aşama farklı hesaplama özellikleri gösterir. Prefill aşaması: Kullanıcının tüm girdi tokenleri tek seferinde transformer katmanlarından geçirilir. Bu aşama yüksek oranda paralelleştirilebilir (tüm tokenler eş zamanlı işlenir) ve hesaplama yoğun (compute-bound) olduğundan GPU tensor core kullanımı yüksektir. Her katmanda K (Key) ve V (Value) vektörleri hesaplanır ve KV önbelleğine yazılır. Decode aşaması: Modelin her adımda yalnızca bir token ürettiği ve KV önbelleğini bir token kadar genişlettiği sıralı aşamadır. Bu aşama bellek bant genişliği ile sınırlıdır (memory-bound): Her adımda tüm model ağırlıkları ve KV önbelleği bellekten okunmalıdır. 7B parametre modeli FP16'da ~14 GB model ağırlığı gerektirir; bu ağırlıkların her token için bellekten okunması decode hızını sınırlar.

Çıkarım Performans Metrikleri

timer TTFT (İlk Token Süresi)

Time to First Token — kullanıcının isteği göndermesinden ilk yanıt tokeninin görünmesine kadar geçen süre. Prefill aşamasının süresini yansıtır. Chatbot gibi etkileşimli uygulamalarda algılanan gecikmeyi belirler.

speed TPOT (Token Başına Gecikme)

Time Per Output Token — decode aşamasında her ek tokenin üretim süresi. Kullanıcının yanıt akışını (streaming) etkiler. Bellek bant genişliğiyle doğrudan ilişkilidir; VRAM bant genişliği arttıkça TPOT düşer.

trending_up Throughput (Verim)

Saniyede toplam üretilen token sayısı. Toplu işlem (batch) sistemleri için kritik maliyet metriği. Continuous batching ve büyük batch boyutları GPU kullanımını artırarak verimi yükseltir.

memory Bellek Kullanımı

Model ağırlıkları + KV önbelleği + aktivasyonlar GPU VRAM'ını kullanır. 7B model FP16'da ~14 GB, INT4'te ~4 GB gerektirir. KV önbelleği uzun bağlamlarda (128K+ token) model ağırlıklarından daha fazla yer kaplayabilir.

Çıkarım Optimizasyon Teknikleri

compress Niceleme (Quantization)

FP16 → INT8 → INT4: Model ağırlıkları düşük hassasiyetle saklanır. GPTQ, AWQ ve GGUF niceleme formatları model boyutunu 2–4× küçülterek daha hızlı decode ve daha az VRAM kullanımı sunar.

memory KV Cache Optimizasyonu

PagedAttention (vLLM): OS sayfa tablosu mantığıyla KV önbelleği parçalı ayrılır. Bellek israfı %20'den altına iner, daha yüksek toplu işlem kapasitesi ve prefix caching ile tekrarlayan sistem promptları önbelleğe alınır.

layers Continuous Batching

Farklı uzunluklardaki istekler GPU'da dinamik olarak bir araya getirilir. Tamamlanan diziler beklenmeden yeni istekler batch'e eklenir; GPU kullanımı önemli ölçüde artar ve gecikme azalır.

fast_forward Spekülatif Kod Çözme

Küçük bir taslak model (draft model) birkaç token üretir; büyük model hepsini tek seferinde doğrular. Decode bellek-bound olduğundan çoklu token doğrulama neredeyse tek token kadar sürer. Gecikmeyi %2–3× azaltabilir.

cloud Bulut ve Uç Çıkarım

Çıkarım altyapısı iki temel modelde sunulur. Bulut çıkarımı: Modeller veri merkezlerindeki GPU kümelerinde çalışır. OpenAI API, Anthropic API, AWS Bedrock ve Google Vertex AI bu modeli benimser. Avantajlar: büyük model desteği (70B–400B+), otomatik ölçekleme, yönetilen altyapı. Dezavantajlar: ağ gecikmesi, veri dışarıya çıkar, kullanım başına maliyet. Uç çıkarım (Edge Inference): Model doğrudan kullanıcının cihazında çalışır. Apple Silicon (M-serisi), Qualcomm Snapdragon ve NVIDIA Jetson gibi platformlar bu amaçla nöral işlemci birimi (NPU) içerir. Nicellenmiş küçük modeller — Llama 3.2 3B, Gemma 3 4B, Phi-4 Mini — gerçek zamanlı metin üretimi için dizüstü bilgisayarlarda ve akıllı telefonlarda çalışabilmektedir. Gizlilik gerektiren (sağlık, finans, savunma) ve çevrimdışı çalışan uygulamalar uç çıkarımı tercih eder.

build Çıkarım Altyapısı Araçları

  • check_circle vLLM: PagedAttention ve continuous batching ile en yüksek verimlilik sunan açık kaynak çıkarım motoru. Hugging Face modelleriyle doğrudan çalışır. Prefix caching ve speculative decoding desteği mevcuttur.
  • check_circle TGI (Text Generation Inference): Hugging Face'in resmi çıkarım sunucusu. Flash Attention, tensor parallelism ve gRPC/REST API desteğiyle üretim kullanımına hazır. AWS SageMaker ve Google Cloud'da da kullanılabilir.
  • check_circle Ollama: Yerel cihazda LLM çalıştırmak için en kullanıcı dostu araç. GGUF formatındaki nicellenmiş modelleri tek komutla indirip çalıştırır. Mac, Linux ve Windows desteği mevcuttur.
  • check_circle TensorRT-LLM: NVIDIA'nın CUDA optimizasyonlu çıkarım kütüphanesi. Veri merkezi GPU'larında (A100, H100, Blackwell) en yüksek verimi hedefler. In-flight batching ve FP8 niceleme desteği içerir.

quiz Sık Sorulan Sorular

  • check_circle Çıkarım mı, eğitim mi daha pahalı?: Tek bir model çalıştırması için eğitim çok daha pahalıdır. Ancak milyonlarca kullanıcıya hizmet veren bir API için toplam çıkarım maliyeti tek seferlik eğitim maliyetini kolaylıkla aşabilir. OpenAI, toplam GPU bütçesinin büyük çoğunluğunu çıkarım için harcadığını belirtmiştir.
  • check_circle Token başına gecikme nasıl hesaplanır?: Decode aşamasının toplam süresi / üretilen token sayısı. Genellikle "inter-token latency" veya TPOT (time per output token) olarak ölçülür. İlk token süresi (TTFT) ise prefill süresini yansıtır ve etkileşimli uygulamalar için kritiktir.
  • check_circle CPU'da LLM çıkarımı yapılabilir mi?: Evet, özellikle INT4/INT8 nicellenmiş küçük modeller (1B–7B) modern CPU'larda çalışabilir. Ollama ve llama.cpp bu amaçla optimize edilmiştir. Ancak hız GPU'ya kıyasla 10–50× daha yavaştır.
  • check_circle Batch size çıkarım performansını nasıl etkiler?: Büyük batch boyutları GPU kullanımını artırarak verimi (throughput) iyileştirir, ancak her isteğin ilk token süresini (TTFT) uzatır. Continuous batching bu dengeyi yönetir: tamamlanan istekler beklemeden yeni isteklerin batch'e eklenmesiyle hem yüksek verim hem de düşük gecikme hedeflenir.
  • check_circle Spekülatif kod çözme gerçekten işe yarıyor mu?: Evet, özellikle tutarlı metin üretimi gerektiren görevlerde. Decode aşaması bellek-bound olduğundan büyük model, tek bir forward pass'te birden fazla tokeni doğrulayabilir. Taslak model (küçük, hızlı) büyük modelin dağılımına yakın token ürettiğinde kabul oranı yükselir ve gecikme %2–3× düşebilir.