Inteligență artificială
TinyML: Aplicații, Limitări și Utilizarea sa în Dispozitive IoT și Edge

În ultimii ani, Inteligența Artificială (AI) și Învățarea Automată (ML) au cunoscut o creștere meteorică a popularității și aplicațiilor, nu numai în industrie, dar și în mediul academic. Cu toate acestea, modelele actuale de ML și AI au o limitare majoră: necesită o cantitate imensă de putere de calcul și procesare pentru a obține rezultatele și acuratețea dorite. Acest lucru le limitează adesea utilizarea la dispozitive cu capacitate ridicată și putere de calcul substanțială.
Însă, având în vedere progresele realizate în tehnologia sistemelor înglobate și dezvoltarea substanțială a industriei Internetului Lucrurilor, este de dorit să se incorporeze utilizarea tehnicilor și conceptelor de ML într-un sistem înglobat cu resurse limitate, pentru inteligență ubicuă. Dorința de a utiliza concepte de ML în dispozitive înglobate și IoT este factorul motivator principal din spatele dezvoltării TinyML, o tehnică de ML înglobată care permite modele și aplicații de ML pe multiple dispozitive cu resurse limitate, limitate de putere și ieftine.
Cu toate acestea, implementarea ML pe dispozitive cu resurse limitate nu a fost simplă, deoarece implementarea modelelor de ML pe dispozitive cu putere de calcul scăzută prezintă provocări în ceea ce privește optimizarea, capacitatea de procesare, fiabilitatea, întreținerea modelelor și multe altele.
În acest articol, vom face o analiză mai profundă a modelului TinyML și vom învăța mai multe despre fundalul său, despre instrumentele care susțin TinyML și despre aplicațiile TinyML utilizând tehnologii avansate. Deci, să începem.
Introducere în TinyML: De ce are nevoie lumea de TinyML
Dispozitivele Internetului Lucrurilor (IoT) își propun să exploateze calculul de margine, un paradigma de calcul care se referă la o serie de dispozitive și rețele aproape de utilizator pentru a permite procesarea în timp real a datelor de la milioane de senzori și dispozitive interconectate. Unul dintre principalele avantaje ale dispozitivelor IoT este că necesită o putere de calcul și procesare scăzută, deoarece pot fi dezvoltate la marginea rețelei și, prin urmare, au o amprentă de memorie scăzută.
Mai mult, dispozitivele IoT se bazează puternic pe platformele de margine pentru a colecta și transmite datele, deoarece dispozitivele de margine colectează date senzoriale și le transmit apoi fie către o locație apropiată, fie către platforme cloud pentru procesare. Tehnologia de calcul de margine stochează și efectuează calculul datelor și oferă, de asemenea, infrastructura necesară pentru a susține calculul distribuit.
Implementarea calculului de margine în dispozitivele IoT oferă
- Securitate, confidențialitate și fiabilitate eficiente pentru utilizatori.
- Întârziere scăzută.
- Disponibilitate mai mare și răspuns la aplicații și servicii.
Mai mult, deoarece dispozitivele de margine pot utiliza o tehnică colaborativă între senzori și cloud, procesarea datelor poate fi efectuată la marginea rețelei, în loc să fie efectuată pe platforma cloud. Acest lucru poate duce la o gestionare eficientă a datelor, persistență a datelor, livrare eficientă și stocare a conținutului. În plus, pentru a implementa IoT în aplicații care implică interacțiunea om-mașină și îngrijirea sănătății moderne, calculul de margine oferă o modalitate de a îmbunătăți semnificativ serviciile de rețea.
Cercetările recente în domeniul calculului de margine IoT au demonstrat potențialul de a implementa tehnici de ML în mai multe cazuri de utilizare IoT. Cu toate acestea, problema majoră este că modelele tradiționale de ML necesită o putere de calcul și procesare puternică și o capacitate de memorie ridicată, ceea ce limitează implementarea modelelor de ML în dispozitive și aplicații IoT.
Mai mult, tehnologia de calcul de margine lipsește astăzi în ceea ce privește capacitatea de transmisie ridicată și economia de putere, ceea ce duce la sisteme eterogene, care este principalul motiv pentru necesitatea unei infrastructuri armonioase și holistice, în special pentru actualizarea, instruirea și implementarea modelelor de ML. Arhitectura proiectată pentru dispozitive înglobate prezintă o altă provocare, deoarece aceste arhitecturi depind de cerințele de hardware și software care variază de la dispozitiv la dispozitiv. Este motivul principal pentru care este dificil să se construiască o arhitectură standard de ML pentru rețelele IoT.
De asemenea, în scenariul actual, datele generate de diferite dispozitive sunt trimise către platformele cloud pentru procesare, din cauza naturii computațional intensive a implementărilor de rețea. Mai mult, modelele de ML sunt adesea dependente de învățarea profundă, rețelele neuronale profunde, circuitele integrate specifice aplicației (ASIC) și unitățile de procesare grafică (GPU) pentru procesarea datelor și adesea au o putere și o memorie ridicată. Implementarea modelelor de ML complete pe dispozitive IoT nu este o soluție viabilă, din cauza lipsei evidente de putere de calcul și procesare și a soluțiilor de stocare limitate.
Cererea de a miniaturiza dispozitive înglobate de putere scăzută, împreună cu optimizarea modelelor de ML pentru a le face mai eficiente în ceea ce privește puterea și memoria, a deschis calea pentru TinyML, care își propune să implementeze modele și practici de ML pe dispozitive IoT și cadre de margine. TinyML permite procesarea semnalelor pe dispozitive IoT și oferă inteligență înglobată, eliminând astfel necesitatea de a transfera date către platformele cloud pentru procesare. Implementarea cu succes a TinyML pe dispozitive IoT poate duce în cele din urmă la o creștere a confidențialității și a eficienței, reducând în același timp costurile de operare. În plus, ceea ce face TinyML și mai atractiv este că, în caz de conectivitate inadecvată, poate oferi analize on-premise.
TinyML: Introducere și Prezentare Generală
TinyML este un instrument de ML care are capacitatea de a efectua analize pe dispozitiv pentru diferite modalități de detectare, cum ar fi audio, vizual și vorbire. Modelele de ML construite pe instrumentul TinyML au cerințe scăzute de putere, memorie și calcul, ceea ce le face potrivite pentru rețele și dispozitive înglobate care funcționează pe baterii.
În scenariul actual, sistemele de ML bazate pe cloud se confruntă cu câteva dificultăți, inclusiv probleme de securitate și confidențialitate, consum ridicat de putere, dependență și probleme de întârziere, ceea ce face ca modelele pe platforme hardware-software să fie preinstalate. Senzorii colectează datele care simulează lumea fizică și sunt apoi procesate utilizând un CPU sau un MPU (Unitate de Procesare Micro). MPU răspunde nevoilor de suport analitic de ML activate de rețele și arhitecturi de margine. Arhitectura de ML de margine comunică cu cloud-ul de ML pentru transferul de date și implementarea TinyML poate duce la o avansare semnificativă a tehnologiei.
Ar fi corect să spunem că TinyML este o combinație de software, hardware și algoritmi care lucrează în armonie pentru a oferi performanța dorită. Calculul analog sau de memorie poate fi necesar pentru a oferi o experiență de învățare mai bună și mai eficientă pentru dispozitivele hardware și IoT care nu suportă acceleratoare de hardware. În ceea ce privește software-ul, aplicațiile construite utilizând TinyML pot fi implementate și deployate pe platforme precum Linux sau Linux înglobat și pe software-ul activat de cloud. În cele din urmă, aplicațiile și sistemele construite pe algoritmul TinyML trebuie să aibă sprijinul unor algoritmi noi care necesită modele cu dimensiuni mici de memorie pentru a evita consumul ridicat de memorie.
Pentru a rezuma, aplicațiile construite utilizând instrumentul TinyML trebuie să optimizeze principiile și metodele de ML, împreună cu proiectarea software-ului în mod compact, în prezența unor date de calitate. Aceste date trebuie apoi să fie flashate prin fișiere binare generate utilizând modele antrenate pe mașini cu o capacitate și o putere de calcul mult mai mari.
În plus, sistemele și aplicațiile care rulează pe instrumentul TinyML trebuie să ofere o acuratețe ridicată atunci când funcționează în condiții de constrângere mai stricte, deoarece se necesită software compact pentru un consum redus de putere care să susțină implicațiile TinyML. În plus, modulele sau aplicațiile TinyML pot depinde de puterea bateriei pentru a-și susține operațiunile pe sisteme înglobate de margine.
Cu toate acestea, aplicațiile TinyML au două cerințe fundamentale
- Capacitatea de a scala miliarde de dispozitive înglobate ieftine.
- Stocarea codului pe memoria dispozitivului cu o capacitate sub câteva KB.
Aplicații ale TinyML utilizând tehnologii avansate
Una dintre principalele motive pentru care TinyML este un subiect fierbinte în industria AI și ML este potențialul său de aplicații, inclusiv aplicații bazate pe vedere și vorbire, diagnosticare medicală, comprimare și clasificare a datelor, interfață creier-calculator și mai mult.
Aplicații bazate pe vorbire
Comunicații vocale
În mod normal, aplicațiile bazate pe vorbire se bazează pe metode de comunicație convenționale, în care toate datele sunt importante și sunt transmise. Cu toate acestea, în ultimii ani, a apărut o comunicație semantică ca o alternativă la comunicația convențională, în care se transmite doar sensul sau contextul datelor. Comunicația semantică poate fi implementată în aplicații bazate pe vorbire utilizând metodologii TinyML.
Unele dintre cele mai populare aplicații din industria de comunicații vocale de astăzi sunt detectarea vocii, recunoașterea vocii, învățarea online, predarea online și comunicația orientată spre obiective. Aceste aplicații necesită de obicei un consum ridicat de putere și au cerințe de date ridicate pe dispozitivul gazdă. Pentru a depăși aceste cerințe, a fost introdusă o bibliotecă TinySpeech care permite dezvoltatorilor să construiască o arhitectură de calcul redus care utilizează rețele neuronale profunde pentru a construi o facilitate de stocare redusă.
Pentru a utiliza TinyML pentru îmbunătățirea vocii, dezvoltatorii au abordat mai întâi dimensiunea modelului de îmbunătățire a vocii, deoarece era supusă unor limitări și constrângeri de hardware. Pentru a aborda problema, au fost implementate tehnici de tăiere structurată și cuantificare întreagă pentru modelul de îmbunătățire a vocii RNN (Rețea Neuronală Recurentă). Rezultatele au arătat că dimensiunea modelului a fost redusă cu aproximativ 12 ori, în timp ce operațiunile au fost reduse cu aproximativ 3 ori. În plus, este esențial ca resursele să fie utilizate eficient, în special atunci când sunt implementate pe aplicații cu resurse limitate care execută aplicații de recunoaștere a vocii.
Ca urmare, pentru a partitiona procesul, a fost propusă o metodă de co-proiectare pentru aplicații de voce și recunoaștere a vocii bazate pe TinyML. Dezvoltatorii au utilizat operațiunea de ferestre pentru a partitiona software-ul și hardware-ul într-un mod care să preproceseze datele vocale brute. Metoda a părut să funcționeze, deoarece rezultatele au indicat o scădere a consumului de energie pe hardware.
Mai mult, cercetările recente au propus utilizarea unui transductor bazat pe telefon pentru sisteme de recunoaștere a vocii și propunerea are ca scop înlocuirea predictorilor LSTM cu un strat Conv1D pentru a reduce nevoia de calcul pe dispozitivele de margine. Atunci când a fost implementat, propunerea a returnat rezultate pozitive, deoarece SVD (Descompunerea Valorică Singulară) a comprimat cu succes modelul, în timp ce decodarea bazată pe WFST (Transductoare cu Stare Finanțată) a oferit mai multă flexibilitate în bias-ul modelului.
Multe aplicații proeminente de recunoaștere a vocii, cum ar fi asistenții virtuali sau vocali, subtitrarea live și comenzile vocale, utilizează tehnici de ML pentru a funcționa. Asistenții vocali populari, cum ar fi Siri și Asistentul Google, sondează platforma cloud de fiecare dată când primesc date, ceea ce creează preocupări semnificative legate de confidențialitate și securitate a datelor. TinyML este o soluție viabilă pentru problema respectivă, deoarece își propune să efectueze recunoașterea vocii pe dispozitive și să elimine nevoia de a migra date către platformele cloud. Una dintre modalitățile de a obține recunoașterea vocii pe dispozitiv este de a utiliza Tiny Transducer, un model de recunoaștere a vocii care utilizează un strat DFSMN (Bloc de Memorie Secvențială Profundă) cuplat cu un strat Conv1D în loc de straturile LSTM pentru a reduce nevoia de calcul și parametrii rețelei.
Ajutoare pentru auz
Pierderea auzului este o problemă majoră de sănătate la nivel global și capacitatea umană de a auzi sunete slăbește în general odată cu vârsta, fiind o problemă majoră în țări care se confruntă cu o populație îmbătrânită, inclusiv China, Japonia și Coreea de Sud. Dispozitivele de ajutor pentru auz funcționează în prezent pe principiul simplu de a amplifica toate sunetele de intrare din jur, ceea ce face dificil pentru persoană să diferențieze sau să distingă între sunetul dorit, în special într-un mediu zgomotos.
TinyML poate fi o soluție viabilă pentru această problemă, deoarece utilizarea unui model TinyLSTM care utilizează algoritmi de recunoaștere a vocii pentru dispozitive de ajutor pentru auz poate ajuta utilizatorii să diferențieze între diferite sunete.
Aplicații bazate pe vedere
TinyML are potențialul de a juca un rol crucial în procesarea seturilor de date de vedere, deoarece pentru a obține ieșiri mai rapide, aceste seturi de date trebuie procesate pe platforma de margine însăși. Pentru a realiza acest lucru, modelul TinyML se confruntă cu provocări practice în timpul antrenării modelului utilizând placa de microcontroler OpenMV H7. Dezvoltatorii au propus, de asemenea, o arhitectură pentru a detecta limba americană a semnelor utilizând un microcontroler ARM Cortex M7 care funcționează doar cu 496KB de memorie RAM a cadrelor.
Implementarea TinyML pentru aplicații bazate pe vedere pe platforme de margine a necesitat ca dezvoltatorii să depășească provocarea majoră a rețelelor neuronale convolutive (CNN) cu o eroare de generalizare ridicată și o acuratețe de antrenare și testare ridicată. Cu toate acestea, implementarea nu s-a generalizat eficient la imagini din cazuri de utilizare noi și din fundaluri cu zgomot. Când dezvoltatorii au utilizat metoda de interpolare a augmentării, modelul a returnat un scor de acuratețe de peste 98% pe datele de test și de aproximativ 75% în generalizare.

