3 puan yazan GN⁺ 2024-01-17 | 1 yorum | WhatsApp'ta paylaş

TinyML nedir

  • TinyML, mikrodenetleyicilerde makine öğrenimi kullanımı anlamına gelir.
  • Geleneksel ML'de kullanılan sistemlerden farklı olarak, CPU ve RAM'in çok az olduğu ve güç tüketiminin miliwatt veya mikrowatt seviyesinde olduğu sistemlerde kullanılır.
  • Büyük modelleri küçülterek çok sınırlı kaynağa sahip cihazlarda ve mikrodenetleyicilerde kullanılabilir hale getirme çalışmasını kapsar.
  • TinyML Vakfı'nın resmi web sitesi: https://www.tinyml.org/
  • Harvard Üniversitesi tarafından ücretsiz sunulan 3 derslik bir seri vardır:
    1. TinyML'in temelleri (ne yapılır, neden yapılır ve hangi sorunlar vardır)
    2. TinyML uygulamaları (veri odaklılık, önyargı vb.)
    3. TinyML dağıtımı (modelin nereye yerleştirileceği, güvenlik ve gizlilik)

TinyML'in temel ilkeleri

  • Mikrodenetleyici kullanan gömülü sistemler en fazla 256kB belleğe sahiptir; bu nedenle büyük modelleri çalıştıramazlar.
  • Mikrodenetleyicilerle birlikte kullanılabilecek bazı işletim sistemi örnekleri:
    • FreeRTOS
    • Mbed OS
  • Makine öğrenimi, verilerdeki örüntüleri bulan algoritmalardan oluşur.
  • TinyML'de bu algoritmalar sıkıştırılarak verilerdeki örüntülerin etkili biçimde bulunması sağlanır.
  • IoT'de her gün üretilen veri miktarı 5 kentilyon bayttır ve bunun %1'inden azı analiz edilir.

Algoritma sıkıştırma teknikleri

  • Budama (Pruning)

    • Synapsis budaması: Modeldeki ağ bağlantıları kaldırılır. Bazen doğruluk düşebilir.
    • Neurons budaması: Modelden tüm nöronlar kaldırılarak ağın hesaplama gereksinimi azaltılır.
  • Kuantizasyon (Quantization)

    • Değerler küçük bir aralık içinde ayrıklaştırılır. Örneğin, kayan noktalı sayılar -128 ile 127 aralığına ayrıklaştırılırsa yalnızca 256 değer üzerinde arama yapmak gerekir.
    • 4 baytta saklanan kayan noktalı değerleri 1 baytta saklanan tamsayı değerlere dönüştürmek boyutu 4 kat azaltır.
    • Sınırlı kaynaklar nedeniyle TinyML'de kuantizasyon çok önemlidir.
  • Bilgi damıtma (Knowledge distillation)

    • Bilgi ve uzmanlık uygulanarak model küçültülür.

Araçlar

  • TensorFlow Lite kullanılır.
  • TensorFlow ML araştırmacılarına odaklanırken, TensorFlow Lite uygulama geliştiricileri içindir.

TinyML kullanımı

  • DIY, maker ve hacker dünyasına özel TinyML kullanım örnekleri bu web sitesinde bulunabilir.

Endüstride TinyML kullanımı

  • Endüstride bakım süreçlerinde kullanılarak, titreşim oluştuğunda arıza uyarısı verip verimliliği artırır ve maliyetleri düşürür.
  • Doğruluk sorunları nedeniyle yanlış alarmlar oluşabilir ve yanlış alarmların sorumluluğu operatöre veya sisteme ait olabilir.

Çevrede TinyML

  • Veriler toplandıktan sonra işlemek yerine, TinyML ile çevresel değişimlere gerçek zamanlı yanıt alınabilir. Örneğin vahşi yaşamda meydana gelen değişiklikler anlık olarak fark edilebilir.

İnsanlar için TinyML

  • Engelli bireylerin ellerini kullanmadan daha fazla işi yapabilmesine yardımcı olur.
  • Uygulamaların UI ve UX'ini iyileştirerek kullanımı kolaylaştırır.
  • Teknoloji, insan deneyimini geliştirmek için üretilir. Teknoloji insanlara yardımcı olmalıdır.

Riskler ve dezavantajlar

  • Tüm nüfus gruplarında iyi çalışacak mı?
  • Verilerin gizliliği garanti ediliyor mu?
  • Bu veriler korunabilir mi?
  • Teknoloji insan merkezli yapay zeka temel alınarak geliştirilmelidir. Tasarım, geliştirme ve dağıtım süreçlerinde bu dikkate alınmalıdır.

