Filtrează articolele

AI

Implementarea Inteligenței Artificiale în Robotică pe Platforme Embedded: Înregistrarea Seturilor de Date, Fine-Tuning VLA și Optimizări On-Device

Implementarea Inteligenței Artificiale în Robotică pe Platforme Embedded: Înregistrarea Seturilor de Date, Fine-Tuning VLA și Optimizări On-Device
Progresele recente în domeniul modelelor lingvistice mari (LLM) au facilitat o tranziție remarcabilă de la raționamentul bazat exclusiv pe text către sisteme multimodale complexe. Această evoluție a început prin integrarea percepției vizuale în Modelele Viziune-Limbaj (VLM), ajungând recent la generarea directă de acțiuni robotice prin Modelele Viziune-Limbaj-Acțiune (VLA). Cu toate acestea, implementarea acestor modele pe platforme robotice embedded rămâne o provocare semnificativă din cauza constrângerilor stricte privind capacitatea de calcul, memoria și consumul energetic, precum și a cerințelor de control în timp real.

În sistemele de control sincron tradiționale, în timp ce modelul VLA rulează inferența, brațul robotic rămâne inactiv, așteptând comenzi. Acest lucru duce la un comportament oscilatoriu și corecții întârziate. Pentru a remedia această problemă, inferența asincronă permite o mișcare continuă și fluidă prin disocierea generării de execuție. Totuși, pentru a fi eficientă, latența inferenței end-to-end trebuie să rămână mai scurtă decât durata execuției acțiunii. Această constrângere temporală stabilește o limită superioară pentru debitul modelului. Aducerea modelelor VLA pe platforme embedded nu este doar o problemă de compresie a modelului, ci o problemă complexă de inginerie a sistemelor, care necesită decompoziție arhitecturală, programare conștientă de latență și execuție aliniată cu hardware-ul.

🎥 Înregistrarea Seturilor de Date: Ce Contează Cu Adevărat



Datele de înaltă calitate și consistente sunt superioare datelor „mai multe, dar dezordonate”. Această secțiune transformă lecțiile învățate din greu în liste de verificare și scheme concrete.

1) Consistența pe Primul Loc
Calitatea datelor este fundamentala. Camerele fixe trebuie să utilizează suporturi rigide pentru a evita derivarea poziției. Dacă în timpul înregistrării sau evaluării una sau mai multe camere se deplasează din cauza vibrațiilor robotului sau a resetării mediului de către operator, se poate observa o pierdere severă a preciziei. Iluminarea controlată este, de asemenea, critică; mediul trebuie să permită controlul maxim al luminii, cu surse fixe și ferite de lumina soarelui care variază pe parcursul zilei. De asemenea, este esențial să se maximizeze contrastul între braț, obiect și mediu, evitând scenariile „alb pe alb”, cu excepția cazului în care acesta este domeniul de implementare specific. Calibrările fixe trebuie să aibă backup-uri pentru a evita reînregistrarea episoadelor în caz de eroare software. Un principiu crucial este „să nu trișezi”: nu folosiți informații la care modelul nu va avea acces în timpul inferenței. Operatorul trebuie să se bazeze strict pe intrările camerei disponibile pentru politică, nu pe observarea directă a scenei.

2) Utilizarea unei Camere de Prindere (Foarte Recomandat)
Trecerea de la vizualizări doar ale scenei la puncte de vedere mixte crește acuratețea globală, dar cu cât aveți mai multe camere, cu atât este afectată latența. Compromisul ideal a fost atins cu 3 camere: una sus pentru vizualizarea globală a scenei, una pe cleștele robotului pentru vizualizarea cea mai apropiată, esențială pentru prinderi precise și aliniere, și una stânga pentru a completa vizualizarea de sus cu informații despre înălțime și adâncime. Recomandăm cu tărie utilizarea unei camere montate pe clește, deoarece îmbunătățește constant ratele de succes în sarcinile de manipulare fină. În plus, aceasta este camera care impune cel mai eficient practicile corecte de colectare a datelor, obligând operatorul să se bazeze exclusiv pe percepția robotului. La instalare, cablul trebuie securizat pentru a nu obstrucționa câmpul vizual.

3) Îmbunătățirea Prehensiunii
Îmbunătățirile hardware simple, cum ar fi utilizarea unor tuburi termoretractabile peste ghearele cleștelui, cresc frecarea, reduc rugozitatea și alunecarea, crescând rata de succes a sarcinilor și stabilitatea învățării politicilor.

