TinyML, Tiny Machine Learning için kullanılan bir kısaltmadır ve önümüzdeki yıllarda ilgi çekmesi beklenen yeni bir teknolojidir. Temel olarak gömülü sistemleri ve makine öğrenimini birleştiren ve karmaşık modellerin son derece düşük güçlü mikrodenetleyicilerde çalıştırılmasını içeren bir araştırma dalıdır.
Makine Öğrenimi Nedir?
TinyML’in neden demek olduğunu öğrenmeden önce, makine öğreniminin temellerini anlamanız çok önemlidir.
Makine öğrenimi, insanların öğrenme şeklini taklit etmek ve doğruluğunu kademeli olarak geliştirmek için veri ve algoritmaların kullanımına odaklanan yapay zeka (AI) ve bilgisayar biliminin bir dalıdır. Bir makine öğrenimi sistemi, açıkça programlanmadan kendi deneyimlerinden öğrenebilir. Makine öğreniminin amacı, verilere dayalı olarak kendi kendine öğrenebilen bilgisayar programları oluşturmaktır. Makine öğrenimi süreci gözlemlere veya verilere, ilk elden deneyimlere veya talimatlara dayanır. Verilen örneklere dayanarak, sonuç çıkarmak için verilerdeki örüntüleri araştırır. Makine öğrenimi, bilgisayarların otonom olarak öğrenmelerini ve öğrendiklerine göre eylemlerini ayarlamalarını sağlamayı amaçlamaktadır.
Geleneksel bilgisayarlar sorunları kendi başlarına çözemezler, ancak makine öğrenimi ile geçmiş verilerden ve sonuçlardan öğrenebilir ve gelecekte çok sayıda senaryoya dayanarak inanılmaz hızlarda daha iyi kararlar verebilirler. Bir perakendeciden online alışveriş yaptığınızda ve ürün önerileri aldığınızda, önerilerin genellikle dikkat çekici derecede doğru olduğunu fark etmişsinizdir. Bunun nedeni makine öğrenimidir; perakendecinin yapay zekası, zevkleriniz değişse bile ne satın alacağınızı tahmin etme konusunda sürekli olarak gelişmektedir.
TinyML Nedir?
TinyML, makine öğreniminin ağ uç noktalarının yakınındaki düşük güçlü bilgi işlem cihazlarında uygulanmasını tanımlar. Tek CPU gücüne sahip cihazlar, sıkı bellek kısıtlamaları ve kısa pil ömrü ile birlikte bu cihazların çoğunu oluşturur. TinyML, küçük cihazlara makine öğrenimi çıkarımlarını doğrudan cihaz üzerinde gerçekleştirme kapasitesi verirken bulut bağlantısına olan ihtiyacı da ortadan kaldırır. Yerel işleme yeteneklerine sahip cihazlar aracılığıyla çok çeşitli endüstri olanaklarına erişilebilir hale gelmektedir.
TinyML Temeli
TinyML modellerinin minimum işlem kapasitesi talebi, eğitimli ML programlarının yavaş CPU performansı ile 400 KB’ın altındaki RAM miktarları gibi kısıtlı kapasitelere sahip cihazlarda çalışmasını sağlar. TinyML teknolojisini uygulayan cihazlar arasında gömülü sensörler ve giyilebilir cihazlar ile IoT (Nesnelerin İnterneti) cihazları yer alabilir.
TinyML modelleri veri işlemeyi uzak bulut sunucularına iletmek yerine doğrudan verinin geldiği cihaz üzerinde gerçekleştirir. Bu teknik ağ gecikmelerini önler ve veri güvenliğini artırır.
TinyML’nin Avantajları
Gömülü cihazlarda TinyML kullanmanın avantajları aşağıdakileri içermektedir:
- Güç tasarrufu sağlar: Mikrodenetleyiciler düşük güç kullanır ve pillerle uzun süre çalışabilir. Enerji tasarrufu sağlar ve uygun maliyetli hale getirir.
- Veri yolunda gecikme olmaz: Her seferinde sunucuya veri göndermeye gerek yoktur ve işlem sensör üzerinde yapıldığı için gönderilen veri hacim olarak büyük değildir (örneğin, ses gönderilmez ancak olay metin olarak gönderilir).
- İnternet gerekmez: Veriler her seferinde sunucuya gönderilmediği için işlem daha az bant genişliği ile ve bazen internet kullanılmadan gerçekleşir. Yani bağlantıya bağımlı değildir.
- Veri Gizliliği: Veriler harici kullanıcılara veya web sitelerine gönderilmediği için veriler güvende kalır ve gizlilik korunur.
TinyML Neden Önemlidir?
Makine öğreniminin hızla popülerlik ve kullanım kazandığı bir dünyada, bunu uçta uygulama yeteneği daha önemli hale gelmektedir. Büyük bulut sağlayıcıları, devasa veri kümeleri üzerinde ML modellerini paralel olarak çalıştıran binlerce sunucuya sahip veri merkezleri oluştururken TinyML, bir işletmenin ihtiyaçlarına göre basit görevleri yerine getirebilecek yalnızca bir veya iki cihazı uygulama olanağı sunar.
Örneğin, bir akıllı ev aletleri şirketi, cihazlarının gerçek zamanlı elektrik fiyat dalgalanmalarına göre güç tüketimini otomatik olarak ayarlamasını istediğini, ancak tüm cihazları için maliyetli bir veri merkezi inşa etmek üzere milyonlarca dolar yatırım yapmak istemediğini varsayalım. Bunun yerine, TinyML algoritmalarını her bir cihaza yerleştirerek, mevcut durum göz önüne alındığında ne kadar güç azaltılması gerektiğini bağımsız olarak öğrenebilirler (örneğin, günün hangi saatinde ve evdeki diğer cihazlar tarafından ne kadar enerji tüketildiği).
Bir otomobil üreticisi, sürücüsüz araç filosunu bir yolculuk paylaşım hizmeti için kullanmak istiyorsa, ancak bu noktada tam otonomiye yatırım yapmak istemiyorsa, TinyML algoritmalarını araçlarına yerleştirebilir, böylece her biri önceki yolculuklardan toplanan verilere (örneğin, hız sınırları ve trafik düzenleri) dayalı örüntü algılamayı kullanarak bağımsız olarak hareket eder.
TinyML’in Uç Bilişim Üzerindeki Etkisi
Edge computing (uç bilişim), daha hızlı yanıt süreleri elde edebilmek amacıyla bulut bilişimin kullanıcıya daha yakın bir noktaya taşınmasını ifade eder. Bu yaklaşımın temelinde, yalnızca anında işlenmesi gereken verilerin yerel olarak ele alınarak, tüm verilerin internet üzerinden sürekli olarak iletilmesinden kaçınılması fikri yatar.
TinyML, gerekli olanın ötesinde hiçbir şey yüklemeden her cihazda makine öğrenimi algoritmaları çalıştırarak cihazlara özerk bir avantaj sağlamanın yollarını bulur. Bu sayede TinyML destekli cihazlar yalnızca daha iyi performans göstermekle kalmaz, aynı zamanda büyük veri kümelerine sahip merkezi sunuculara doğrudan bağlandıklarında olduğundan çok daha az güce ihtiyaç duyarak maliyet ve zamandan tasarruf ederken kullanıcı deneyimini de iyileştirir.
TinyML Nasıl Çalışır?
TinyML tarafından dayatılan önemli kaynak kısıtlamaları dahilinde çalışmak için gömülü tinyML algoritmaları aşağıdaki stratejileri benimser:
- Model eğitimi (daha fazla kaynak yoğun) yerine yalnızca önceden eğitilmiş bir modelin çıkarımı (daha az kaynak yoğun) uygulanmaktadır.
- TinyML modellerinin temelini oluşturan sinir ağları, bazı sinapslar (bağlantılar) ve nöronlar (düğümler) çıkarılarak sadeleştirilir.
- Sayısal değerleri depolamak için gereken belleği azaltmak için, örneğin kayan noktalı sayıları (her biri 4 bayt) 8 bitlik tamsayılara (her biri 1 bayt) çevirerek niceleme kullanılır
- Bilgi damıtma, bir modelin yalnızca en önemli özelliklerinin belirlenmesine ve korunmasına yardımcı olmak için kullanılır.
Bu stratejilerden bazıları model doğruluğunun azalmasına neden olabilir.
Örneğin, sinir ağlarını nicelleştirmek, bir ağın ilişkileri yakalayabileceği ve sonuçları çıkarabileceği ayrıntı düzeyini azaltır. Bu nedenle, tinyML’de model boyutu ve doğruluğu arasında gerekli bir denge vardır ve bu stratejilerin uygulanma şekli tinyML sistem tasarımının önemli bir parçasıdır.
TinyML’in Uygulamaları
TinyML, son teknoloji cihazlarda başarılı bir şekilde çalışır ve birçok çözüm sunar. Bir eylemi gerçekleştirmek için ses komutlarına yanıt verebilir. Google Assistant ve Alexa TinyML’nin bazı örnekleridir. Cihazlar her zaman açıktır ve uyandırma kelimesini algılamak için sesinizi analiz eder.
Aşağıdaki listede TinyML teknolojisinin öne çıkan bazı kullanımları durumlarını bulabilirsiniz:
1. Uç Cihazlarda Konuşma ve Ses Tanıma
Konuşma ve ses tanıma, TinyML teknolojisinin uygulama alanı bulduğu başlıca alanlardan biridir. Popüler ses tanıma özelliklerine sahip akıllı ev asistanları, mikrofon modülünde yerel olarak çalışan TinyML modelleri aracılığıyla ”Hey Siri” gibi ”uyandırma sözcüklerini” işler. Cihazdaki konumundan yerel olarak çalıştığı için cihaz anında yanıt verebilirliğini korur, böylece enerji tasarrufu sağlarken ve kullanıcı gizliliğini korurken bulut sunucularına sürekli akıştan kaçınır.
Akıllı kulaklıklar ve işitme cihazları gibi modern işitme cihazları, kullanıcılara uyarlanabilir ses kontrol yeteneklerinin yanı sıra hızlı gürültü bastırma özellikleri ve ses etkinliği algılama sunmak için TinyML modellerini kullanır.
2. Çevresel İzleme ve Algılama
Gömülü çevresel izleme cihazları TinyML’den en iyi şekilde yararlanır, çünkü bu sistemler gaz kaçağı tespiti ve sıcaklık ve nem seviyelerinin ölçümünün yanı sıra hava kalitesi verilerinin yerel olarak işlenmesini gerektirir. Bu tür sensörler, güvenli olmayan durumları veya düzensizlikleri bulmak için bulundukları yere yakın işlenmiş verilerini analiz eder ve bu da hızlı uyarı oluşturulmasına olanak tanır. TinyML modelleri, bulut hizmetlerinden bağımsız olarak sensörleri analiz ederek bina karbon monoksit tehlikelerini tespit etmek için bağımsız olarak çalışır.
Uygulama, endüstriyel operasyonlarda ve tarımsal faaliyetlerde ve cihazların kesintisiz çalışmasına ihtiyaç duyan akıllı şehir altyapısında temel bir rol oynamaktadır.
3. Üretimde Kestirimci Bakım
İmalat endüstrisi, titreşim sıcaklıklarının ve seslerin algılanması ve değerlendirilmesi için imalat ekipmanına entegre olmak üzere TinyML özellikli sensörler kullanabilir. Bu uç sensörler, potansiyel ekipman arızasına işaret eden makine aşınma göstergelerini kontrol etmek için TinyML modellerini kullanarak işlenmiş yerel verileri analiz eder. İşletmeler, ekipman arızası meydana gelmeden önce bakım yaparak, kestirimci bakım teknikleriyle üretim kesintilerini azaltmanın yanı sıra masrafları da azaltabilir.
4. Görüntü ve Hareket Tanıma
Bu cihazlar, gömülü kameralarda TinyML kullanarak akıllı ev ortamlarında ve perakende ortamlarında el hareketlerini okumanın yanı sıra nesneleri ve yüzleri tanıyabilir. Akıllı bir güvenlik kamerası, tanıdık aile üyeleri ile olası davetsiz misafirleri birbirinden ayırmak için TinyML kullanarak kişi yaklaşımlarını izler. Hareket tanıma olarak bilinen teknoloji, akıllı aydınlatma ve TV’lerin basit el hareketlerini anlamasını sağlayarak kullanıcıların bu sistemleri herhangi bir teknik karmaşıklık olmadan kontrol etmesine olanak tanır.
5. Sağlık İzleme ve Giyilebilir Cihazlar
TinyML, giyilebilir cihazlarla birlikte sağlık izleme cihazlarına güç veren hayati bir bileşen olarak işlev görür. TinyML, akıllı saatlerle birlikte fitness bantlarının kalp atış hızı, adım sayısı ve uyku aşaması bio sinyallerinin toplamasını sağlayarak doğrudan cihaz üzerinde özelleştirilmiş sağlık geri bildirimi oluşturmalarına olanak tanır. TinyML, küçük ve enerji verimli cihazların, internete veri göndermeye gerek kalmadan, kendi başlarına çalışarak ani sağlık sorunlarını (örneğin kalp ritmi bozukluğu ya da düşme gibi olayları) anında fark edebilmesini sağlar.
İzleme cihazlarıyla birlikte tıbbi implantlar, daha iyi veri gizliliğinin yanı sıra daha düşük güç kullanımı ve gelişmiş güvenilirlik sağladığı için TinyML’den faydalanmaktadır.
6. Endüstriyel IoT ve Otomasyon
Endüstriyel otomasyon sistemleri, anında kontrol sistemi izleme ve analiz işlevleri için TinyML gömülü sensörler ve aktüatörler aracılığıyla giriş bilgilerini işler. TinyML kullanan gömülü sistemler enerji verimliliklerini en üst düzeye çıkarabilirken aynı zamanda bulut merkezli operasyonlardan bağımsız olarak kalite ölçümlerini ve otomasyon akışlarını iyileştirebilir. Üretim hattı kusurları artık yerel sensör veya kamera analizi yoluyla tespit edilebilmekte ve bu da TinyML tarafından anında düzeltici eylemlerle sonuçlanmaktadır.
7. Enerji Yönetimi ve Akıllı Altyapı
TinyML tabanlı sistemler, sensör veri analizi yoluyla kendinden uyarlamalı HVAC kontrol kararları ve aydınlatma ayarlamaları uygulayan enerji tasarruflu binalar oluşturur. TinyML modelleri aracılığıyla çevresel koşullarla birlikte doluluk modellerinin analizi, ilgili kullanımı optimize etmek için cihaz içinde gerçekleşir.
TinyML Neden Kullanılmalıdır?
TinyML, IoT cihazları ile makine öğrenimi topluluğunu birbirine bağlamada önemli bir rol oynamaktadır. Bu teknoloji, IoT cihazlarının etkileşim kurma ve verileri işleme şeklini değiştirmektedir. Geleneksel olarak IoT cihazları verileri, barındırılan makine öğrenimi modellerinin çıkarımlar yaptığı ve içgörüler sağladığı buluta gönderir. TinyML ile, verileri buluta göndermeden çıkarım ve içgörü elde etmek için IoT cihazlarına makine öğrenimi modelleri yerleştirmek mümkündür.
TinyML’nin doğası, standart ML sistemlerinin karşılaştığı temel zorlukları çözdüğü için yalnızca bir yenilik teknolojisinden daha fazlası olarak işlev görür.
1. Gecikme Azaltma
ML işleme yerel olarak gerçekleştiğinde, bulut tabanlı işlemeye kıyasla yanıt süresini en aza indirir. Ses tanıma, hareket kontrolü ve anormallik tespiti kullanan uygulamaların zamanında çalışması, milisaniyeler içinde yerel yanıtlara bağlıdır çünkü bulut-sunucu iletişimi arasındaki herhangi bir gecikme kabul edilemez olacaktır.
2. Gizlilik ve Güvenlik
Sağlık kayıtları, ses kayıtları ve görüntü dosyaları gibi hassas girdiler cihazdan ayrılmadığı için çalışan verilerinin korunması cihaz düzeyinde gerçekleşir ve bu da daha iyi gizlilik ve daha az veri ihlali riski ile sonuçlanır.
3. Bant Genişliği ve Maliyet Verimliliği
Cihaz üzerinde veri işleme, ağların iletmesi gereken bilgi miktarını azalttığı için operasyonel giderlerin düşürülmesi mümkün hale gelmektedir. Büyük sensör veri hacimleri üreten çok sayıda cihazın işlenmesi, etkili olmak için bu yeteneği gerektirir.
4. Güvenilirlik ve Erişilebilirlik
TinyML cihazları, tarım alanları ve endüstriyel yerler gibi bağlantısız ortamlar için uygun hale gelir, çünkü bu cihazlar ağ erişimi gerektirmeden çalışır.
5. Pil Ömrü
TinyML, enerji tasarruflu model optimizasyonu sayesinde cihazların pil ömrünü uzatır, bu da özellikle giyilebilir teknoloji ve pille çalışan sensörler için önemlidir.
Teknik Zorluklar ve Dikkat Edilmesi Gerekenler
TinyML dağıtımı, sisteme çeşitli faydalar sağlarken uygulamaya yönelik belirli zorlukları da beraberinde getirmektedir:
TinyML’de kullanılan modeller yüksek oranda sıkıştırılmış yapılar gerektirir, ancak bu önlemler doğruluk seviyelerini düşürebilir.
Mikrodenetleyiciler, standart işlemcilere kıyasla sınırlı işlem yetenekleri ve depolama kapasitesine sahip bilgileri analiz ettiği için geliştirme kısıtlamalarla karşı karşıyadır.
TinyML modellerinin birden fazla cihaza dağıtılması, güncelleme süreçleriyle ilgili zorluklar ortaya çıkarmaktadır, çünkü birleştirilmiş öğrenme ve kablosuz güncellemeler bu karmaşıklığı ele almak için yenilikçi çözümler sunmaktadır.
TinyML cihazları, koruma eksiklikleri nedeniyle kendilerini fiziksel kurcalama tehditlerine maruz bırakmaktadır. Güvenlik yaklaşımı, hem programlama kodu hem de ekipman temelleri için koruma önlemleri içermelidir.
TinyML’in Geleceği
Çip üreticileri tarafından makine öğrenimine adanmış daha verimli ve güçlü donanımlar, TinyML’nin çok sayıda IoT cihazında yaygınlaşmasına yol açacaktır. Mikrodenetleyiciler için TensorFlow Lite ve Edge Impulse gibi çerçeve çözümleri ML modellerinin oluşturulmasını ve uygulanmasını kolaylaştırmaktadır.
Gelecekteki standart yaklaşım, TinyML’nin yerel çıkarım yapmasını içerirken, bulut makine öğreniminin karmaşık analitik ve sürekli öğrenme görevlerini ele almasını içerecektir.
Akıllı donanım teknolojilerinin evrimi, uzmanların otonom insansız hava araçları ve sağlık teşhisinin yanı sıra çevresel izleme ve endüstriyel otomasyonun yanı sıra akıllı evlerdeki gelişmeleri yönlendireceğini öngördüğü küçük uygun fiyatlı cihazlara gömülü akıllı sistemler yaratacaktır.
Sonuç olarak TinyML, güç tasarruflu küçük donanımlar içinde makine öğrenimi işlemlerini mümkün kıldığı için uç bilişim alanında bir dönüşüm yaşanmaktadır. TinyML teknolojisi, sesli asistanlar ve sağlık monitörleri, endüstriyel IoT sistemleri ve akıllı şehirler işlevleri gibi mekanizmalar aracılığıyla milyarlarca cihazın özerk kalırken daha akıllı ve hızlı bir şekilde çalışabilmesini sağlar.
TinyML, temel altyapı ve günlük nesnelerde yapay zekanın yaygın olarak benimsenmesini sağlamak için azaltılmış güç tüketimi ve artırılmış güvenilirliğin yanı sıra iyileştirilmiş gizlilik ile birlikte azaltılmış gecikme süresi sağlayan üretim verilerine zekanın yakınlığını sağlar.