Mai mult, s-a observat că atunci când dezvoltatorii au utilizat metoda de interpolare a augmentării, a existat o scădere a acurateței modelului în timpul cuantificării, dar, în același timp, a existat și o creștere a vitezei de inferență a modelului și a generalizării clasificării. Dezvoltatorii au propus, de asemenea, o metodă pentru a crește și mai mult acuratețea modelului de generalizare antrenat pe date obținute dintr-o varietate de surse diferite și testat pentru a explora posibilitatea de a-l implementa pe platforme de margine, cum ar fi ceasurile inteligente portabile.
Mai mult, studii suplimentare despre CNN au indicat că este posibil să se implementeze și să se obțină rezultate dorite cu arhitectura CNN pe dispozitive cu resurse limitate. Recent, dezvoltatorii au reușit să dezvolte un cadru pentru detectarea măștilor medicale pe un microcontroler ARM Cortex M7 cu resurse limitate, utilizând TensorFlow Lite cu amprente de memorie minime. Dimensiunea modelului după cuantificare a fost de aproximativ 138 KB, în timp ce viteza de inferență pe placa țintă a fost de aproximativ 30 de cadre pe secundă.
O altă aplicație a TinyML pentru aplicații bazate pe vedere este de a implementa un dispozitiv de recunoaștere a gesturilor care poate fi fixat pe un baston pentru a ajuta persoanele cu deficiențe de vedere să navigheze cu ușurință prin viața de zi cu zi. Pentru a proiecta dispozitivul, dezvoltatorii au utilizat setul de date de gesturi și au antrenat modelul ProtoNN cu un algoritm de clasificare. Rezultatele obținute din configurație au fost precise, proiectul a fost ieftin și a oferit rezultate satisfăcătoare.
O altă aplicație semnificativă a TinyML este în industria vehiculelor autonome și fără șofer, din cauza lipsei de resurse și a puterii de calcul pe bord. Pentru a aborda această problemă, dezvoltatorii au introdus o metodă de învățare în buclă închisă construită pe modelul TinyCNN care a propus un model predictor online care capturează imaginea în timp real. Principala problemă cu care s-au confruntat dezvoltatorii atunci când au implementat TinyML pentru conducerea autonomă a fost că modelul de decizie care a fost antrenat pentru a funcționa pe date offline nu a funcționat la fel de bine atunci când s-a confruntat cu date online. Pentru a maximiza pe deplin aplicațiile mașinilor autonome și fără șofer, modelul ar trebui să poată adapta în timp real.
Clasificarea și comprimarea modelelor de date
Una dintre cele mai mari provocări ale cadrului TinyML actual este de a-l face să se adapteze la datele de antrenare online. Pentru a aborda această problemă, dezvoltatorii au propus o metodă numită TinyOL (TinyML Online Learning) care permite antrenarea cu învățare online incrementală pe unități de control microprocesor, permițând astfel modelului să se actualizeze pe dispozitivele IoT de margine. Implementarea a fost realizată utilizând limbajul de programare C++ și a fost adăugat un strat suplimentar în arhitectura TinyOL.
Mai mult, dezvoltatorii au efectuat, de asemenea, auto-încodarea plăcii de senzori Arduino Nano 33 BLE și modelul antrenat a fost capabil să clasifice noi modele de date. În plus, lucrul de dezvoltare a inclus proiectarea unor algoritmi eficienți și mai optimizați pentru rețelele neuronale pentru a sprijini antrenarea dispozitivelor online.
Cercetările în TinyOL și TinyML au indicat că numărul de straturi de activare a fost o problemă majoră pentru dispozitivele IoT cu resurse limitate. Pentru a aborda această problemă, dezvoltatorii au introdus noul model TinyTL (Tiny Transfer Learning) pentru a face utilizarea memoriei pe dispozitivele IoT de margine mult mai eficientă și evitând utilizarea straturilor intermediare pentru scopuri de activare. În plus, dezvoltatorii au introdus, de asemenea, un nou modul de bias numit “lite-residual module” pentru a maximiza capacitățile de adaptare și, în același timp, permite extracției de caracteristici să descopere hărți de caracteristici reziduale.
Atunci când a fost comparat cu reglarea fină a întregii rețele, rezultatele au fost în favoarea arhitecturii TinyTL, deoarece rezultatele au arătat că TinyTL reduce supraîncărcarea memoriei de aproximativ 6,5 ori, cu o pierdere moderată de acuratețe. Atunci când a fost reglată ultima strat, TinyML a îmbunătățit acuratețea cu 34%, cu o pierdere moderată de acuratețe.
Mai mult, cercetările privind comprimarea datelor au indicat că algoritmii de comprimare a datelor trebuie să gestioneze datele colectate pe un dispozitiv portabil și, pentru a realiza acest lucru, dezvoltatorii au propus TAC (Tiny Anomaly Compressor). TAC a reușit să depășească algoritmii SDT (Swing Door Trending) și DCT (Transformare Cosinus Discretă). În plus, algoritmul TAC a depășit atât algoritmii SDT, cât și DCT, realizând o rată de comprimare maximă de peste 98% și având un raport semnal-zgomot de vârf superior din cei trei algoritmi.
Diagnosticare medicală
Pandemia globală de Covid-19 a deschis noi oportunități pentru implementarea TinyML, deoarece este o practică esențială de a detecta în mod constant simptomele respiratorii legate de tuse și răceală. Pentru a asigura monitorizarea neîntreruptă, dezvoltatorii au propus un model CNN numit Tiny RespNet care funcționează într-un mediu multi-model și modelul este implementat pe o placă FPGA Xilinx Artix-7 100t care permite dispozitivului să proceseze informații în paralel, are o eficiență ridicată și un consum redus de putere. În plus, modelul TinyResp ia, de asemenea, vorbirea pacientului, înregistrări audio și informații demografice ca intrare pentru a clasifica și simptomele legate de tuse ale pacientului sunt clasificate utilizând trei seturi de date distincte.
Mai mult, dezvoltatorii au propus, de asemenea, un model capabil să ruleze calcule de învățare profundă pe dispozitive de margine, un model TinyML numit TinyDL. Modelul TinyDL poate fi implementat pe dispozitive de margine, cum ar fi ceasurile inteligente și dispozitivele purtabile, pentru diagnosticarea medicală și este, de asemenea, capabil să efectueze analize de performanță pentru a reduce lățimea de bandă, întârzierea și consumul de energie. Pentru a realiza implementarea modelului TinyDL pe dispozitive portabile, a fost proiectat și antrenat un model LSTM special pentru un dispozitiv purtabil și i s-a furnizat date colectate ca intrare. Modelul are un scor de acuratețe de aproximativ 75 până la 80% și a fost capabil să funcționeze cu date off-device. Aceste modele care rulează pe dispozitive de margine au arătat potențialul de a rezolva provocările actuale cu care se confruntă dispozitivele IoT.
În cele din urmă, dezvoltatorii au propus, de asemenea, o altă aplicație pentru a monitoriza starea de sănătate a persoanelor în vârstă prin estimarea și analiza pozelor corpului lor. Modelul utilizează un cadru agnostic pe dispozitiv care permite modelului să permită validarea și încurajarea rapidă pentru a efectua adaptări. Modelul a implementat algoritmi de detectare a pozelor corpului, împreună cu repere faciale, pentru a detecta poze corpului spațio-temporale în timp real.
Calcul de margine
Una dintre principalele aplicații ale TinyML este în domeniul calculului de margine, deoarece, odată cu creșterea utilizării dispozitivelor IoT pentru a conecta dispozitive din întreaga lume, este esențial să se configureze dispozitive de margine, ceea ce va ajuta la reducerea încărcăturii asupra arhitecturilor cloud. Aceste dispozitive de margine vor avea centre de date individuale care le vor permite să efectueze calcule de nivel înalt pe dispozitivul însuși, în loc să se bazeze pe arhitectura cloud. Ca urmare, va ajuta la reducerea dependenței de cloud, reducerea întârzierii, îmbunătățirea securității și confidențialității utilizatorului și, de asemenea, va reduce lățimea de bandă.
Dispozitivele de margine care utilizează algoritmii TinyML vor ajuta la rezolvarea constrângerilor actuale legate de putere, calcul și cerințe de memorie și este discutat în imaginea de mai jos.