GN⁺ görüşü

  • TinyML, kaynakların sınırlı olduğu ortamlarda bile makine öğrenimini mümkün kılan yenilikçi bir teknoloji olarak IoT cihazlarının verimliliğini ve zekasını önemli ölçüde artırabilir.
  • Budama, kuantizasyon ve bilgi damıtma gibi algoritma sıkıştırma teknikleri, makine öğrenimi modellerini küçülterek düşük güç tüketimli cihazlarda çalıştırılabilir hale getiren temel unsurlardır.
  • TinyML'in endüstriyel bakım, çevresel izleme ve engelli desteği gibi alanlardaki uygulamaları, insan yaşamını iyileştirmeye katkı sağlayabilir; bu da teknolojinin toplum üzerindeki olumlu etkisine iyi bir örnektir.

1 yorum

 
GN⁺ 2024-01-17
Hacker News görüşleri
  • Rust TinyML derleyicisi geliştirme

    • Yüksek lisans tezi projesi olarak Rust tabanlı bir TinyML derleyicisi geliştirildi.
    • Rust prosedürel makroları kullanılarak derleme zamanında model değerlendiriliyor ve verilen model için çıkarım yapan predict() fonksiyonu üretiliyor.
    • TensorFlow Lite for Microcontrollers ve diğer motorlardan çok daha küçük bir ikili dosya boyutuna ulaşıldı.
    • 8 bit ATmega328 (Arduino Uno) üzerinde bir sesli komut tanıyıcıyı (TinyConv) çalıştırmada başarı sağlandı.
  • TinyML alanının çekiciliği

    • TinyML, çok küçük donanımlarda bile pek çok şey yapılabilen harika bir alan.
    • Örneğin esp32-s3 kullanarak gerçek zamanlı bir bilgisayarlı görü sistemi kurulabiliyor (fiyatı yaklaşık 2 dolar).
    • AutoML gibi çözümler sayesinde TinyML alanına kolayca giriş yapılabiliyor.
    • Donanım şirketleri, güç tüketimini en aza indirmek için NPU barındıran MCU'lar sunmaya başladı.
    • TinyML'nin gelecekte çok daha fazla ilgi görme olasılığı yüksek.
  • LLM kullanan altyapı hedefli virüsler

    • LLM'ler (Large Language Models) kullanılarak altyapıyı hedef alan virüsler hayal ediliyor.
    • Küçük cihazlar elektrik şebekesine gizlenip ağ trafiğini toplayabilir ve sistemleri bozmaya çalışabilir.
    • Bu tür cihazlar ağ ekipmanlarının içine gizlenebildiği ve harici trafiğe ihtiyaç duymadığı için tespit edilmeleri zor olabilir.
  • Edge Impulse'un TinyML / Edge ML açıklaması

    • Edge Impulse, ML modelleri oluşturup bunları edge cihazlara dağıtabilen bir platform geliştiriyor.
    • Kullanıcılar bir hesap oluşturup bir keyword spotting modeli kurduktan sonra bunu doğrudan WASM üzerinde çalıştırabiliyor.
    • Gömülü hızlandırıcı ASIC'lerin/NPU'ların ortaya çıkışı, Edge ML'in benimsenmesini yönlendiriyor.
  • Hacker Box'ın ESP32, Tensor Flow Lite ve Edge Impulse kullanım örneği

    • Hacker Box yakın zamanda ESP32, Tensor Flow Lite ve Edge Impulse kullanan ayrıntılı bir örnek sundu.
  • TinyML'nin bugünü ve geleceği

    • TinyML, düşük güç tüketimli gömülü cihazlarda makine öğrenimi çalıştırmayı ifade ediyor.
    • Tüm telefonlarda, "Hey Google" veya "Hey Siri" gibi anahtar kelimeleri algılayan düşük güç tüketimli DSP çipleri bulunuyor.
    • TinyML, ağın ucunda yer alan her tür cihazı kapsayan edge AI'ın bir alt kümesi.
    • Bu alan son derece heyecan verici; çeşitli sorunları çözebilen ve neredeyse her alana uygulanabilen bir teknoloji.
  • TinyML hakkında çeşitli görüşler

    • TinyML alanında, kısıtlı koşullara uygun çözümler üretmenin önemli bir etki yaratacağı görüşü var.
    • TinyML, IoT'ye benzer şekilde geleceğin önemli teknolojilerinden biri olarak görülüyor, ancak pratikte yavaş ilerliyor.
    • TinyML ile ilgili daha fazla içerik arayanlar için Asia 2023 konferansının videoları sunuluyor.