4) Diversitate și Partiționare
Variați distribuția episoadelor: împărțiți spațiul de lucru în clustere de poziții de pornire și înregistrați cel puțin 10 episoade pe cluster. Adăugați diversitate schimbând poziția și rotația obiectului. De exemplu, spațiul de lucru a fost partiționat în 11 clustere, fiecare de 10x10 cm. Diferențiați seturile de antrenament și validare pentru a evita supra-ajustarea (overfitting). Înregistrați cât mai multe mișcări, acoperind o gamă largă de grade de libertate. Anticipați eșecul: aproximativ 20% din episoade ar trebui să fie episoade de „recuperare”, unde robotul trebuie să revină la obiect, îmbunătățind rata de succes generală.

🎛️ Fine-Tuning al modelelor VLA



Intervalul care oferă cel mai bun compromis între acuratețe, generalizare și fluiditatea mișcării a fost găsit pentru ACT (100 de acțiuni pe chunk) în cadrul a 100k-160k pași de antrenament. Pentru SmolVLA (50 de acțiuni pe chunk), compromisul apare după mai mulți pași. O observație importantă este că continuarea antrenamentului ușor peste punctul în care modelul începe să supra-ajusteze tinde să îmbunătățească acuratețea generală. Regula de aur: alegeți checkpoint-ul final evaluând succesul pe ambele seturi, nu pe baza pierderii de antrenament.

⚡ Optimizarea pentru Procesorul de Aplicații NXP i.MX 95



SoC-ul i.MX 95 integrează 6x Arm Cortex-A55, un Cortex-M7 și un Cortex M33 MCU, un GPU Mali, un nou ISP NXP și NPU-ul eIQ® Neutron, vizând inferența eficientă și securizată la margine (edge) cu suport multi-cameră.

1) Divide et Impera
În loc să rulăm modelele ca un singur graf monolitic, decompunem graful VLA în etape logice: encodere, decoodere și experți de acțiuni. Aceasta permite optimizarea, programarea și implementarea fiecărei componente independent. Separarea expertului de acțiuni de VLM a fost ideală pentru a-l rula la o frecvență mai mică.

2) Cuantizare
Pentru a optimiza inferența, am explorat tehnici de cuantizare. Cuantizarea encodorului de viziune și a prefill-ului LLM a avut un impact limitat asupra acurateței, în timp ce cuantizarea fluxului de denoisare din expertul de acțiuni degradează semnificativ performanța (erorile de cuantizare se acumulează). Prin urmare, am păstrat acest bloc la o precizie mai mare, explorând configurații de la 8-bit la 4-bit pentru alte blocuri.

3) Inferență Asincronă: Programare Conștientă de Control
Într-o buclă de control sincronă, robotul rămâne inactiv în timpul inferenței. Inferența asincronă crește frecvența efectivă de control, reduce „îmbătrânirea” observațiilor și îmbunătățește comportamentul de recuperare. Pe platforme embedded, aceasta este esențială, dar eficientă doar dacă timpul de inferență este mai mic decât timpul de execuție.

📊 Ce Am Realizat pe Procesorul de Aplicații i.MX 95



Rezultatele demonstrează viabilitatea optimizărilor:

  • i.MX 95 ACT ONNX FP32: Latență 2.86s, Acuratețe Globală 0.96.

  • i.MX 95 ACT Optimizat: Latență 0.32s, Acuratețe Globală 0.89.

  • i.MX 95 SmolVLA ONNX FP32: Latență 29.1s, Acuratețe Globală 0.47.


  • Optimizările au redus latența dramatic (de la 2.86s la 0.32s pentru ACT), menținând o acuratețe acceptabilă, demonstrând că o abordare sistemică poate aduce modele VLA complexe pe hardware embedded cu constrângeri stricte.

    ⏩ Pașii Următori



    Obiectivul imediat este îmbunătățirea acurateței cu SmolVLA. Am stabilit o linie de bază și am măsurat o latență optimizată de 6.15s. Următoarea fază se va concentra pe optimizări mai profunde pe NPU-uri. În paralel, se dorește trecerea de la configurarea unei singure sarcini către scenarii mai complexe și cu orizont mai lung, introducând noi capacități. Scopul final este să mutăm discuția de la o singură sarcină validată către o metodologie reproductibilă pentru implementarea politicilor VLA pe sisteme robotice embedded.

    Acest site folosește cookie-uri pentru a-ți oferi o experiență de navigare cât mai plăcută. Continuarea navigării implică acceptarea acestora.