Qualcomms Hexagon 685 DSP är ett kraftpaket för maskininlärning

Qualcomms Snapdragon 845 innehåller ett kraftfullt maskininlärningschip. Det kallas Hexagon 685 DSP, och det är ett stort steg framåt inom AI-hårdvara.

Snapdragon 845 – det nyaste system-on-chipet i Qualcomms Snapdragon-familj – är ett kraftpaket för en processor. Den har snabba CPU-kärnor, en tredje generationens Spectra-bildsignalprocessor (ISP) och en arkitektur som är 30 procent mer energieffektiv än föregående generation. Men den mest imponerande komponenten är utan tvekan en co-processor - Hexagon 685 DSP - som är skräddarsydd för artificiell intelligens och maskininlärning.

Vad är det som får Qualcomms Hexagon 685 DSP att bocka?

Hexagon DSP-arkitekturen i Snapdragon 835. Källa: Qualcomm

"Vektormatte är grunden för djupinlärning." - Travis Lanier, Senior Director of Product Management på Qualcomm

För att förstå vad som gör Hexagon DSP så unik, hjälper det att veta att AI drivs av den typ av matematikhögskola som ingenjörer är väl bekanta med. Maskininlärning involverar beräkning med stora vektorer, vilket utgör en utmaning för smartphones, surfplattor och PC-processorer. Det är svårt för kretsar för allmänna ändamål att snabbt och effektivt beräkna algoritmer som stokastisk gradientnedstigning - de typer av algoritmer som är kärnan i AI-drivna appar. Qualcomms Hexagon DSP introducerades delvis för att lösa detta: Den är fantastisk på att hantera bild- och sensordata, speciellt fotografering.

Men Hexagon DSP kan mycket mer än att piffa upp selfies. De inkluderade HVX-kontexterna (mer om de senare) ger den fördelen av både generella processorer och kärnor med fasta funktioner; Hexagon 685 DSP är oerhört effektiv när det gäller att beräkna matematiken bakom maskininlärning på enheten, men behåller flexibiliteten hos mer programmerbara processorer.

AI-chips som Hexagon 685 DSP, som ibland kallas "neurala bearbetningsenheter", "neurala motorer", eller "maskininlärningskärnor", är skräddarsydda specifikt för AI-algoritmers matematiska behov. De är mycket styvare i design än traditionella processorer och innehåller speciella instruktioner och arrangemang (i Hexagon 685 DSP: s fall, den ovannämnda HVX-arkitekturen) som accelererar vissa skalära och vektoroperationer, som blir märkbara i storskalighet implementeringar.

Snapdragon 845:s Hexagon 685 DSP kan hantera tusentals bitar av vektorenheter per bearbetningscykel, jämfört med den genomsnittliga CPU-kärnans hundratals bitar per cykel. Det är designat. Med fyra parallella skalära trådar för VLIW-operationer (Very Long Instruction Word) och flera HVX-kontexter är DSP: n kan jonglera med flera exekveringsenheter på en enda instruktion och flamma genom heltal och fixpunktsdecimal operationer.

Istället för att pressa prestanda genom rå MHz, strävar Hexagon 685:s design efter höga arbetsnivåer per cykel med reducerad klockhastighet. Det inkluderar multi-threading av hårdvara som fungerar bra för VLIW, eftersom multi-threading döljer pipeline-latenser möjliggör bättre utnyttjande av VLIW-paket. Multi-threading av DSP innebär att den kan betjäna flera avlastningssessioner -- dvs. samtidiga appar för ljud, kamera, datorseende och så vidare -- och accelerera olika uppgifter samtidigt, vilket förhindrar att applikationer måste kämpa för utförandetid.

Källa: Qualcomm

Men det är inte Hexagon DSP: s enda styrkor. Dess instruktionsuppsättningsarkitektur (ISA) har förbättrad effektivitet jämfört med traditionella VLIW tack vare förbättrad kontrollkod, och den använder smarta knep för att återställa prestanda från inaktiv och avstängd trådar. Den implementerar också noll-latency round-robin trådschemaläggning, vilket innebär att DSP: s trådar bearbetar nya instruktioner omedelbart efter att ha slutfört det föregående datapaketet.

