İçindekiler[Saklamak][Göstermek]
Makine Öğrenimi modelleri şu anda her yerde. Gün içinde muhtemelen bu modelleri sandığınızdan çok daha fazla kullanıyorsunuz. Makine öğrenimi modelleri, sosyal medyada gezinme, fotoğraf çekme ve hava durumunu kontrol etme gibi yaygın görevlerde kullanılır.
Bir makine öğrenimi algoritması bu blogu size önermiş olabilir. Hepimiz bu modelleri eğitmenin ne kadar zaman alıcı olduğunu duyduk. Hepimiz bu modelleri eğitmenin zaman alıcı olduğunu duyduk.
Ancak, bu modeller üzerinde çıkarım yapmak genellikle hesaplama açısından maliyetlidir.
Makine öğrenimi hizmetlerinden yararlanma hızımızı kaldıracak kadar hızlı bilgisayar sistemlerine ihtiyacımız var. Sonuç olarak, bu modellerin çoğu CPU ve GPU kümeleri (hatta bazı durumlarda TPU'lar) içeren büyük veri merkezlerinde çalıştırılır.
Bir fotoğraf çekerken, istersin makine öğrenme anında iyileştirmek için. Görüntünün bir veri merkezine aktarılmasını, işlenmesini ve size geri dönmesini beklemek zorunda kalmak istemezsiniz. Bu durumda, makine öğrenimi modeli yerel olarak yürütülmelidir.
“Hey Siri” veya “Tamam, Google” dediğinizde, gadget'larınızın hemen yanıt vermesini istersiniz. Sesinizin değerlendirileceği ve verilerin alınacağı bilgisayarlara iletilmesini bekliyoruz.
Bu zaman alır ve kullanıcı deneyimi üzerinde zararlı bir etkisi vardır. Bu durumda, makine öğrenimi modelinin yerel olarak da çalışmasını istiyorsunuz. TinyML'nin devreye girdiği yer burasıdır.
Bu yazıda TinyML'nin nasıl çalıştığına, kullanımlarına, nasıl başlayacağına ve çok daha fazlasına bakacağız.
Nedir TinyML?
TinyML, makine öğreniminin devrim niteliğindeki potansiyelini küçük cihazların ve gömülü sistemlerin performans ve güç sınırlarına uygulayan son teknoloji bir disiplindir.
Bu sektördeki başarılı dağıtım, uygulamaların, algoritmaların, donanımın ve yazılımın kapsamlı bir şekilde anlaşılmasını gerektirir. Mikrodenetleyiciler, dijital sinyal işlemcileri veya diğer ultra düşük güçlü özel işlemciler kullanan gömülü sistemlerde derin öğrenme ve makine öğrenimi modellerini kullanan bir makine öğrenimi alt türüdür.
TinyML özellikli gömülü cihazların, genellikle cihazın bir parçası olarak belirli bir iş için bir makine öğrenimi algoritması çalıştırması amaçlanmıştır. kenar hesaplama.
Bu gömülü sistemlerin haftalarca, aylarca ve hatta yıllarca yeniden şarj edilmeden veya pil değiştirilmeden çalışabilmesi için 1 mW'dan daha az güç tüketimine sahip olması gerekir.
Nasıl Çalışır?
Mikrodenetleyiciler ve bilgisayarlarla kullanılabilen tek makine öğrenimi çerçevesi, TensorFlow Lite. Geliştiricilerin modellerini mobil, gömülü ve uç cihazlarda çalıştırmasına olanak tanıyan ve anında makine öğrenimine olanak tanıyan bir dizi araç.
Mikrodenetleyicinin arayüzü, sensörlerden (mikrofonlar, kameralar veya gömülü sensörler gibi) veri toplamak için kullanılır.
Veriler, mikrodenetleyiciye gönderilmeden önce bulut tabanlı bir makine öğrenimi modeline dahil edilir. Çevrimdışı modda toplu eğitim genellikle bu modelleri eğitmek için kullanılır. için kullanılacak sensör verileri öğrenme ve çıkarım belirli bir uygulama için zaten belirlenmiştir.
Örneğin, model bir uyandırma sözcüğünü algılamak üzere eğitiliyorsa, zaten bir mikrofondan gelen sürekli bir ses akışını işlemek üzere ayarlanmıştır.
TensorFlow Lite durumunda, veri kümesi seçimi, normalleştirme, modelin eksik veya fazla takılması, düzenleme, veri artırma, eğitim, doğrulama ve test dahil olmak üzere her şey Google Colab gibi bir bulut platformunun yardımıyla zaten yapılır.
Tam olarak eğitilmiş bir model, çevrim dışı toplu eğitimden sonra nihayetinde dönüştürülür ve mikro denetleyiciye, mikro bilgisayara veya dijital sinyal işlemcisine aktarılır. Model, gömülü bir cihaza taşındıktan sonra ek eğitime sahip değildir. Bunun yerine, modeli uygulamak için yalnızca sensörlerden veya giriş cihazlarından gelen gerçek zamanlı verileri kullanır.
Sonuç olarak, bir TinyML makine öğrenimi modeli son derece dayanıklı olmalı ve yıllar sonra yeniden eğitilebilmeli veya hiçbir zaman yeniden eğitilmemelidir. Modelin uzun bir süre boyunca, ideal olarak süresiz olarak alakalı kalması için tüm potansiyel model eksik ve fazla uydurma araştırılmalıdır.
Ama neden TinyML kullanmalıyım?
TinyML, IoT'nin temel küçük ölçekli bulut hizmetlerine olan bağımlılığını ortadan kaldırma veya azaltma çabası olarak başladı. makine öğrenme operasyonlar. Bu, makine öğrenimi modellerinin uç cihazlarda kullanılmasını gerektirdi. Aşağıdaki önemli faydaları sağlar:
- Düşük güç tüketim: Bir TinyML uygulaması tercihen 1 miliWatt'tan daha az güç kullanmalıdır. Bu kadar düşük güç tüketimiyle, bir cihaz, bozuk para piliyle çalıştırılsa bile aylarca veya yıllarca sensör verilerinden sonuçlar çıkarmaya devam edebilir.
- Daha az maliyet: Düşük maliyetli 32 bit mikrodenetleyiciler veya DSP'ler üzerinde çalışacak şekilde tasarlanmıştır. Bu mikrodenetleyicilerin her biri tipik olarak birkaç senttir ve onlarla geliştirilen toplam gömülü sistem 50 dolardan azdır. Bu, küçük makine öğrenimi programlarını büyük ölçekte çalıştırmak için çok uygun maliyetli bir seçenektir ve özellikle makine öğreniminin uygulanması gereken IoT uygulamalarında faydalıdır.
- Düşük Gecikme: Ağ üzerinden veri aktarımı veya alışverişi yapmaları gerekmediğinden uygulamalarının gecikme süresi düşüktür. Tüm sensör verileri yerel olarak kaydedilir ve önceden eğitilmiş bir model kullanılarak sonuçlar çıkarılır. Çıkarımların sonuçları, cihazın çalışması için gerekli olmasa da, günlüğe kaydetme veya ek işleme için bir sunucuya veya buluta gönderilebilir. Bu, ağ gecikmesini en aza indirir ve bir bulut veya sunucu üzerinde gerçekleştirilecek makine öğrenimi işlemleri ihtiyacını ortadan kaldırır.
- Gizlilik: İnternet ve nesnelerin interneti ile ilgili büyük bir endişe kaynağıdır. TinyML uygulamalarındaki makine öğrenimi çalışması, sensör/kullanıcı verilerini bir sunucuya/buluma depolamadan veya göndermeden yerel olarak gerçekleştirilir. Sonuç olarak, bir ağa bağlı olsalar bile, bu uygulamaların kullanımı güvenlidir ve hiçbir gizlilik riski oluşturmaz.
Uygulamalar
- Tarım – Ne zaman çiftçiler bir bitkinin fotoğrafını çeker, TensorFlow Lite uygulaması içindeki hastalıkları tespit eder. Herhangi bir cihazda çalışır ve internet bağlantısı gerektirmez. Prosedür, tarımsal çıkarları korur ve kırsal çiftçiler için kritik bir gerekliliktir.
- Mekanik Bakım – TinyML, düşük güçlü cihazlarda kullanıldığında, bir makinedeki kusurları sürekli olarak tespit edebilir. Tahmine dayalı bakım gerektirir. Avustralyalı bir start-up olan Ping Services, kendisini türbinin dışına bağlayarak rüzgar türbinlerini izleyen bir IoT aygıtı tanıttı. Olası bir sorun veya arıza tespit ettiğinde yetkililere haber verir.
- Hastaneler – Solar Scare bir projedir. Sivrisinek, dang ve sıtma gibi hastalıkların yayılmasını durdurmak için TinyML'yi kullanır. Güneş enerjisiyle çalışır ve sivrisinek üremesini engellemek için suya sinyal vermeden önce sivrisinek üreme koşullarını algılar.
- Trafik Gözetimi – Tarafından TinyML'yi gerçek zamanlı trafik verilerini toplayan sensörlere uygulayarak, trafiği daha iyi yönlendirmek ve acil durum araçlarının yanıt sürelerini kısaltmak için bunları kullanabiliriz. Örneğin Swim.AI, akıllı yönlendirme yoluyla tıkanıklığı ve emisyonları azaltırken yolcu güvenliğini artırmak için veri akışında bu teknolojiyi kullanır.
- Kanun: TinyML, makine öğrenimi ve jest tanıma kullanarak isyan ve hırsızlık gibi yasa dışı eylemleri belirlemek için kolluk kuvvetlerinde kullanılabilir. Banka ATM'lerinin güvenliğini sağlamak için de benzer bir program kullanılabilir. Bir TinyML modeli, kullanıcı davranışını izleyerek, kullanıcının bir işlemi tamamlayan gerçek bir tüketici mi yoksa ATM'yi hacklemeye veya yok etmeye çalışan bir davetsiz misafir mi olduğunu tahmin edebilir.
TinyML'ye nasıl başlanır?
TinyML'yi TensorFlow Lite'ta kullanmaya başlamak için uyumlu bir mikro denetleyici kartına ihtiyacınız olacak. Mikrodenetleyiciler için TensorFlow Lite, aşağıda listelenen mikro denetleyicileri destekler.
- Wio Terminali: ATSAMD51
- Himax WE-I Plus EVB Uç Nokta AI Geliştirme Kartı
- STM32F746 Keşif kiti
- Adafruit Kenar Rozeti
- Özet DesignWare ARC EM Yazılım Geliştirme Platformu
- Sony Ekspres
- Arduino Nano 33 BLE Anlam
- KıvılcımEğlence Kenarı
- Mikrodenetleyici Kiti için Adafruit TensorFlow Lite
- Adafruit Devre Bahçesi Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-GÖZ
Bunlar, bir makine öğrenme modelini yürütmek için yeterli flash belleğe, RAM'e ve saat frekansına sahip 32 bit mikro denetleyicilerdir. Kartlarda ayrıca herhangi bir gömülü programı çalıştırabilen ve hedeflenen uygulamaya makine öğrenimi modelleri uygulayabilen bir dizi yerleşik sensör bulunur. İle bir makine öğrenimi modeli oluşturun, bir donanım platformuna ek olarak bir dizüstü bilgisayara veya bilgisayara ihtiyacınız olacak.
Her donanım platformunun, Mikrodenetleyiciler için TensorFlow Lite paketini kullanan makine öğrenimi modelleri oluşturmak, eğitmek ve taşımak için kendi programlama araçları vardır. TensorFlow Lite'ı kullanmak ve değiştirmek ücretsizdir çünkü açık kaynak.
TinyML ve TensorFlow Lite'ı kullanmaya başlamak için tek ihtiyacınız olan yukarıda bahsedilen gömülü donanım platformlarından biri, bir bilgisayar/dizüstü bilgisayar, bir USB kablosu, bir USB'den Seriye dönüştürücü - ve gömülü sistemlerle makine öğrenimi uygulama arzusu .
Zorluklar
TinyML'nin ilerlemesi birçok olumlu sonuç vermiş olsa da, makine öğrenimi endüstrisi hala önemli engellerle karşı karşıya.
- Yazılım çeşitliliği – Elle kodlama, kod oluşturma ve ML yorumlayıcılarının tümü, modelleri TinyML cihazlarına dağıtmak için seçeneklerdir ve her biri farklı miktarda zaman ve çaba gerektirir. Bunun sonucunda farklı performanslar ortaya çıkabilir.
- Donanım çeşitliliği – Var çeşitli donanım seçenekleri mevcuttur. TinyML platformları, genel amaçlı mikro denetleyicilerden son teknoloji nöral işlemcilere kadar her şey olabilir. Bu, farklı mimariler arasında model dağıtımıyla ilgili sorunlara neden olur.
- Sorun giderme/hata ayıklama – Ne zaman Bir ML modeli bulutta düşük performans gösterir, verilere bakmak ve neyin yanlış gittiğini anlamak kolaydır. Bir model binlerce TinyML cihazına yayıldığında ve buluta geri dönen veri akışı olmadan hata ayıklama zorlaşır ve farklı bir yöntem gerektirebilir.
- Bellek kısıtlamaları – Geleneksel Akıllı telefonlar ve dizüstü bilgisayarlar gibi platformlar gigabayt RAM'e ihtiyaç duyarken TinyML cihazları kilobayt veya megabayt kullanır. Sonuç olarak, dağıtılabilecek modelin boyutu sınırlıdır.
- Model eğitimi – Her ne kadar ML modellerini TinyML cihazlarında dağıtmanın çeşitli avantajları vardır, ML modellerinin çoğu yineleme yapmak ve model doğruluğunu sürekli olarak iyileştirmek için bulutta hala eğitilmektedir.
gelecek
Küçük ayak izi, düşük pil tüketimi ve internet bağlantısının olmaması veya sınırlı olması ile TinyML, gelecekte büyük bir potansiyele sahiptir. yapay zeka uç cihazlarda veya bağımsız gömülü gadget'larda uygulanacaktır.
IoT uygulamalarını güçlendirerek daha özel ve güvenli hale getirecek. Rağmen TensorFlow Lite şu anda mikrodenetleyiciler ve mikro bilgisayarlar için tek makine öğrenimi çerçevesidir, sensör ve ARM'nin CMSIS-NN'si gibi diğer karşılaştırılabilir çerçeveler de çalışmaktadır.
TensorFlow Lite, Google Ekibi ile müthiş bir başlangıç yapan, devam eden açık kaynaklı bir proje olsa da, ana akıma girebilmek için hâlâ topluluk desteğine ihtiyacı var.
Sonuç
TinyML, gömülü sistemleri makine öğrenimi ile birleştiren yeni bir yaklaşımdır. Dar AI, birçok dikey ve alanda zirveye ulaştığından, teknoloji, makine öğrenimi ve yapay zekada öne çıkan bir alt alan olarak ortaya çıkabilir.
IoT sektörünün ve makine öğrenimini birçok alana özgü disipline uygulayan profesyonellerin şu anda karşı karşıya olduğu sayısız zorluğa bir çözüm sunar.
Makine öğrenimini kullanma kavramı küçük bir bilgi işlem ile uç cihazlar ayak izi ve güç tüketimi, gömülü sistemlerin ve robotiklerin inşa edilme şeklini önemli ölçüde değiştirme potansiyeline sahiptir.
Yorum bırak