Edge Computing
Uç bilişim, verileri üreten cihazlarda veya bu cihazların yakınında işler; böylece gecikme ve bant genişliği kullanımı azalır. Uç katmanları, uç yapay zekâ ve model dağıtımı ele alınır.
Uç bilişim; her şeyi uzaktaki bir bulut bölgesine göndermek yerine, hesaplamaları yürütme ve verileri, verinin üretildiği ya da kullanıldığı yere yakın konumda; cihazlarda, şirket içi sunucularda ve ağ geçitlerinde veya telekom ağlarının ucundaki küçük veri merkezlerinde depolama yaklaşımıdır. Kaynağa yakın işleme yanıt süresini kısaltır, ham verileri taşımak için gereken bant genişliğini azaltır, hassas verileri kurum içinde tutar ve ağ kesildiğinde sistemlerin çalışmaya devam etmesini sağlar. Bu fikir, 1990'ların sonlarında web sayfalarını kullanıcılara yakın önbelleğe alan içerik dağıtım ağlarından doğdu; Mahadev Satyanarayanan liderliğindeki araştırmacılar 2009'da mobil cihazlar için yakındaki "cloudlet"leri önerdi, Cisco 2012'de fog computing terimini ortaya attı ve Avrupa standart kuruluşu ETSI, 2014'te mobil ağlar için Çok Erişimli Uç Bilişim standardizasyonuna başladı. Bu altyapıda makine öğrenimi modelleri çalıştırmaya uç yapay zekâ denir.
Uç Katmanları#
"Uç" kavramı, sensör ile bulut arasındaki birkaç katmanı kapsar:
- Cihaz ucu: Verileri kendi işlemcilerinde işleyen, çoğu zaman yerleşik hızlandırıcılara sahip kameralar, telefonlar, dronlar, robotlar ve araçlar.
- Şirket içi uç: Bir GPU kutusunun onlarca kamera akışını analiz etmesi gibi, birçok cihazdan veri toplayan ve fabrika, mağaza, hastane veya çiftlik içinde bulunan ağ geçitleri ve kompakt sunucular.
- Ağ ucu: Mobil kullanıcılardan birkaç milisaniye uzaktaki telekom baz istasyonlarında veya bölgesel erişim noktalarında bulunan ve yerel olarak çalışamayacak kadar küçük cihazlar için iş yüklerini yürüten sunucular.
- Bulut: Modelleri eğiten, uzun süreli verileri depolayan ve uç cihaz filosunu yöneten merkezi bölgeler.
Veriler Neden Uçta İşlenir?#
İlk neden gecikmedir. Işık, optik fiberde milisaniyede yaklaşık 200 kilometre yol alır; bu nedenle 1.000 km uzaktaki bir veri merkezi, yönlendirme, kuyruk veya işleme süresi hesaba katılmadan önce gidiş-dönüşte en az 10 ms gecikme ekler. Milisaniyeler içinde tepki vermesi gereken otonom araçlar ve robotlar, gerçek zamanlı çıkarımı araç üzerinde gerçekleştirir. İkinci neden bant genişliğidir: tek bir 1080p H.264 kamera akışı saniyede birkaç megabit gerektirir; bu nedenle 100 kameralı bir tesis sürekli olarak saniyede yüzlerce megabit yüklerken, JSON biçiminde gönderilen bir algılama olayı birkaç kilobayt tutar. Verilerin kurum içinde işlenmesi, insanlara ait ham görüntüleri yerel olarak tutar; böylece binadan yalnızca sayımlar, uyarılar veya anonimleştirilmiş sonuçlar çıkar. Bu, veri gizliliği yükümlülüklerini yerine getirmeyi kolaylaştırır ve çiftliklerde, gemilerde, madenlerde ve uzak altyapılarda ağ kesintilerinde bile sistemlerin çalışmasını sağlar.
Uygulamada uç ve bulut bir döngü oluşturur. Cihazlar her kareyi yerel olarak işler, yalnızca olayları ve seçilmiş örnekleri buluta gönderir; bulut da bu örnekleri modelleri yeniden eğitmek ve iyileştirilmiş modelleri geri göndermek için kullanır:
Bu yaklaşım, bir sonraki ürün gelmeden önce hatalı parçanın ayıklanması gereken üretim hatlarında kalite denetimi, bağlantının zayıf olduğu tarlalarda ürün ve hayvan takibi ve kavşaklardaki kameralardan aldığı görüntülerle sinyal sürelerini ayarlayan trafik yönetimi sistemlerinde kullanılır.
Uç Bilişim ve İlgili Terimler#
Bulut bilişim, esnek kapasiteyi büyük veri merkezlerinde merkezîleştirir; uç bilişim ise hesaplamayı buradan dışarıya doğru genişletir. Bu nedenle çoğu sistem ikisini birden kullanır. Uç yapay zekâ, yapay zekâ modellerini çalıştıran uç bilişim alt kümesidir. Cisco'nun ortaya attığı fog computing terimi, cihazlar ile bulut arasındaki ağ geçitleri ve yerel sunucular katmanını tanımlar ve büyük ölçüde şirket içi ve ağ ucu katmanlarıyla eş anlamlıdır. Nesnelerin İnterneti (IoT), birbirine bağlı sensör ve cihazlardan oluşan ağdır; uç bilişim de bunların ürettiği verilerin çoğunun işlendiği yerdir.
Modelleri Uç Cihazlara Dağıtma#
Uç donanımların belleği, işlem gücü ve güç bütçesi bir veri merkezi GPU'sununkinden çok daha sınırlıdır; bu aralık miliwatt harcayan mikrodenetleyicilerden NVIDIA Jetson modüllerine ve Raspberry Pi kartlarına uzanır. Modeller, 8 bit tamsayılara yönelik model nicemleme, budama ve bilgi damıtma ile küçültülüp hızlandırılır; ardından hedefin çalışma zamanı ve hızlandırıcısı için derlenir. Örnek olarak NVIDIA GPU'larında TensorRT, Intel CPU'ları ve NPU'larında OpenVINO, Android'de LiteRT veya Apple cihazlarında Core ML kullanılır. Ultralytics YOLO'nun dışa aktarma modu, eğitilmiş tek bir modelden bu biçimleri üretir. Bu örnek, YOLO26 modelini Tencent'in mobil ve ARM CPU'ları için çıkarım çerçevesi NCNN biçimine aktarır ve dışa aktarılan modeli çalıştırır:
from ultralytics import YOLO
# Export YOLO26n to NCNN, a lightweight runtime for ARM CPUs and mobile devices
model = YOLO("yolo26n.pt")
ncnn_path = model.export(format="ncnn") # writes the yolo26n_ncnn_model folder
# Load the exported model and run it on this machine's CPU
ncnn_model = YOLO(ncnn_path)
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
print(f"Inference: {results[0].speed['inference']:.1f} ms")Dışa aktarma işlemi, ağ yapısını içeren model.ncnn.param, ağırlıkları içeren model.ncnn.bin ve sınıf adlarıyla giriş boyutunu içeren metadata.yaml dosyalarının bulunduğu bir yolo26n_ncnn_model klasörü oluşturur. Yazdırılan süre, modeli çalıştıran makinedeki görüntü başına çıkarım gecikmesidir; bir modelin uç uygulamanın kare hızı bütçesine uyup uymayacağını belirleyen değer budur.










