JavaScript is currently disabled.Please enable it for a better experience of Jumi.
Annonsera Utgivningsplan Månadsmagasinet Prenumerera Konsultguide Om oss  About / Advertise

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, minnen och 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 av ny arkitektur.

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 ops).

Siffran berättar fortfarande långtifrån allt. Det rättvisaste vore att instantiera specifika nät, Resnet, Alexnet, etcetera, 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 magnituter 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 kan vara fullt tillräckligt: NXP har CubeAI, Nordic Semiconductor har Edge Impulse, Renesas har EAI.  Till och med den ynkligaste lilla Cortex M+-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 som 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 kan även identifiera talaren.

• 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 och 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 kamerasensor – de 96 x 96 bildpunkterna ä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 ADAS, AV, UAV  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 AD och ADAS. 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, och med 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: 2 GHz Cortex A53-fyrkärna, 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 och Gap9 använder ett kluster med 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 i drift. I ett träningsarmband känner sensorn igen vilka övningar du gör –  situps, armhävningar – och den kan till och med lära sig känna igen nya övningar, tränad 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 som skapas med hjälp av maskininlärning. Den klarar inte programmering i fält, som Boschsensorn ovan. Enklare rörelser känns igen i en DFA (determinisisk finit automat).  Att känna igen gymrörelser drar 13 µW vilket är omkring en tjugondel av vad 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 det spännande för att det är udda tillämpning. Och så är det dedikerade kretsar. Och så sker AI:n i något så simpelt som logiken för en sensor.

Och så har Bosch och ST inte bara 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.

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 – och 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 namnger den. Därefter kan sensorn känna igen den nästa gång på gymmet. Sensorn kräver ingen uppkoppling. Inlärningen sker direkt i sensorn. 

ST tröghetssensor gör däremot bara maskininlärning när armbandet konstrueras. Då bestäms vilka rörelser den ska känna igen. Därefter är programmeringen fast. 

Den har heller ingen generell cpu, utan 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. Beslutsträdet skapas  däremot 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 DFA eller beslutsträd.

En DFA är en typ av beräkningsautomat som känner igen ickekomplexa 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 och därefter manuellt konfigurera DFA:n att känna igen.

Beslutsträdet används för att känna igen mer komplexa sekvenser, som 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 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 att stödja en ännu mer komplex AI-utmaning, som att identifiera den person som bär armbandet. 

En systemlöning 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:
 
 
Pappersmagasinet Nyhetsbrev
SENASTE KOMMENTARER
Kommentarer via Disqus

Vi gör Elektroniktidningen

Anne-Charlotte Sparrvik

Anne-Charlotte
Sparrvik

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Anna Wennberg

Anna
Wennberg
+46(0)734-171311 anna@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)