Qualcomm's Snapdragon 845 bevat een krachtige machine learning-chip. Het heet de Hexagon 685 DSP en het is een grote stap voorwaarts in AI-hardware.
De Snapdragon 845 – het nieuwste systeem-op-chip in de Snapdragon-familie van Qualcomm – is een krachtpatser van een processor. Het beschikt over snelle CPU-kernen, een Spectra-beeldsignaalprocessor (ISP) van de derde generatie en een architectuur die 30 procent energiezuiniger is dan de vorige generatie. Maar misschien wel het meest indrukwekkende onderdeel is een co-processor – de Hexagon 685 DSP – die op maat is gemaakt voor kunstmatige intelligentie en machinaal leren.
Wat drijft Qualcomm’s Hexagon 685 DSP precies?
"Vectorwiskunde is de basis van diep leren." - Travis Lanier, senior directeur productmanagement bij Qualcomm
Om te begrijpen wat de Hexagon DSP zo uniek maakt, helpt het om te weten dat AI wordt aangestuurd door het soort wiskundeuniversiteit waar ingenieurs in de wiskunde goed bekend mee zijn. Machine learning omvat berekeningen met grote vectoren, wat een uitdaging vormt voor smartphone-, tablet- en pc-processors. Het is moeilijk voor chips voor algemene doeleinden om algoritmen zoals stochastische gradiëntafdaling (het soort algoritmen dat de kern vormt van AI-aangedreven apps) snel en efficiënt te berekenen. De Hexagon DSP van Qualcomm werd gedeeltelijk geïntroduceerd om dit op te lossen: het is geweldig in het verwerken van beeld- en sensorgegevens, vooral fotografie.
Maar de Hexagon DSP kan veel meer dan alleen selfies opfleuren. De meegeleverde HVX-contexten (daarover later meer) geven het het voordeel van zowel processors voor algemeen gebruik als kernen met vaste functies; de Hexagon 685 DSP is enorm efficiënt in het berekenen van de wiskunde achter machine learning op het apparaat, maar behoudt de flexibiliteit van meer programmeerbare processors.
AI-chips zoals de Hexagon 685 DSP, die ook wel ‘neurale verwerkingseenheden’ worden genoemd, ‘neurale motoren’, of ‘machine learning cores’, zijn specifiek afgestemd op de wiskunde van AI-algoritmen behoeften. Ze zijn veel stijver van ontwerp dan traditionele CPU's en bevatten speciale instructies en arrangementen (in het geval van de Hexagon 685 DSP, de eerder genoemde HVX-architectuur) die bepaalde scalaire en vectoroperaties versnellen, die op grote schaal merkbaar worden implementaties.
De Hexagon 685 DSP van de Snapdragon 845 kan duizenden bits vectoreenheden per verwerkingscyclus verwerken, vergeleken met de honderden bits per cyclus van de gemiddelde CPU-kern. Dat is zo ontworpen. Met vier parallelle scalaire threads voor Very Long Instruction Word (VLIW)-bewerkingen en meerdere HVX-contexten is de DSP in staat om met meerdere uitvoeringseenheden op één enkele instructie te jongleren en door gehele getallen en decimalen met een vast punt te razen activiteiten.
In plaats van de prestaties via ruwe MHz te pushen, streeft het ontwerp van de Hexagon 685 naar een hoog werkniveau per cyclus bij een lagere kloksnelheid. Het omvat hardware-multithreading die goed werkt voor VLIW, omdat multi-threading pijplijnlatenties verbergt en een beter gebruik van VLIW-pakketten mogelijk maakt. De multi-threading van de DSP betekent dat deze meerdere offload-sessies kan bedienen, dat wil zeggen gelijktijdige apps voor audio, camera, computer vision, enzovoort - en versnelt verschillende taken tegelijkertijd, waardoor wordt voorkomen dat applicaties daarvoor hoeven te vechten uitvoertijd.
Maar dat zijn niet de enige sterke punten van de Hexagon DSP. De instructiesetarchitectuur (ISA) biedt verbeterde efficiëntie ten opzichte van traditionele VLIW dankzij de verbeterde besturingscode en maakt gebruik van slimme trucs om de prestaties te herstellen na inactiviteit en stilstand draden. Het implementeert ook zero-latency round-robin thread-planning, wat betekent dat de threads van de DSP nieuwe instructies onmiddellijk verwerken nadat het vorige datapakket is voltooid.
Voor alle duidelijkheid: dit is allemaal niet nieuw. Qualcomm introduceerde de ‘eerste generatie’ (of echte) Hexagon DSP – de Hexagon 680, of QDSP6 v6 – naast de Snapdragon 820 in 2015, en de Hexagon 680 werd gevolgd door de steeds zo licht verbeterde Zeshoek 682. Maar de nieuwste generatie is de meest geavanceerde tot nu toe en levert tot drie keer de algehele prestaties van de DSP van de Snapdragon 835.
Dat is voor een groot deel te danken aan de HVX, die heel goed werkte voor beeldverwerking (denk aan augmented reality, computervisie, video en afbeeldingen). De HVX-registers van de DSP kunnen worden bestuurd door twee van de scalaire registers, en de HVX-eenheden en scalaire eenheden kunnen gelijktijdig worden gebruikt, wat resulteert in aanzienlijke prestatieverbeteringen en gelijktijdigheid.
Hier is Qualcomms uitleg:
“Stel dat je aan het verwerken bent op de mobiele CPU in de besturingscodemodus en dat je overschakelt naar de rekenmodus op de coprocessor. Als je een besturingscode nodig hebt, moet je stoppen en teruggaan van de coprocessor naar de hoofd-CPU. Met Hexagon kunnen zowel de besturingscodeprocessor op de DSP als de computationele codeprocessor op HVX tegelijkertijd draaien voor een nauwe koppeling van besturings- en computationele code. Hierdoor kan de DSP het resultaat van een HVX-berekening nemen en gebruiken in een besturingscodebeslissing in de volgende klokcyclus.”
De HVX biedt nog een groot voordeel op het gebied van beeldsensorverwerking. Snapdragon-apparaten met de Hexagon 685 DSP kunnen gegevens rechtstreeks van de beeldsensor naar het lokale geheugen van de DSP (L2 Cache) streamen, waarbij de DDR-geheugencontroller van het apparaat wordt omzeild. Dat vermindert uiteraard de latentie, maar verbetert ook de levensduur van de batterij; de Snapdragon-processor is ontworpen om tijdens de hele operatie inactief te zijn.
Het is specifiek geoptimaliseerd voor 16-bit floating point-netwerken en wordt bestuurd door de machine learning-software van Qualcomm: Snapdragon Neural Processing Engine.
“We hebben het zeer serieus genomen”, zei een woordvoerder van Qualcomm. “We hebben de afgelopen drie jaar met partners samengewerkt om hen ons silicium te laten gebruiken voor AI en beeldvorming.”
Tot deze partners behoort onder meer Google, dat bijvoorbeeld het beeldverwerkingsgedeelte van de Hexagon DSP gebruikte om het HDR+-algoritme van de Pixel en Pixel 2 aan te sturen. Hoewel Google ook hun eigen Pixel Core heeft geïntroduceerd, is het vermeldenswaard dat Hexagon 685 DSP-compatibele apparaten de degenen die de beste resultaten zien met de beroemde Google Camera-poort, gedeeltelijk vanwege (zoals we hebben bevestigd) HVX gebruik. Facebook, een andere partner, werkte nauw samen met Qualcomm om de realtime camerafilters en effecten van Messenger te versnellen.
Oppo heeft zijn gezichtsontgrendelingstechnologie geoptimaliseerd voor de Hexagon 685 DSP, en Lenovo heeft er zijn Landmark Detection-functie omheen ontwikkeld.
Eén reden voor de rijke ondersteuning van het platform is de eenvoud ervan. De uitgebreide Hexagon SDK van Qualcomm ondersteunt de Halide-taal voor krachtige beeldverwerking, en dat is niet nodig zorgen maken over machine learning-trainingsframeworks - het implementeren van een model is in de meeste gevallen net zo eenvoudig als het doen van een API-aanroep gevallen.
"We concurreren niet met bedrijven als IBM en Nvidia [op het gebied van AI], maar we hebben gebieden waar ontwikkelaars gebruik van kunnen maken - en dat hebben ze al gedaan", vertelde Qualcomm aan XDA Developers.
Zeshoek vs. de competitie
De Hexagon 685 DSP van de Snapdragon 845 komt doordat steeds meer Original Equipment Manufacturers (OEM) hun eigen mobiele en on-device AI-oplossingen nastreven. Huawei's Kirin 970 -- het systeem-op-chip in de Maat 10 En Mate 10 Pro -- heeft een “neurale verwerkingseenheid” (NPU) die naar verluidt meer dan 2.000 beelden per seconde kan herkennen bij slechts 1/50ste van het stroomverbruik van een gemiddelde smartphone-CPU. En het Apple A11 Bionic system-on-chip in de iPhone 8, iPhone 8 Plus en iPhone X heeft een ‘Neural Engine’ die realtime gezichtsmodellering en tot 600 miljard bewerkingen per seconde uitvoert.
Maar Qualcomm zegt dat het platform-agnosticisme van Hexagon het een voordeel geeft. In tegenstelling tot Apple en Huawei, die ontwikkelaars grotendeels dwingen propriëtaire API's te gebruiken, probeerde Qualcomm vanaf het begin enkele van de meest populaire open-sourceframeworks te ondersteunen. Er werd bijvoorbeeld samengewerkt met Google om te optimaliseren TensorFlow, het machine learning-platform van Google, voor de Hexagon 685 DSP -- Qualcomm zegt dat het tot acht keer sneller en 25 keer energiezuiniger werkt dan op niet-Hexagon-apparaten.
Over de DSP-architectuur van Qualcomm, die van Google GoogleLeNet Inception Diep neuraal netwerk - een machine learning-algoritme dat is ontworpen om de kwaliteit van objectdetectie- en classificatiesystemen te beoordelen - toonde winst aan in een demo één door TensorFlow aangedreven app voor beeldherkenning op twee smartphones: één die de app op de CPU draait, en de andere die hem op Qualcomm's Hexagon draait DSP. De DSP-versnelde smartphone-app legde meer beelden per seconde vast, identificeerde objecten sneller en had meer vertrouwen in de conclusie over wat het object was dan de app met alleen CPU.
Google gebruikt de Hexagon 685 DSP ook om Project Tango, het augmented reality-platform voor smartphones, te versnellen. Lenovo's Phab 2 Pro, Asus' ZenFone AR en andere apparaten met Tango's dieptedetecterende IR-module en beeldtrackingcamera's profiteren van Qualcomm's Heterogene Processing Architecture, die verwerkingstaken delegeert tussen de Hexagon 685 DSP van de Snapdragon-chipset, de sensorhub en het beeldsignaal processor (ISP). Het resultaat is volgens Qualcomm een “minder dan 10 procent” overhead op de CPU van het systeem op de chip.
“Voor zover wij weten zijn wij de enige mobiele jongens die optimaliseren voor prestaties en energie-efficiëntie”, aldus een woordvoerder van Qualcomm.
Uiteraard werken concurrenten er ook aan om hun invloedssfeer uit te breiden en de ondersteuning van ontwikkelaars op hun platforms te bevorderen. De neurale chip van de Kirin 970 wordt gelanceerd met ondersteuning voor TensorFlow en Café (Facebook’s open API-framework) naast Huawei’s Kirin API’s, met TensorFlow Lite En Cafe2 integratie komt later dit jaar op gang. En Huawei werkte samen met Microsoft om zijn AI-aangedreven Translator voor de Mate 10 te optimaliseren.
Maar Qualcomm heeft nog een voordeel: bereik. Volgens Strategy Analytics had de chipmaker in de eerste helft van 2017 42 procent van de markt voor smartphonechips in handen, gevolgd door Apple en MediaTek met elk 18 procent. Het volstaat te zeggen dat het nog niet trilt in zijn laarzen.
En Qualcomm voorspelt dat dit alleen maar zal groeien. De chipmaker verwacht tegen 2025 een omzet van 160 miljard dollar met AI-softwaretechnologieën zoals computer vision, en beschouwt de smartphonemarkt – die naar verwachting in 2021 8,6 miljard verkochte eenheden zal bereiken – als de grootste platform.
Met de Hexagon 685 DSP en andere “tertiaire” verbeteringen die voortdurend hun weg stroomafwaarts naar het middenbereik vinden hardware, is het voor Qualcomm-chips ook gemakkelijker om machine learning op het apparaat naar allerlei apparaten in de buurt te brengen toekomst. Ze bieden ook een handige SDK voor ontwikkelaars (u hoeft niet te rommelen met de DSP-assembleertaal) om te profiteren van de Hexagon 685 DSP en HVX in hun applicaties en services.
“Er is behoefte aan deze specifieke verwerkingseenheden voor neurale verwerking, maar je moet deze ook uitbreiden, zodat je [open source] raamwerken kunt ondersteunen”, aldus een woordvoerder van Qualcomm. “Als je dat ecosysteem niet creëert, kunnen ontwikkelaars er onmogelijk iets op creëren.”