TinyML Nedir? Yapay Zekâ Mikrodenetleyicilere Nasıl Sığıyor?
Bazı görevlerde cevap hayırdır. Küçük ve belirli bir iş için hazırlanmış makine öğrenmesi modelleri, veriyi toplandığı cihaz üzerinde değerlendirebilir. TinyML, bu yaklaşımı bellek, işlem gücü ve enerji açısından oldukça sınırlı donanımlara taşır.
Amaç, büyük bir yapay zekâ modelini olduğu gibi küçücük bir çipe yerleştirmek değildir. Göreve uygun modeli, veri işleme adımlarını ve yazılımı birlikte tasarlayarak cihazın kaynaklarına sığdırmaktır.
TinyML Nedir?
TinyML (Tiny Machine Learning), makine öğrenmesi modellerinin düşük güçlü mikrodenetleyiciler ve benzeri gömülü sistemlerde çalıştırılmasına odaklanan bir alandır.
Bu sistemler genellikle tek bir görevi veya dar bir görev grubunu yerine getirir. Örneğin:
- Belirli bir sesli komutu algılamak.
- Sensör ölçümlerinde anormallik bulmak.
- Hareket türlerini sınıflandırmak.
- Küçük bir görüntüde nesne varlığını belirlemek.
- Titreşim verisinden makinenin çalışma durumunu ayırt etmek.
TinyML için bütün uygulamalarda geçerli tek bir bellek veya güç sınırı yoktur. Ancak temel yaklaşım, kısıtlı kaynaklarla yerel çıkarım yapabilmektir.
Bazı hedef cihazlarda megabaytlar değil, kilobaytlar düzeyinde kullanılabilir RAM bulunabilir. Bu nedenle yalnızca model dosyasının küçük olması yeterli değildir.
Mikrodenetleyici Neden Farklı Bir Ortamdır?
Mikrodenetleyiciler çoğunlukla işlemci, bellek ve çevre birimlerini aynı yonga üzerinde birleştirir. Sensör okumak, motor kontrol etmek veya belirli bir elektronik görevi yürütmek için kullanılabilirler.
Bir bilgisayara kıyasla kaynakları sınırlıdır. Büyük bir işletim sistemi, yüksek kapasiteli bellek veya güçlü GPU bulunması beklenmez.
TinyML uygulamasının şu bileşenlerle aynı kaynakları paylaşması gerekir:
- Sensör sürücüleri.
- Veri toplama tamponları.
- Haberleşme yazılımı.
- Kontrol mantığı.
- Modelin çalıştırılması için gereken ara bellek.
Modelin depolamaya sığması, çalışırken RAM’e de sığacağı anlamına gelmez. Tasarımda bu iki ihtiyaç ayrı hesaplanmalıdır.
TinyML Nasıl Çalışır?
Yaygın bir TinyML geliştirme süreci, cihazdan veri toplamakla başlar. Model genellikle daha güçlü bir bilgisayarda eğitilir ve ardından hedef donanıma uygun biçimde hazırlanır.
1. Görev ve kaynak bütçesi belirlenir
Önce cihazın neyi tespit edeceği tanımlanır. Kabul edilebilir gecikme, yanlış alarm oranı, bellek kullanımı ve enerji tüketimi belirlenir.
Örneğin bir titreşim sensöründe hedef, bütün arıza türlerini tanımak yerine normal çalışma ile olağan dışı durumu ayırt etmek olabilir.
2. Temsil edici veri toplanır
Eğitim verisi, cihazın gerçek kullanım koşullarını yansıtmalıdır. Farklı ortamlar, sensör yerleşimleri, sıcaklıklar ve çalışma durumları dikkate alınır.
Laboratuvarda temiz kayıtlarda başarılı olan bir model, sahadaki gürültülü verilerde aynı sonucu vermeyebilir.
3. Model eğitilir
Göreve göre küçük sinir ağları veya başka makine öğrenmesi yöntemleri kullanılabilir. TinyML yalnızca derin öğrenmeyle sınırlı değildir.
4. Model ve veri işleme hattı optimize edilir
Ağırlık hassasiyeti, ağ yapısı, giriş boyutu ve kullanılan işlemler cihazın kapasitesine göre düzenlenir.
5. Gerçek cihazda doğrulama yapılır
Bellek kullanımı, çalışma süresi, enerji tüketimi ve tahmin başarısı hedef donanım üzerinde ölçülür. Bilgisayarda elde edilen sonuçlar tek başına yeterli değildir.
Bir Model Nasıl Küçültülüyor?
TinyML’de birkaç teknik birlikte kullanılabilir.
| Teknik | Temel amaç | Dikkat edilmesi gereken nokta |
|---|---|---|
| Kuantizasyon | Ağırlıkları ve bazı hesaplamaları daha düşük bit genişliğiyle temsil etmek | Kalite kaybı ve işlem desteği ölçülmelidir. |
| Küçük mimari tasarımı | Başlangıçtan itibaren düşük kaynak ihtiyacı olan model oluşturmak | Görev başarısı korunmalıdır. |
| Pruning | Bazı bağlantıları veya yapıları azaltmak | Donanım ve yazılım desteği olmadan hız kazancı sınırlı kalabilir. |
| Knowledge distillation | Daha büyük modelin davranışından yararlanarak küçük model eğitmek | Küçük modelin kapasitesi sınırlıdır. |
| Giriş optimizasyonu | Örnek sayısını, görüntü boyutunu veya özellik sayısını azaltmak | Önemli bilgi kaybedilebilir. |
Kuantizasyon, özellikle düşük bit hesaplamalarını verimli destekleyen donanımlarda fayda sağlayabilir. Ancak her işlemi desteklemeyen bir çalışma ortamı, modelin dönüştürülmesini veya yeniden tasarlanmasını gerektirebilir.
Bu nedenle optimizasyon yalnızca dosya boyutunu azaltmak değildir. Modelin hesaplama yapısı ile hedef cihazın yeteneklerini eşleştirmek gerekir.
Sensör Verisi Doğrudan Modele mi Gönderilir?
Her zaman değil. Veri, modelden önce bir hazırlık aşamasından geçebilir.
Ses uygulamalarında kayıtlar kısa zaman pencerelerine ayrılabilir ve frekans özellikleri çıkarılabilir. Titreşim analizinde filtreleme veya istatistiksel özellikler kullanılabilir. Görüntüler küçültülebilir ve normalize edilebilir.
Bu işlemler de işlemci zamanı ve bellek tüketir. Küçük bir model kullanılırken ağır bir ön işleme hattı seçilmesi, beklenen enerji avantajını azaltabilir.
Ayrıca eğitim sırasında yapılan veri işlemleri ile cihazdaki işlemler uyumlu olmalıdır. Örnekleme hızı veya normalizasyon farklıysa modelin başarısı düşebilir.
TinyML ile Edge AI Arasındaki Fark
Edge AI, verinin kaynağına yakın yerde yapılan yapay zekâ işlemlerini kapsar. Güçlü bir endüstriyel bilgisayar, akıllı telefon veya yerel ağ geçidi de bu kapsamda değerlendirilebilir.
TinyML, özellikle düşük güçlü ve kaynakları sınırlı cihazlara odaklanır.
| Özellik | TinyML | Daha geniş Edge AI uygulamaları |
|---|---|---|
| Donanım | Mikrodenetleyiciler ve küçük gömülü sistemler | Telefonlar, ağ geçitleri, bilgisayarlar ve hızlandırıcılar |
| Görev kapsamı | Genellikle dar ve belirli görevler | Daha karmaşık ve çok işlevli uygulamalar |
| Kaynak bütçesi | Oldukça sınırlı | Donanıma göre genişleyebilir |
| Öncelik | Enerji, bellek ve yerel tepki | Performans, gizlilik, gecikme ve yerel işleme |
Bir cihazın küçük olması, tek başına TinyML kullandığını göstermez. Her sensör uygulamasında makine öğrenmesi bulunması da gerekmez.
Nerelerde Fayda Sağlayabilir?
Endüstriyel izleme: Titreşim veya ses verilerinden olağan dışı çalışma durumları tespit edilebilir. Bu, kesin arıza tarihi vermek yerine bakım incelemesini tetikleyen bir uyarı olabilir.
Akıllı ev: Belirli seslerin, hareketlerin veya cihaz durumlarının yerel olarak algılanması sağlanabilir.
Tarım: Sensör ölçümlerindeki örüntüler değerlendirilerek sulama veya çevresel izleme sistemleri desteklenebilir.
Giyilebilir cihazlar: Hareket sınıflandırma ve belirli sinyal örüntülerinin tespiti gibi görevler cihaz üzerinde yürütülebilir.
Çevresel izleme: Sürekli ham veri göndermek yerine yalnızca belirli olaylar veya özet sonuçlar iletilebilir.
Bu kullanım alanlarında model çıktısının neyi temsil ettiği açık olmalıdır. Bir anormallik uyarısı, olayın nedenini kesin olarak açıklamayabilir.
Düşük Güç Tüketimi Nasıl Sağlanıyor?
Enerji tasarrufu yalnızca küçük modelden kaynaklanmaz. Cihazın ne sıklıkla ölçüm yaptığı, ne zaman uyuduğu ve hangi verileri kablosuz gönderdiği de önemlidir.
Örneğin cihaz basit bir eşik kontrolüyle sürekli düşük güçte izleme yapabilir. Şüpheli bir olay oluştuğunda daha ayrıntılı model çalıştırılabilir.
Başka bir sistemde model yerel analiz yaparak gönderilecek veri miktarını azaltabilir. Ancak radyo haberleşmesinden tasarruf edilirken sensör ve hesaplama maliyetleri de hesaba katılmalıdır.
“Tek pille yıllarca çalışma” bütün TinyML cihazlarının ortak özelliği değildir. Pil ömrü, toplam sistem tüketimine ve çalışma düzenine bağlıdır.
Gizlilik ve Çevrimdışı Çalışmanın Sınırları
Yerel çıkarım, ham verinin cihaz dışına gönderilmesini azaltabilir. Bu durum gizlilik açısından faydalıdır.
Ancak cihazın kayıt tutması, sonuçları sunucuya göndermesi veya güncelleme alması gibi süreçler ayrıca değerlendirilmelidir. Yerel çalışmak, verilerin otomatik olarak güvende olduğu anlamına gelmez.
Benzer şekilde model çıkarımı internet olmadan yapılabilirken uzaktan izleme veya bildirim hizmetleri bağlantı gerektirebilir.
Sahada Karşılaşılan Zorluklar
En önemli sorunlardan biri, gerçek kullanım koşullarının zamanla değişmesidir. Sensörün yeri değişebilir, makine aşınabilir veya ortam gürültüsü artabilir. Eğitim verisinden uzaklaşan koşullar, model başarısını etkileyebilir.
Yanlış alarm ve kaçırılan olay oranları da birlikte değerlendirilmelidir. Çok hassas bir sistem gereksiz uyarılar üretirken fazla katı bir sistem önemli olayları kaçırabilir.
Model güncellemelerinde ise güvenli yükleme, sürüm takibi ve gerektiğinde eski sürüme dönme mekanizmaları önemlidir. Belleği sınırlı cihazlarda bu süreçler ayrıca planlanmalıdır.
Sık Sorulan Sorular
TinyML cihazı kendi üzerinde eğitilebilir mi?
Yaygın yaklaşım, modeli başka bir ortamda eğitip cihazda çıkarım yapmaktır. Cihaz üzerinde öğrenme araştırmaları da vardır; ancak bellek ve enerji sınırları nedeniyle her sisteme uygun değildir.
Her sensör için yapay zekâ kullanmak gerekir mi?
Hayır. Basit eşikler veya geleneksel sinyal işleme yeterliyse daha düşük maliyetli ve daha kolay doğrulanabilir olabilir.
Büyük dil modelleri mikrodenetleyicide çalıştırılabilir mi?
Genel amaçlı büyük dil modelleri, tipik mikrodenetleyicilerin kaynak bütçesini aşar. Dar kapsamlı küçük modellerle bazı metin görevleri yapılabilmesi, büyük bir sohbet modelinin aynı cihazda çalışacağı anlamına gelmez.
Model boyutu küçükse cihazda sorunsuz çalışır mı?
Hayır. Ara aktivasyonlar, giriş tamponları, desteklenen işlemler ve diğer yazılımların bellek ihtiyacı da kontrol edilmelidir.
Kaynaklar: Pete Warden ve Daniel Situnayake — TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers; Ji Lin ve diğerleri — MCUNet: Tiny Deep Learning on IoT Devices; Robert David ve diğerleri — TensorFlow Lite Micro: Embedded Machine Learning on TinyML Systems.
Editör Notu
Bu içerik, TinyML sistemlerinin çalışma mantığını ve kaynakları sınırlı cihazlardaki kullanım koşullarını ele alan bir araştırma ve değerlendirme yazısıdır. İçerikte yer alan değerlendirmeler editoryal yorum niteliğindedir. Model başarısı, pil ömrü ve gecikme; donanıma, sensörlere, veri işleme hattına, çalışma sıklığına ve kullanım ortamına göre değişebilir. Laboratuvar sonuçları, gerçek koşullardaki performansı tek başına garanti etmez.