Hvad kan producenter af mikrocontrollere gøre for at hjælpe apparatproducenter til at overkomme de tekniske og funktionelle barrierer, der står i vejen for, at embeddede designere kan inkludere machine learning (ML) software? Det har Alif Semiconductor et glimrende bud på
Artiklen har været bragt i Aktuel Elektronik nr. 2 – 2025 og kan læses herunder uden illustrationer
(læs originaludgaven her)
Af Henrik Flodell, senior marketing director, Alif Semiconductor
2024 var et år med en syndflod af annonceringer af nye, store sprogmodeller (LLM) baseret på AI fra producenter som OpenAI og Google. Inden for produkter som smartphones og pc’er er AI ikke bare ved at blive mainstream must. Det er mainstream.
Det er tankevækkende, at producenter af embeddede komponenter ikke bredt har inkluderet AI og ML i endpoint-produkter. Det er der nok flere grunde til, ikke mindst begrænsninger af computerressourcer og forbruget i traditionelle mikrocontrollere, applikationsprocessorer og systemchips.
Uviljen til at embedde AI-algoritme har sænket fremdriften inden for ML i IoT- og lignende produkter, som normalt er baseret på mikrocontrollere (MCU). Hvor forståelig denne langsomme accept af AI og ML end måtte være, så har egenskaberne for AI-software i forbrugerprodukter givet et behov for en hurtigere implementering af ML-teknologi i IoT store muligheder.
Usikkerhed omkring ML tvinger embeddede designere ud af deres komfortzone, for hvis designere stritter imod at indbygge ML-algoritmer i MCU-baserede produkter, så skyldes det til dels, at de anvendte trænings- og udviklingsmetoder er udviklet til en helt deterministisk og programrettet software.
En klassisk real-time styring modtager input fra en sensors temperaturmåling og udfører en specifik handling som at slukke for et elektrisk varmelegeme, når temperaturen overstiger en given sikkerhedsgrænse. MCU’en er i dag hardwarebasis for denne slags deterministiske real-time styringer. En MCU baseret på en RISC-kerne som Arm Cortex-M giver en garanteret latency og sekventiel highspeed-eksekvering af den funktion, som applikationen kræver fra selve styringen og behandling af sensordata til display-kontrol.
For applikationsdesigneren følger den traditionelle programmerede ”if/then” softwarekode en logisk thread, og driften er bundet op af kendte tilstande, der kan defineres explicit. Efter debugging er koden fuldstændigt forudsigelig med et pålideligt output for komponenten i form af et sikkerhedskamera eller et elværktøj, begge klassiske MCU-styringer. I dag giver disse komponenter nye muligheder for værditilvækst med tilføjelsen af ML-funktioner til de eksisterende styringer. Og den ML-software kan køre i edgen, direkte i MCU’en.
I et sikkerhedskamera kan real-time monitering af mulige indbrud automatiseres, og en effektiv cloud-baseret ML-software kan præcist detektere og analysere folks behaviour i kameraets synsfelt. Pris og energiforbrug for sådan en løsning kan dog reduceres markant, hvis et video-feed bliver scannet forud, så en lokal processor skelner mellem menneskelignende konturer fra andre objekter i synsfeltet. Så vil et kamera kun trigge et system og uploade frames til clouden i de tilfælde, hvor der er potentielt relevant information frem for, at systemet uploader hele video-feed’et.
Intelligens i selv de enkleste applikationer
Et tilsvarende ML-eksempel kunne være en boremaskine (som i figur 1). Med en UWB-radio (ultrabredbånd) kan boremaskinen modtage signal afhængigt af det materiale, man borer i. Boremaskinen vil dermed selv kunne definere det korrekte bor og advare mod skjulte installationer som et vandrør indbygget i en væg.
Det ville nok være umuligt at skrive traditionel kode til at udføre en sådan funktion – og kræve en masse ressourcer. Men at træne et egnet neuralt netværk til at genkende mønstre som givne refleksioner af en UWB-transmission fra et kobberrør i en betonvæg ville være en relativt let opgave. Der findes allerede et stort udvalg af open-source træningsdatasæt og neurale netværk til ML-systemer – blandt andet til detektering af menneskers bevægelser i en video-stream.
Træningsmetoderne for den slags ML-algoritmer vil nok være fremmede for en ”klassisk” uddannet designer fra programmeret software til embeddede processorer. Frem for at strukturere, skrive og debugge kode til ML-algoritmer skal en designere af embeddede systemer hellere overveje:
● Hvordan man assembler et tilstrækkeligt trænet datasæt.
● Evaluering og valg af et egnet neuralt netværk.
● Konfigurering og drift af deep-learning frameworks som Tensorflow Lite, der er kompatibel med en target-MCU eller anden hardware.
Mens programmeret software kan forbedres gennem debugging og detaljeret kodeanalyse, så er optimering af ML-inferensen en helt anden opgave. Den kræver analyse af faktorer som potentialet for at forbedre præcision og hastighed gennem et større træningsdatasæt – eller en forbedring af kvaliteten af de samples, som træningsdatasættet understøtter.
Output fra en ML-algoritme er også kvalitativt anderledes end fra den klassiske software. Den er sandsynlighedsbaseret og svarer på spørgsmål på højniveau som: ”Er der et kobberrør inde i væggen?” i form af inferens med en overvejende grad af forventning. Det er ikke en deterministisk mode. Svaret er sandsynligvis rigtigt, men det kunne være forkert.
Så for at få glæde af ML-funktioner skal designere af MCU-baserede komponenter anvende en ny udviklingsmetode og acceptere svar, der er sandsynlige udfald snarere end deterministiske output. For mange designere er det ukendt territorium, og det er ikke overraskende, at den embeddede verden har været tøvende overfor implementering af ML-modeller.
Men hvad kan MCU-producenterne så gøre for at lette overgangen til AI-centrerede embeddede løsninger og for at gøre det operationelle miljø mere venligt over for ML-software?
Tre funktioner i en ML-venlig MCU
For Alif Semiconductor er de foregående spørgsmål nærmest eksistentialistiske, da virksomhedens formål siden starten i 2019 har været at give producenter af embeddede- og IoT-komponenter en ny familie af MCU’er og fusionsprocessorer, der vil kunne give de bedste AI/ML-løsninger med det mindste forbrug. Alifs forretningsmodel afhænger af en bred penetration af ML i den embeddede verden. Efter Alifs analyse giver tre nøglefunktioner i en MCU producenter den bedste mulighed for at få succes med nye ML-baserede produkter:
1: Hardware-miljøet skal hjælpe til snarere end forhindre driften af neurale netværksalgoritmer. En RISC CPU er i hjertet af styringen af en MCU, men den serielle drift begrænser eksekveringen af et neuralt netværks MAC-cyklusser. En neural processorenhed (NPU) vil på den anden side være optimeret til MAC-eksekvering og andre neurale netværksoperationer. En MCU-arkitektur, der har én eller flere NPU i drift side om side med én eller flere CPU’er, giver den bedste basis for hurtigere og mere energioptimal inferens til edge AI-applikationer.
Tests mod industristandard-benchmarks for ML-funktioner som stemmeaktiveret detektering, noise- eller ekko-cancellering og automatisk stemmegenkendelse viser, at kombinationen af en Arm Cortex-M55 CPU og en Ethos-U55 NPU giver en 50x forbedring i hastigheden for inferensen sammenlignet med en high-end Cortex-M7 CPU alene – og en 25x reduktion i energiforbruget.
2: Ved at lade et designteam arbejde med ML-applikationen i et genkendeligt miljø opnår man flere fordele. I de kontrolfunktioner, som CPU’en udfører, har MCU-markedet stor succes med at konsolidere valget ned til én enkelt arkitektur: nemlig Arms Cortex-M. Visse MCU-producenter komplementerer dog CPU’en med en egen NPU, så designere skal gå væk fra det kendte Arm-miljø i ML-delen af deres design.
Det er meget sandsynligt, at MCU-markedet vil konvergere mod Arm-miljøet for såvel NPU som CPU. En MCU med en Arm Ethos NPU sammen med en Cortex-M CPU vil gøre det muligt for designere at anvende de samme Arm-værktøjers software-økosystem i både styrings- og ML-delene af applikationen.
3: Man skal eksperimentere tidligt med populære ML-applikationer. Den sandsynlighedsorienterede natur i ML-inferens går i retning af en forsøg-og-fejl tilgang i proof of concept-udviklingen, og den vil være baseret på brug og forfining i et open-source miljø af neurale netværksmodeller og træningsdatasæt.
Det er derfor, at Alif Semiconductor leverer et AI/ML AppKit- en udviklingshardware, der er prækonfigureret til opsamling af vibrations-, voice- og vision-data, og som leveres med et bredt udsnit af demo-systemer til en række AI bruger-cases (figur 2). Kittet indeholder et 4” farve-LCD, et integreret kameramodul, PDM og I2S-mikrofoner samt inertisensorer. Device-drivere og OS-pakker samt demo-applikationer og -eksempler er udgivet på GitHub-platformen.
Mulighed for embeddede komponenter med større værditilvækst
Muligheden for at bringe de transformative ML-egenskaber ind i embeddede komponenter er til rådighed allerede nu. Teknologien er klar til mainstream-brug, og hvor markedspenetrationen tidligere har været sinket af manglen på ML-funderede MCU’er med brug af det kendte Arm-udviklingsmiljø, så duer den undskyldning for ikke at implementere ML ikke længere. Produkter som Ensemble-familien af MCU’er og fusionsprocessorer fra Alif Semiconductor med single- eller multikerne Arm Cortex-M55 CPU’er og Ethos-U55 NPU’er giver designere af embeddede systemer adgang til en ny type af ML-egnet hardware og udviklingsplatforme (figur 3). Og med et udviklingsværktøj som AI/ML AppKit er det bare at springe i havet af ML-muligheder i edge-komponenterne.
Billedtekster:
Figur 1: AI-egenskaber kan detektere skjulte kabler eller rør og forhindre en håndværker i at begå dyre fejltagelser.
Figur 2: Alif Semiconductors AppKit-board giver demoer af Ensemble MCU’ernes AI-egenskaber inden for vibration, voice og video.
Figur 3: Ensemble-familien giver sømløs integration mellem single- og multikerne MCU’erne og fusionsprocessorer.