CPU
CPU, bir bilgisayarın genel amaçlı işlemcisidir. Yapay zekâda verileri yükler ve hazırlar, hızlandırıcıları koordine eder ve GPU olmayan ortamlarda çıkarım çalıştırır.
Merkezi işlem birimi (CPU), bir bilgisayarın işletim sistemini ve programlarını çalıştıran genel amaçlı işlemcidir. Her biri tek bir komut akışını hızla tamamlamak üzere tasarlanmış az sayıda güçlü çekirdekte talimatları yürütür; büyük önbellekler, dallanma tahmini ve sıra dışı yürütme, karmaşık ve dallanmalı kodun hızlı çalışmasını sağlar. Yapay zekâ (AI) sistemlerinde CPU verileri yükler ve çözer, veri artırma uygular, GPU'lara ve diğer hızlandırıcılara veri sağlar ve çıkarım öncesinde görüntüleri yeniden boyutlandırma ile nesne algılama sonrasında maksimum olmayan bastırma gibi model çevresindeki adımları yürütür. Ayrıca hızlandırıcı bulunmadığında veya kullanmaya değmediğinde dizüstü bilgisayarlardan bulut işlevlerine ve Raspberry Pi cihazlarına kadar modelin kendisini de çalıştırır. Bu nedenle CPU'daki çıkarım gecikmesi, uç yapay zekâ modelleri için temel tasarım hedefidir.
CPU'lar Sinir Ağlarını Nasıl Çalıştırır#
Bir sinir ağı zamanının çoğunu matrisleri çarparak geçirir ve CPU'lar bunu üç yolla hızlandırır. Küçük bir kartta 4'ten sunucu yongasında 100'ün üzerine kadar değişen sayıda çekirdek, bir toplu işlemin veya katmanın farklı bölümlerini paralel olarak işler. Her çekirdekteki SIMD (tek komut, çoklu veri) birimleri, aynı komutu birçok sayıya birden uygular: Intel ve AMD'nin x86 yongalarında AVX2 ve AVX-512; telefonlardaki, Apple silikon Mac'lerdeki ve Raspberry Pi kartlarındaki gibi Arm yongalarında NEON; daha yeni Arm sunucu yongalarında ise daha geniş SVE uzantısı kullanılır. Yeni yongalara eklenen matris birimleri arasında, 2023'ten bu yana Xeon sunucu işlemcilerinde bulunan Intel Advanced Matrix Extensions (AMX) ve her talimatta küçük BF16 veya INT8 değer bloklarını çarpan Arm Scalable Matrix Extension (SME) yer alır.
CPU'nun verimi, GPU'nunkinden hâlâ çok daha düşüktür; çünkü CPU, binlerce aritmetik birim yerine tek iş parçacığında yüksek performans sağlamak için yonga alanını önbelleklere ve denetim mantığına ayırır ve ağırlıkları GPU'nun bellek bant genişliğinin küçük bir bölümünü sunan sıradan sistem belleğinden okur. Çıkarım motorları aradaki farkın bir kısmını kapatır: ONNX Runtime, Intel'in OpenVINO ve Tencent'in NCNN araçları katmanları birleştirir, buldukları komut kümesi için en hızlı çekirdekleri seçer ve FP32 ağırlıkların taşıdığı verinin dörtte birini taşıyan INT8 nicemlemeli modelleri çalıştırır. CPU dağıtımı için motor ve hassasiyet seçimi genellikle donanıma göre yapılır:
Ultralytics, YOLO26 modelini bu tür donanımlar için tasarladı. YOLO26n, Intel Xeon CPU üzerinde CPU ONNX çıkarımında YOLO11n'den %43'e kadar daha hızlı çalışırken OpenVINO dışa aktarma CPU çıkarımını 3 kata kadar hızlandırır. Bu kod YOLO26'yı CPU'da çalıştırır, ardından OpenVINO'ya aktarır ve dışa aktarılan modeli çalıştırır:
from ultralytics import YOLO
# GPU olsa bile en küçük YOLO26 algılama modelini CPU'da çalıştır
model = YOLO("yolo26n.pt")
results = model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed) # Ön işleme, çıkarım ve son işleme süreleri milisaniye cinsindendir
# OpenVINO biçimine aktar ve dışa aktarılan modeli aynı CPU'da çalıştır
path = model.export(format="openvino")
ov_model = YOLO(path)
results = ov_model.predict("https://ultralytics.com/images/bus.jpg", device="cpu")
print(results[0].speed)Her speed sözlüğü, tek bir görüntünün süresini ön işleme, çıkarım ve son işleme aşamalarına ayırır; böylece iki çıktı, kodu çalıştıran makinedeki PyTorch ve OpenVINO çıkarım sürelerini karşılaştırır.
CPU ve GPU ve TPU ve NPU karşılaştırması#
- CPU: Genel amaçlı, dallanmalı kodlar için birkaç güçlü çekirdek. Her bilgisayarda bulunur ve aşağıdaki hızlandırıcılardan daha düşük verimle de olsa ek donanım olmadan her modeli çalıştırır.
- GPU: Matris işlemleri için binlerce daha basit çekirdek ve Tensor Cores ile yüksek bant genişlikli bellek. GPU'lar, eğitim ve yüksek verimli çıkarım için standart donanımdır.
- TPU: Büyük matris çarpma birimleri etrafında tasarlanmış Google'a özgü yonga; Google Cloud'da ve küçük çıkarım modüllerindeki Edge TPU olarak kullanılabilir.
- NPU: Telefon, dizüstü bilgisayar ve gömülü yongaların içinde bulunan düşük güç tüketimli sinir ağı hızlandırıcısı. Intel Core Ultra, AMD Ryzen AI, Qualcomm Snapdragon ve Apple M serisi yongalar CPU çekirdeklerini, GPU'yu ve NPU'yu tek işlemcide birleştirir.
Gerçek Dünya Uygulamaları#
- Eğitim verisi işlem hatları: GPU eğitim yaparken CPU çalışan süreçleri görüntüleri diskten okur, çözer, yeniden boyutlandırıp artırır ve toplu işlemleri hazırlar. CPU çekirdeği sayısı yetersizse pahalı GPU veriyi bekler.
- Akıllı kameralar ve uç cihazlar: Kapı zilleri, perakende sensörleri ve endüstriyel kameralar küçük algılama modellerini kendi işlemcilerinde çalıştırır; böylece video cihazda kalır ve cihazdan yalnızca uyarılar çıkar.
- Sunucusuz ve bulut çıkarımı: Bulut işlevleri ve düşük trafikli uç noktalar genellikle yalnızca CPU içeren örneklerde çalışır. Bu örnekler hızla başlar ve GPU ayırmaktan daha düşük maliyetlidir.
- Yerel büyük dil modelleri: llama.cpp gibi projeler, dizüstü bilgisayarların CPU'larında nicemlenmiş GGUF modelleri çalıştırır. Üretim hızı esas olarak belleğin her belirteç için ağırlıkları ne kadar hızlı sağlayabildiğine bağlıdır.










