Yapay zeka modellerinin çıkarım (inference) aşaması, model eğitiminden sonra gerçek dünya uygulamalarında en kritik performans belirleyicisidir.
Yapay zeka modellerinin çıkarım (inference) aşaması, model eğitiminden sonra gerçek dünya uygulamalarında en kritik performans belirleyicisidir. Bu aşamada, CPU ve GPU arasındaki farklar, gecikme süresi (latency), işlem hacmi (throughput) ve enerji verimliliği gibi metriklerde belirginleşir. Özellikle gerçek zamanlı sistemler, kenar bilişim (edge computing) ve bulut tabanlı hizmetlerde, doğru donanım seçimi maliyetleri optimize eder ve kullanıcı deneyimini iyileştirir. Bu makalede, AI model çıkarımında CPU ile GPU’yu benchmark ederek, pratik karşılaştırmalar sunacak, ölçüm yöntemlerini açıklayacak ve karar verme sürecinize rehberlik edeceğiz.
CPU’lar, genel amaçlı işlemciler olarak sıralı (sequential) görevlerde üstündür ve AI çıkarımında düşük gecikmeli, tekil tahminler için idealdir. Örneğin, bir nesne algılama modelini (YOLO serisi) CPU üzerinde çalıştırmak, modelin karmaşıklığını düşük tutmak kaydıyla milisaniye düzeyinde yanıtlar sağlar. Ancak, paralel matris çarpımlarında (matrix multiplications) sınırlı çekirdek sayıları nedeniyle yavaş kalır. Modern CPU’lar gibi Intel Xeon veya AMD EPYC serileri, AVX-512 gibi vektörel talimat setleriyle optimize edilse de, büyük batch boyutlarında GPU’lara yetişemez.
GPU’lar ise binlerce çekirdek ile paralel işlemeye odaklanır; bu, derin öğrenme modellerinin temel yapı taşı olan konvolüsyon ve transformer katmanlarında devrim yaratır. NVIDIA A100 veya RTX 40 serisi gibi GPU’lar, CUDA çekirdekleri sayesinde throughput’u katlar. Pratikte, bir BERT modeli çıkarımında GPU, CPU’ya kıyasla 10-50 kat hızlanma sağlayabilir, ancak bellek yoğunluğu yüksek modellerde VRAM sınırı sorun yaratır. Karşılaştırma için, PyTorch’ta model.to(‘cuda’) komutuyla GPU’ya taşıma ve torch.inference_mode() ile optimize edilmiş döngü kullanmak, baseline performans sağlar.
Bu mimari farklar, çıkarım senaryosuna göre seçim yapmayı zorunlu kılar; örneğin mobil cihazlarda CPU tercih edilirken, veri merkezlerinde GPU baskındır.
Benchmark için standart bir ortam kurmak esastır. Öncelikle, Ubuntu 22.04 gibi stabil bir Linux dağıtımı üzerinde Docker container’ları kullanın; bu, tekrarlanabilirlik sağlar. CPU benchmark’ı için Intel Core i9-13900K (24 çekirdek) ve 64 GB RAM, GPU için NVIDIA RTX 4090 (24 GB VRAM) ile 128 GB sistem RAM’i hedefleyin. Modelleri Hugging Face Transformers kütüphanesinden yükleyin, örneğin ResNet-50 veya GPT-2. Kurulum adımları: pip install torch torchvision torchaudio –index-url https://download.pytorch.org/whl/cu118 (GPU için), ardından model = AutoModel.from_pretrained(‘model_adi’). Ortam değişkenleri ile OMP_NUM_THREADS=çekirdek_sayısı belirleyin.
Test döngüsünde, warmup iterasyonları (örneğin 100) sonrası 1000 inference çalıştırın. Batch size’ları 1, 8, 32 gibi ölçeklerde değiştirerek ölçeklenebilirliği ölçün. Bu yaklaşım, donanım spesifikasyonlarının ötesinde yazılım optimizasyonlarını da kapsar.
Latency’i milisaniye cinsinden (end-to-end süre), throughput’u saniyede tahmin sayısı (queries/second) olarak hesaplayın. Araçlar arasında NVIDIA Nsight Systems veya PyTorch Profiler öne çıkar; profiler.add_event(‘inference_start’) ile zaman damgası alın. Enerji tüketimini NVIDIA DCGM ile izleyin. Örnek kod: with torch.no_grad(): for batch in dataloader: outputs = model(batch).timeit() ile zamanlayın. Bu metrikler, %95 persentil latency gibi tail latency’yi de kapsayarak gerçekçi sonuçlar verir ve 70+ kelimeyi aşan detaylı analiz sağlar.
Standart benchmark’larda, küçük modeller (MobileNet) için CPU’lar düşük batch’lerde GPU’ya yakın performans gösterirken, büyük modeller (ViT-Large) GPU’da 20-100 kat hızlanır. Örneğin, bir görüntü sınıflandırma task’ında CPU 50 ms/inference yaparken, GPU 2 ms’e iner. Throughput açısından, GPU batch=128’de 500+ qps’ye ulaşır. Bu farklar, model quantization (INT8) ile CPU’da %30-50 iyileşme sağlar; TensorRT ile GPU’da %2-5x hızlanır.
Optimizasyon adımları: 1) Modeli ONNX formatına dönüştürün (torch.onnx.export). 2) CPU için OpenVINO, GPU için TensorRT runtime kullanın. 3) Hybrid yaklaşımlar deneyin: CPU ön işleme, GPU çıkarım. Maliyet analizi yapın; GPU’lar yüksek upfront maliyetine rağmen TCO’da (total cost of ownership) düşük çıkar.
Sonuç olarak, AI çıkarım benchmark’ları donanım seçimini veri odaklı hale getirir. İhtiyaçlarınıza göre testler yaparak başlayın; bu, performansınızı maksimize eder ve geleceğe hazır sistemler kurmanızı sağlar. Pratik uygulamalarda sürekli izleme ile optimizasyonları yineleyin.