JavaScript is currently disabled.Please enable it for a better experience of Jumi. Maskin­inlärning sprider sig till alla slags kretsar

Acceleratorkärnor för maskininlärning dök först upp i serverrack. Sedan stoppade Apple in en kärna i sin telefonprocessor. Numera hittas de i chip av alla möjliga slag. Här är en aktuell översikt.

Det har kommit en strid ström nyheter om hårdvara och kretsar för maskininlärning (ML) under det senaste halvåret. 

Spridningen imponerar: ljud, bild, systemkretsar och minnen. Till och med små sensorkretsar har numera fått integrerad ML-acceleration.

Den är implementerad i allt från nya processorinstruktioner i befintliga cpuer till massivt parallella kärnor i nya arkitekturer.

Artikeln är tidigare publicerad i magasinet Elektroniktidningen.
Prenumerera kostnadsfritt!

Artificiella neuronnät är det som dominerar bland ML-acceleratorerna. Den vanligaste beteckningen har blivit NPU, neural processing unit, analogt med CPU, GPU, et cetera.

Prestanda anges grovt i biljoner operationer per sekund, teraops, jo, vi har gått upp några magnituder i prestanda sedan cpu-prestanda brukade mätas i mips (miljoner instruktioner/s).

Siffran berättar fortfarande långtifrån allt. Det rättvisaste vore egentligen att instantiera specifika nät  – Resnet, Alexnet, et cetera – och mäta hur många bilder per sekund systemet klarar att analysera, eller hur lång tid en träning tar. 

Men området är spretigt, med många magnituters skillnad i komplexitet mellan olika nät och olika numerisk precision. Och trevligt nog med alltmer tillämpningar – mot en unik tillämpning finns förstås ingen benchmark.

Vi har bara letat efter kretsar med ML-stöd i hårdvara. Existerande kretsfamiljer uppgraderas ofta till AI med hjälp av bara mjukvara. Vilket i och för sig kan vara fullt tillräckligt. NXP har CubeAI, Nordic Semiconductor har Edge Impulse, Renesas har EAI.

Till och med den ynkligaste lilla Cortex M0+-krets kan använda Tiny ML-verktyg från Qeexo. 

Men specialanpassad hårdvara flyttar gränserna för det möjliga i form av komplexitet, prestanda och energianvändning. 

Ett myller av AI-kretsar

Här är nya och uppgraderade kretsar med hårdvarustöd för maskininlärning (ML). De har alla dykt upp i nyhetsflödet sedan i höstas.

Video och audio är starka teman men de flesta av kretsarna adresserar ML generellt.

Utöver dessa kretsar för inbyggda system har det annonserats många nya serverprocessorer och mobilprocessorer med AI-kärnor. Nya namn bland servrarna är Esperanto Technologies, Tenstorrent och Untether. 

ML-kretsar för audio

• Amerikanska Atlazo har släppt provexemplar av Bluetoothkretsen AZ-N1. Den innehåller en NPU kallad Axon ITM och är tänkt för bland annat röststyrning och sensorer.

• Också DSP Group arbetar med röststyrning och ljudprocessning. Dess krets SmartVoice DBM10 drar upp till en halv milliwatt och innehåller en egenutvecklad NPU kallad nNetLite.

• Syntiant NDP120 är en processor som drar 280 µW medan den lyssnar efter väckningsord som ”Hey Google”. En syskonkrets sitter redan i många mobiler. De nya modellen har mer kraft som exempelvis skulle kunna användas för att identifiera talaren, enligt Syntiant.

• Telinks Risc V-krets TLSR9  är tänkt för trådlöst ljud. Dess ML-stöd består i nya Risc V-instruktioner för signalbehandling.

• Eta Compute i Kalifornien tillverkar systemkretsen ECM3532 i lågtröskellogik i 55 nm ULP. Den är profilerad mot AI, gärna audio. Den har en Cortex M3, en CoolFlux-DSP och en ADC. Den tickar i upp till 100 MHz, drar upp till 1 mW och ska släppas tidigt i år.

ML-kretsar för video och bild

•  C100A från AI Storm i Cupertino är en unik smart bildsensor med otroliga prestanda. Ett analogt artificiellt neuronnät är direkt integrerat med kamerasensorn – de 96 x 96 bildpunkterna utgör neuronnätets första skikt. Det matar nätet med elektroner och hela beräkningen genom upp till åtta skikt görs i termer av laddning. Lösningen drar 15 µW och lovar tusen teraops per watt vilket är tusen gånger mer än andra neuronnätskretsar.

