TinyML'yi keşfedin ve düşük güç tüketimli mikrodenetleyicilere Ultralytics nasıl kuracağınızı öğrenin. Kuantizasyon ve Ultralytics ile modelleri IoT için nasıl optimize edebileceğinizi keşfedin.
Genel olarak TinyML olarak anılan küçük ölçekli makine öğrenimi, mikrodenetleyiciler ve küçük IoT cihazları gibi ultra düşük güç tüketimli, kaynak kısıtlı cihazlara modellerin yerleştirilmesine odaklanan, makine öğreniminin özel bir alt dalını temsil eder. Muazzam hesaplama kaynaklarına dayanan geleneksel bulut tabanlı sistemlerin aksine, TinyML tamamen uçta çalışır. Akıllı algoritmaları, genellikle sadece milivatlarla ölçülen güç kısıtlamalarına sahip cihazlarda yerel olarak çalıştırarak, bu yaklaşım gecikmeyi en aza indirir, veri gizliliğini sağlar ve bant genişliği kullanımını önemli ölçüde azaltır; bu, TinyML Vakfı gibi topluluklar tarafından desteklenen ve geliştirilen bir paradigmadır.
Karmaşık sinir ağı mimarilerini ARM Cortex-M işlemcileri gibi kısıtlamaları yüksek donanımlara başarıyla sığdırmak için, modellerin titiz bir optimizasyon sürecinden geçmesi gerekir. 32 bitlik kayan nokta ağırlıkları 8 bitlik tamsayılara dönüştüren model nicelemeve model budama gibi teknikler, toplam bellek kullanımını önemli ölçüde azaltmak için kullanılır. Günümüzde, Google Mikrodenetleyiciler içinTensorFlow ve PyTorch ExecuTorch gibi özel çerçeveler, bu hassas sıkıştırma iş akışlarını kolaylaştırarak, günlük gömülü donanımlara gelişmiş görsel ve işitsel zeka getiriyor.
TinyML, Kenar AI ile yakından ilişkili olsa da, aralarındaki temel fark donanım ölçeği ve güç bütçesinde yatmaktadır. Kenar AI, genellikle Raspberry Pi gibi tek kartlı bilgisayarları veya NVIDIA gibi sağlam gömülü GPU’ları kullanan, AI modellerinin herhangi bir yerel çalıştırılmasını kapsayan daha geniş bir terimdir. Buna karşılık, TinyML özellikle Arduino kartları veya STMicroelectronics yongaları gibi aylarca veya yıllarca pille çalışan derin gömülü sistemleri hedefler. Bu cihazlar genellikle sadece birkaç yüz kilobayt RAM'e sahiptir, bu da agresif model sıkıştırmasını zorunlu kılar.
Zekayı minimum donanım üzerine doğrudan entegre etme yeteneği, çeşitli sektörlerde sayısız pratik uygulama alanının önünü açmıştır:
Mikrodenetleyici için bir model hazırlamak, katı bir dışa aktarma biçimlendirmesi gerektirir. Ultralytics kullanarak, geliştiriciler sağlam nesne algılama iş akışları oluşturabilir ve bunları gömülü hedefler için sıkıştırabilir. Veri kümenizi ve model sürümlerinizi, yerel olarak dışa aktarmadan önce Ultralytics üzerinde sorunsuz bir şekilde yönetebilirsiniz. Yerel TFLite , mikrodenetleyiciler için gerekli olan 8 bitlik tamsayı formatlarına zahmetsizce dönüştürme imkanı sunarak, Apple'ın CoreML, Google Edge TPU ve NVIDIA TensorRTgibi diğer donanım özel model dağıtım seçeneklerini tamamlar.
Aşağıdaki örnek, INT8 kuantizasyonu ile özel olarak optimize edilmiş ve bu sayede TinyML uyumlu uç platformlarda kullanıma uygun hale getirilmiş hafif bir YOLO26 modelinin nasıl dışa aktarılacağını göstermektedir:
from ultralytics import YOLO
# Initialize the lightweight YOLO26 Nano model for edge use cases
model = YOLO("yolo26n.pt")
# Export to TFLite format with INT8 quantization and a reduced image size
# This minimizes the memory footprint and accelerates inference on microcontrollers
model.export(format="tflite", int8=True, imgsz=160)
Makine öğreniminin geleceği ile yolculuğunuza başlayın