Mai mult, TinyML poate, de asemenea, să îmbunătățească utilizarea și aplicarea vehiculelor aeriene fără pilot (UAV) prin abordarea limitărilor actuale cu care se confruntă aceste mașini. Utilizarea TinyML poate permite dezvoltatorilor să implementeze un dispozitiv eficient din punct de vedere energetic, cu întârziere scăzută și putere de calcul ridicată, care poate acționa ca un controlor pentru aceste UAV.
Interfață creier-calculator (BCI)
TinyML are aplicații semnificative în industria sănătății și poate fi foarte benefică în diverse domenii, inclusiv detectarea cancerului și a tumorilor, predicțiile de sănătate utilizând semnale ECG și EEG și inteligența emoțională. Utilizarea TinyML poate permite stimulării cerebrale profunde adaptive (aDBS) să se adapteze cu succes la adaptările clinice. Utilizarea TinyML poate, de asemenea, să permită aDBS să identifice biomarkeri și simptome legate de boală utilizând înregistrări invazive ale semnalelor cerebrale.
Mai mult, industria sănătății implică adesea colectarea unei cantități mari de date ale unui pacient și aceste date trebuie apoi procesate pentru a ajunge la soluții specifice pentru tratamentul pacientului în stadiile incipiente ale bolii. Ca urmare, este esențial să se construiască un sistem care nu numai că este foarte eficient, dar și foarte sigur. Atunci când combinăm aplicațiile IoT cu modelul TinyML, se naște un nou domeniu numit H-IoT (Internetul Lucrurilor pentru Sănătate) și principalele aplicații ale H-IoT sunt diagnosticarea, monitorizarea, logistica, controlul răspândirii și sistemele de asistență. Dacă dorim să dezvoltăm dispozitive care pot detecta și analiza starea de sănătate a unui pacient de la distanță, este esențial să dezvoltăm un sistem care are acces global și întârziere scăzută.

