Genellikle işlemci olarak adlandırılan Merkezi İşlem BirimiCPU), bir bilgisayarın talimatları yürütmekten sorumlu birincil bileşeni olarak görev yapar. Bir bilgisayar programının talimatları tarafından belirtilen temel aritmetik, mantık, kontrol ve giriş/çıkış (I/O) işlemlerinin çoğunu gerçekleştirir. Yapay Zeka (AI) ve Makine Öğrenimi (ML) bağlamında, GPU 'lar ve TPU 'lar gibi özel donanımlar genellikle hesaplama açısından yoğun görevler için tercih edilirken, CPU temel bir bileşen olmaya devam etmektedir.
Yapay Zeka ve Makine Öğrenimindeki Rolü
CPU'lar, çok çeşitli görevleri sıralı ve hızlı bir şekilde yerine getirmek için tasarlanmış genel amaçlı işlemcilerdir. Temel özellikleri arasında saniyede kaç talimat yürütebileceğini belirleyen saat hızı ve birden fazla görevin paralel yürütülmesini sağlayan çekirdek sayısı yer alır. Modern CPU'lar birden fazla çekirdeğe sahip olsa da, genellikle GPU'lar kadar büyük ölçüde paralel değildirler.
AI/ML iş akışlarında CPU'lar aşağıdakiler için gereklidir:
- Sistem İşlemleri: İşletim sistemini çalıştırmak, sistem kaynaklarını yönetmek ve genel iş akışını düzenlemek.
- Veri Ön İşleme: Veri kümelerinin yüklenmesi, veri temizleme, dönüştürme ve artırma gibi görevler genellikle CPU'lar için çok uygun olan karmaşık mantık ve dosya işlemlerini içerir. Gibi modeller için veri hazırlamada birçok adım Ultralytics YOLO büyük ölçüde CPU işlemeye dayanır. Bilgisayarla görme projeleri için veri hazırlama hakkında daha fazla bilgi edinin.
- Sıralı Görevler: Belirli kontrol mantığı veya belirli algoritmik adımlar gibi kolayca paralelleştirilemeyen makine öğrenimi ardışık düzeninin parçalarının yürütülmesi.
- Belirli Cihazlarda Çıkarım: Daha küçük modeller için veya özel yapay zeka hızlandırıcıları olmayan cihazlarda çıkarım çalıştırma(Edge AI). Birçok uygulama modelleri aşağıdaki gibi biçimlerde dağıtır ONNX veya verimli CPU çıkarımı için Intel' in OpenVINO' su gibi çalışma zamanlarını kullanın. Ultralytics modelleri, CPU dağıtımı için uygun çeşitli formatlara aktarımı destekler, ayrıntılar için model dışa aktarma belgelerimizi kontrol edin.
- Model Yönetimi: Model dağıtımı ve sunumu ile ilgili görevler genellikle öncelikle CPU'larda çalışır.
CPU vs. GPU ve TPU
Temel fark mimari ve optimizasyon hedeflerinde yatmaktadır.
- CPU'lar: Çeşitli, genellikle sıralı görevlerin düşük gecikmeli yürütülmesi için optimize edilmiştir. Birkaç güçlü çekirdeğe sahiptirler. Bunları, birçok farklı işi birbiri ardına veya birkaçını aynı anda hızlı bir şekilde gerçekleştiren çok yönlü yöneticiler olarak düşünün. Intel ve AMD gibi büyük CPU üreticileri çekirdek performansını ve verimliliğini sürekli olarak geliştirmektedir.
- GPU'lar: Özellikle Derin Öğrenmede yaygın olan matris ve vektör işlemleri olmak üzere yüksek verimli, büyük ölçüde paralel hesaplamalar için optimize edilmiştir. Binlerce basit çekirdeğe sahiptirler. Büyük modellerin eğitimi ve yüksek performanslı çıkarım için idealdir.
- TPU'lar: Google'ın ML iş yüklerini hızlandırmak için özel olarak tasarlanmış özel donanımı, özellikle TensorFlow. Belirli sinir ağı hesaplama türleri için yüksek performans ve verimlilik sunarlar.
YOLOv10 gibi büyük derin öğrenme modellerinin eğitimi GPU'larda veya TPU'larda önemli ölçüde daha hızlı olsa da, CPU'lar genel sistem ve ML yaşam döngüsü içindeki belirli görevler için vazgeçilmezdir. CPU 'nun rolünün anlaşılması, veri hazırlamadan Raspberry Pi gibi kaynak kısıtlı uç cihazlar da dahil olmak üzere çeşitli platformlarda dağıtıma kadar tüm yapay zeka sistemlerinin optimize edilmesine yardımcı olur.
CPU Kullanan Gerçek Dünya Yapay Zeka/ML Örnekleri
- Doğal Dil İşleme (NLP) Ön İşleme: NLP modelleri için metni tokenize etmek, stemming/lemmatization gerçekleştirmek ve kelime listeleri oluşturmak, sıralı yapıları ve karmaşık dize işlemlerine ve aramalara dayanmaları nedeniyle genellikle CPU görevlerdir. Hugging Face'in tokenizer 'ları gibi araçlar genellikle bu adımlar için CPU verimliliğinden yararlanır.
- Sistem Günlüklerinde Anormallik Tespiti: Olağandışı kalıpları tespit etmek için sistem olayları veya günlükleri dizilerini analiz etmek, genellikle özel donanım gerektirmeden gerçek zamanlı izleme için CPU'larda verimli bir şekilde çalışabilen kural tabanlı sistemleri veya daha basit makine öğrenimi modellerini ( SVM veya Random Forest gibi) içerir. Bu, sistemin gözlemlenebilirliği için çok önemlidir.