Källa: Qualcomm

Inget av detta är nytt, för att vara tydlig. Qualcomm introducerade "första generationens" (eller riktiga) Hexagon DSP -- Hexagon 680 eller QDSP6 v6 -- tillsammans med Snapdragon 820 2015, och Hexagon 680 följdes av den aldrig så något förbättrade Hexagon 682. Men den senaste generationen är den mest sofistikerade hittills och levererar upp till tre gånger den totala prestandan jämfört med Snapdragon 835:s DSP.

Det är till stor del tack vare HVX, som fungerade mycket bra för bildbehandling (tänk förstärkt verklighet, datorseende, video och bilder). DSP: s HVX-register kan styras av två av de skalära registren, och HVX-enheterna och skalärenheterna kan användas samtidigt, vilket resulterar i betydande prestandavinster och samtidighet.

Här är Qualcomms förklaring:

"Säg att du bearbetar den mobila CPU: n i kontrollkodsläge och du byter till beräkningsläge på samprocessorn. Om du behöver någon kontrollkod måste du stoppa och gå tillbaka från samprocessorn till huvudprocessorn. Med Hexagon kan både kontrollkodprocessorn på DSP och beräkningskodprocessorn på HVX köras samtidigt för tät koppling av kontroll och beräkningskod. Det gör att DSP: n kan ta resultatet av en HVX-beräkning och använda det i ett kontrollkodsbeslut i nästa klockcykel."

HVX ger en annan stor fördel vid bildsensorbehandling. Snapdragon-enheter med Hexagon 685 DSP kan strömma data direkt från bildsensorn till DSP: s lokala minne (L2 Cache) och kringgå enhetens DDR-minneskontroller. Det minskar givetvis latensen, men förbättrar också batteritiden - Snapdragon-processorn är designad för att vara inaktiv under hela operationen.

Den är specifikt optimerad för 16-bitars flyttalsnätverk och styrs av Qualcomms maskininlärningsprogram: Snapdragon Neural Processing Engine.

"Vi har tagit det på största allvar", sa en talesperson för Qualcomm. "Vi har arbetat med partners de senaste tre åren för att få dem att använda [...] vårt kisel för AI och bildbehandling."

Dessa partners inkluderar Google, som använde Hexagon DSP: s bildbehandlingsdel för att driva Pixel och Pixel 2:s HDR+-algoritm, till exempel. Även om Google har introducerat sin egen Pixel Core, är det värt att notera att Hexagon 685 DSP-aktiverade enheter är de som ser de bästa resultaten med den berömda Google Camera-porten, delvis på grund av (som vi har bekräftat) av HVX utnyttjande. Facebook, en annan partner, arbetade nära Qualcomm för att accelerera Messengers realtidskamerafilter och effekter.

Oppos optimerade sin ansiktsupplåsningsteknik för Hexagon 685 DSP, och Lenovo har utvecklat sin Landmark Detection-funktion runt den.

En anledning till plattformens stora stöd är dess enkelhet. Qualcomms omfattande Hexagon SDK stöder Halide-språket för högpresterande bildbehandling, och det finns inget behov att oroa sig för utbildningsramverk för maskininlärning -- att implementera en modell är i de flesta fall lika enkelt som att göra ett API-anrop fall.

"Vi konkurrerar inte [...] med sådana som IBM och Nvidia [inom AI], men vi har områden som utvecklare kan ta del av - och redan har", sa Qualcomm till XDA Developers.

Hexagon vs. tävlingen

Snapdragon 845:s Hexagon 685 DSP kommer när ett ökande antal tillverkare av originalutrustning (OEM) eftersträvar sina egna mobila och on-device AI-lösningar. Huaweis Kirin 970 -- systemet-på-chipet inuti Kompis 10 och Mate 10 Pro -- har en "neural processing unit" (NPU) som enligt uppgift kan känna igen mer än 2 000 bilder per sekund på bara 1/50 av strömförbrukningen för en genomsnittlig smartphone-CPU. Och Apple A11 Bionic system-på-chip i iPhone 8, iPhone 8 Plus och iPhone X har en "neural motor" som utför ansiktsmodellering i realtid och upp till 600 miljarder operationer per sekund.