Vehicule autonome
În cele din urmă, TinyML poate avea aplicații extinse în industria vehiculelor autonome, deoarece aceste vehicule pot fi utilizate în diverse moduri, inclusiv urmărirea umană, scopuri militare și aplicații industriale. Aceste vehicule au o cerință principală de a putea identifica obiecte eficient atunci când obiectul este căutat.
În prezent, vehiculele autonome și conducerea autonomă sunt o sarcină complexă, în special atunci când se dezvoltă vehicule mici sau de dimensiuni reduse. Dezvoltările recente au arătat potențialul de a îmbunătăți aplicarea conducerii autonome pentru vehicule mici, utilizând o arhitectură CNN și implementând modelul pe GAP8 MCI.
Provocări
TinyML este un concept relativ nou în industria AI și ML și, în ciuda progresului, nu este încă la nivelul la care ar trebui să fie pentru o implementare pe scară largă pe dispozitive de margine și IoT.
Cea mai mare provocare cu care se confruntă dispozitivele TinyML în prezent este consumul de putere al dispozitivelor. Ideal, dispozitivele înglobate de margine și IoT ar trebui să aibă o durată de viață a bateriei care se extinde pe o perioadă de peste 10 ani. De exemplu, în condiții ideale, un dispozitiv IoT care rulează pe o baterie de 2Ah ar trebui să aibă o durată de viață a bateriei de peste 10 ani, presupunând că consumul de putere al dispozitivului este de aproximativ 12 μA. Cu toate acestea, în starea actuală, o arhitectură IoT cu un senzor de temperatură, o unitate de control microprocesor și un modul WiFi are un consum de curent de aproximativ 176,4 mA și, cu acest consum de putere, bateria va dura doar aproximativ 11 ore, în loc de 10 ani de viață a bateriei.
Constrângeri de resurse
Pentru a menține coerența unui algoritm, este esențial să se mențină disponibilitatea puterii și, în scenariul actual, disponibilitatea limitată de putere pentru dispozitivele TinyML este o provocare critică. În plus, limitările de memorie sunt, de asemenea, o provocare semnificativă, deoarece implementarea modelelor adesea necesită o cantitate mare de memorie pentru a funcționa eficient și precis.
Constrângeri de hardware
Constrângerile de hardware fac dificilă implementarea algoritmilor TinyML pe scară largă, din cauza eterogenității dispozitivelor hardware. Există mii de dispozitive, fiecare cu specificații și cerințe de hardware proprii și, în consecință, un algoritm TinyML trebuie să fie ajustat pentru fiecare dispozitiv individual, ceea ce face implementarea pe scară largă o problemă majoră.
Constrângeri de set de date
Una dintre principalele probleme cu modelele TinyML este că nu susțin seturile de date existente. Este o provocare pentru toate dispozitivele de margine, deoarece colectează date utilizând senzori externi și aceste dispozitive adesea au constrângeri de putere și energie. Prin urmare, seturile de date existente nu pot fi utilizate pentru a antrena modelele TinyML în mod eficient.
Gânduri finale
Dezvoltarea tehnicilor de ML a provocat o revoluție și o schimbare de perspectivă în ecosistemul IoT. Integrarea modelelor de ML în dispozitivele IoT va permite acestor dispozitive de margine să ia decizii inteligente de sine stătător, fără niciun input uman extern. Cu toate acestea, în mod convențional, modelele de ML adesea au cerințe ridicate de putere, memorie și calcul, ceea ce le face nepotrivite pentru implementarea pe dispozitive de margine care sunt adesea limitate de resurse.
Ca urmare, o ramură nouă în AI a fost dedicată utilizării ML pentru dispozitive IoT și a fost denumită TinyML. TinyML este un cadru de ML care permite chiar și dispozitivele cu resurse limitate să valorifice puterea AI și ML pentru a asigura o acuratețe, inteligență și eficiență mai ridicate.
În acest articol, am discutat despre implementarea modelelor TinyML pe dispozitive IoT cu resurse limitate și această implementare necesită antrenarea modelelor, implementarea modelelor pe hardware și efectuarea tehnicilor de cuantificare. Cu toate acestea, având în vedere domeniul de aplicare actual, modelele de ML gata de a fi implementate pe dispozitive IoT și de margine au diverse complexități și constrângeri, inclusiv probleme de compatibilitate hardware și cadru.