• Ambarella i Santa Clara har utvecklat en AI-krets för datorseende som ska användas i 8K-videokameror.

• Taiwanesiska Mediateks 4K-teveprocessor MT9638 använder AI för bland annat uppskalning, brusreducering och röststyrning. 

• Starfive i Shanghai har en krets kallad Jinhong 7100 som används för AI-videoanalys.

• Kineiska Vastai har en AI-krets för datorseende och videobearbetning. Bolaget fick i julas 50 miljoner dollar i finansiering.

• Brainchip, som har rötter i Sydney, utvecklar ett neuromorft spikande acceleratorchip kallat Akida AKD1000. Det valideras i TSMC 28 nm och har kunder på gång inom förarassistans, självkörning, drönare och datorseende. En rymdtålig version är på gång. 

• Recogni är en tyskamerikansk startup med fordonskomponentleverantören Continental bland investerarna. Processorn ska användas för objektigenkänning i självkörnings och förarassistansfunktioner. Den ligger långt fram i tiden – 2026.

En ML-krets för 5G-infrastruktur

• EdgeQ i Santa Clara har upptäckt att 5G-protokoll och AI har matrismultiplikationer som gemensam nämnare. Så bolaget utvecklar en processor för 5G-infrastruktur som kommer att växla mellan uppgifterna. Den ska lära sig detektera cyberattacker, bland annat.

Generella ML-kretsar

• IBM utvecklar en accelerator i 7 nm. IBM drömmer om skalbar prestanda och experimenterar med inlärning i åtta bitar och inferenser i fyra. Acceleratorn använder ett eget flyttalsformat kallat HFP8 (hybrid 8-bit floating point) som flyttar en bit från exponent till mantissa när träningen är över.

• Xilinx FPGA Versal AI är översållad med DSP:er och NPU:er. Den levererar 144 teraops när den arbetar i åttabitars heltal.

• Kaliforniska Flex Logix ska under andra kvartalet släppa kretsen InferX X1. Den har 64 parallella processorer och kan rekonfigureras för olika neuronnätstyper.

 

• Deep Vision i Atlanta, har börjat skeppa sin 2 W-accelerator Ara-1. Den använder en arkitektur kallad Polymorphic Dataflow Architecture som anpassar sig till det aktuella dataflödet.

• Mythic i Austin har demonstrerat sin analoga accelerator  M1108 som ska kunna leverera 35 teraops på bara 4 watt.

• Schweiziska Synthara släpper nästa år en strömsnål accelerator styrd av en Risc V och med en accelerator kallad Adaptiva. Den är för wearables och IoT och ska leverera 10 teraops/W.

• LG har utvecklat en systemkrets kallad LG8111 kring en 1 GHz Cortex A53-fyrkärna, en DSP-kärna och en NPU-kärna. Den har video och kamerastöd och finns på utvecklingskort. 

• NXP:s systemkrets IMX 8M Plus AI lanserades i januari i fjol och finns i preproduktion. Den har distribuerad beräkningskraft så det står härliga till: en Cortex A53-fyrkärna på 2 GHz, en signalkärna, en styrkärna (Cortex M7), två grafikkärnor. Och – framför allt – finns här en NPU på 2,3 Tops.  

• I Grenoble finns GreenWaves vars processor Gap9 använder ett kluster av nio Risc V-kärnor som accelerator. Vid igenkänning av 1 bild/s använder den mellan en halv och ett dussin milliwatt beroende på benchmark.

• Maxim har släppt en egen acceleratorkrets för bland annat ansiktsigenkänning och röststyrning. Den levererar 30 gigaops och heter MAX78000.

Sensorer med integrerad ML

• Tröghetssensorn BHI269AP från Bosch innehåller en Arc EM4-cpu som kan göra maskininlärning under drift. I ett träningsarmband känner sensorn igen vilka övningar du gör –  situps, armhävningar och så vidare – och den kan till och med lära sig känna igen nya övningar, om den tränas i 30 sekunder. ML-algoritmen är klusteranalys. Läs mer om sensorn nedan!