Men Qualcomm säger att Hexagons plattforms-agnosticism ger den en fördel. Till skillnad från Apple och Huawei, som till stor del tvingar utvecklare att använda proprietära API: er, försökte Qualcomm stödja några av de mest populära ramverken med öppen källkod från början. Till exempel fungerade det med Google för att optimera TensorFlow, Googles maskininlärningsplattform, för Hexagon 685 DSP -- Qualcomm säger att den går upp till åtta gånger snabbare och 25 gånger mer energieffektivt än på icke-Hexagon-enheter.

Källa: Qualcomm

På Qualcomms DSP-arkitektur, Googles GoogLeNet Inception Deep Neural Network -- en maskininlärningsalgoritm utformad för att bedöma kvaliteten på objektdetekterings- och klassificeringssystem -- demonstrerade vinster i en demo som visar en TensorFlow-driven bildigenkänningsapp på två smartphones: en som kör appen på processorn och den andra som kör den på Qualcomms Hexagon DSP. Den DSP-accelererade smartphone-appen tog fler bilder per sekund, identifierade objekt snabbare och hade högre tilltro till sin slutsats om vad objektet var än appen som endast var CPU.

Google använder också Hexagon 685 DSP för att accelerera Project Tango, dess augmented reality-plattform för smartphones. Lenovos Phab 2 Pro, Asus ZenFone AR och andra enheter med Tangos djupavkännande IR-modul och bildspårningskameror drar fördel av Qualcomms Heterogen Processing Architecture, som delegerar bearbetningsuppgifter mellan Snapdragon-chipsetets Hexagon 685 DSP, sensorhubben och bildsignalen processor (ISP). Resultatet är en "mindre än 10 procent" overhead på systemet-på-chipets CPU, enligt Qualcomm.

"Så vitt vi vet är vi de enda mobila killarna där ute som optimerar för prestanda och energieffektivitet", sa en talesperson för Qualcomm.

Naturligtvis arbetar konkurrenter också med att utöka sin inflytandesfär och främja utvecklarstöd på sina plattformar. Kirin 970:s neurala chip lanserades med stöd för TensorFlow och Kaffe (Facebooks öppna API-ramverk) förutom Huaweis Kirin API: er, med TensorFlow Lite och Kaffe 2 integration på väg senare i år. Och Huawei arbetade med Microsoft för att optimera sin AI-drivna översättare för Mate 10.

Men Qualcomm har en annan fördel: Reach. Chiptillverkaren hade 42 procent av marknaden för smarttelefonchips under första halvåret 2017, följt av Apple och MediaTek med 18 procent vardera, enligt Strategy Analytics. Det räcker med att säga att den inte skakar i sina stövlar ännu.

Och Qualcomm förutspår att det bara kommer att växa. Chiptillverkaren projicerar 160 miljarder dollar i intäkter till 2025 med AI-programvaruteknologier som datorseende och ser smartphonemarknaden – som förväntas nå 8,6 miljarder enheter levererade till 2021 – som den största plattform.

Med Hexagon 685 DSP och andra "tertiära" förbättringar som ständigt gör sin väg nedströms till mellanklass hårdvara, är det också lättare för Qualcomm-chips att föra in maskininlärning på enheten till alla typer av enheter i den närmaste framtida. De erbjuder också en praktisk SDK för utvecklare (du behöver inte pilla med DSP-assemblerspråk) för att dra fördel av Hexagon 685 DSP och HVX i sina applikationer och tjänster.

"Det finns ett behov av dessa dedikerade bearbetningsenheter för neural bearbetning, men du behöver också utöka den, så att du kan stödja ramverk för [öppen källkod]", sa en talesperson för Qualcomm. "Om du inte skapar det ekosystemet, finns det inget sätt [...] utvecklare kan skapa på det."