• ST har fyra tröghetssensorer som kan kategorisera rörelser med hjälp av så kallade beslutsträd skapade med hjälp av maskininlärning. Den klarar inte programmering i fält, som Boschsensorn ovan. Enklare rörelser känns igen i en determinisisk finit automat.  Att känna igen gymrörelser drar 13 µW vilket är omkring en tjugondel av Boschs cpu-lösning. Läs mer om sensorn nedan!

 

Sensorer som räknar situps

Vi tar en närmare titt på två tröghetssensorer från ST och Bosch  –  de räknar situps.  

Dels är de spännande för att de har  enudda tillämpning. Och dels är de dedikerade kretsar. Och dels sker AI:n i något så simpelt som logiken för en sensor.

Och dels har Bosch och ST inte hoppat på det nya maskininslärningståget med deep learning för att implementera mönsterigenkänningen. En av dem använder något så primitivt som en deterministisk finit automat (DFA).

Vissa skulle nog höja ögonbrynen och kanske inte erkänna en DFA som vare sig AI eller ML.

Men visst är det det!

AI är definerat från hur ett system beter sig – intelligent. Utan att lyfta på huven till mekanismerna finns det inget sätt att avgöra om spåren karvade i kislet bildar ett neronnät eller en finit automat. 

En klassisk tröghetssensor rapporterar x-, y- och z-accelerationer.  Men ST och Bosch har tagit fram sensorer som i ett träningsarmband direkt kan rapportera vad du gör på gymmet, ”situp”, ”knäböj”, ”hantlar” och så vidare.

Båda klarar detta på grund av att de har hårdvarustöd för maskininlärning. Deras lösningar skiljer sig på flera sätt. Bosch har integrerat en cpu (en Arc EM4). Den kan lära armbandet känna igen helt nya rörelser. Maskininlärningen kan alltså aktiveras under drift.

Bosch nämner att cpu:n använder klusteranalys, vilket är klassisk maskininlärning. Användaren kan utföra en helt ny rörelse under 30 sekunder och därefter ge den ett namn. Därefter kan sensorn känna igen den nästa gång på gymet. Sensorn kräver ingen uppkoppling. Inlärningen sker direkt i sensorn. 

ST:s tröghetssensor gör däremot bara maskininlärning medan produkten designas. Då bestäms vilka rörelser den ska känna igen. Därefter är programmeringen fast. 

Den har inte ens en generell cpu ombard. Bara filter, DFA (deterministisk finit automat) och beslutsträd. 

DFA:n programmeras utan maskinlärning och kan användas för att känna igen enklare rörelser. Men beslutsträdet skapas med hjälp av maskininlärning. 

Både DFA och beslutsträd arbetar i tre steg. Ett filter, exempelvis ett bandpassfilter, appliceras på dataströmmen. Statistiska värden, som medelvärden eller nollgenomgångar, beräknas och adderas till dataströmmen, som sedan kapas till en bestämd längd och ges till en DFA eller ett beslutsträd.

En DFA är en typ av beräkningsautomat som känner igen sekvenser av symboler. Ett armband som exempelvis skakas, genererar en förutsägbar ström av  sensoravläsningar som en smart ingenjör kan räkna ut på egen hand (upp, ner, upp, ner …) och därefter manuellt kan konfigurera DFA:n att känna igen.

Beslutsträdet används för att känna igen mer komplexa sekvenser, för att skilja mellan ganska likartade rörelser, som situps, knäböj, och hantellyft.

Beslutsträdet skapas med hjälp av maskinlärning. Ett ST-verktyg hjälper dig samla och etikettera träningsdata, välja filter och utdatafrekvens, konfigurera beslutsträd och till sist välja vilken ML-algoritm som ska användas för att trimma fram beslutsträdet. 

ST är låst till beslutsträd medan Boschs generella cpu i princip skulle laddas med vilken typ av maskinlärning som helst. Däremot är ST:s beslutsträd extremt beräkningseffektivt. Att känna igen gymrörelser drar bara 13 µW vilket är kring en tjugondel av vad Boschs motsvande cpu-lösning gör av med.

Varken beslutsträd eller klusteranalys är state-of-the-art inom maskininlärning. De skulle antaligen inte klara av att stödja en ännu mer komplex AI-utmaning, som att identifiera den person som bär armbandet. 

En systemlösning där skulle  behöva låta sensorn spotta ur sig avläsningar som rådata, och slussa dem vidare till en kraftfullare komponent som använder djupinlärning.

MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus