Qualcomm udělal obrovské skoky ve výkonu AI s novým Snapdragonem 865 SoC. Analyzujeme změny, které společnost Qualcomm provedla, aby urychlila strojové učení.
Zdá se, že nemůžeme ani den, aniž bychom ve zprávách viděli „umělou inteligenci“, a minulý týden nebyl v žádné malé části výjimkou díky Snapdragon Tech Summit. Každý rok Qualcomm odhaluje množství vylepšení, která přináší do svého Hexagon DSP a Qualcomm AI Engine, termín, který používají pro celou svou heterogenní výpočetní platformu – CPU, GPU a DSP – když mluví o AI pracovní zátěže. Před několika lety se trvání Qualcommu na přesunutí konverzace od tradičních bodů, jako je meziroční zlepšení výkonu CPU, zdálo trochu zvláštní. Přesto v roce 2019 a se Snapdragonem 865 vidíme, že heterogenní výpočetní technika je skutečně u kormidla jejich mobilního výpočetního tlaku, protože AI a hardwarově akcelerované pracovní zátěže se propašují do široké škály případů použití a aplikací, od sociálních médií po každodenní služby.
Snapdragon 865 přináší AI motor 5. generace od Qualcommu a s ním přichází šťavnatá vylepšení výkonu a energetické účinnosti – ale to se dá očekávat. V moři specifikací, údajů o výkonu, přepychových technických výrazů a únavných marketingových hlášek je snadné ztratit ze zřetele, co tato vylepšení vlastně znamenají. co popisují? Proč jsou tyto upgrady tak smysluplné pro ty, kteří dnes implementují AI do svých aplikací, a možná ještě důležitější pro ty, kteří to chtějí dělat v budoucnu?
V tomto článku se podíváme na přístupnou, ale důkladnou prohlídku Qualcomm AI Engine, pročesáme jeho historii, jeho komponenty a upgrady Snapdragonu 865, a co je nejdůležitější, proč nebo jak každý z nich přispěl k dnešnímu zážitku z chytrého telefonu, od vtipných filtrů po digitální asistenty.
Hexagon DSP a Qualcomm AI Engine: Když branding dělá rozdíl
I když jsem se tento týden nemohl zúčastnit Snapdragon Tech Summit, přesto jsem se zúčastnil každého dalšího od roku 2015. Pokud si vzpomenete, že byl rokem horké kaše, kterou byl Snapdragon 810, a tak novináři v tomto loftu Chelsea v New Yorku dychtili zjistit, jak Snapdragon 820 společnost vykoupe. A byla to skvělá čipová sada, dobře: Slibovala zdravá zlepšení výkonu (bez omezení) návratem k tehdy osvědčeným vlastním jádrům, kterými byl Qualcomm známý. Vzpomínám si však také na velmi rafinované oznámení, kterému by se při zpětném pohledu mělo dostat více pozornosti: druhá generace Hexagon 680 DSP a jeho jediná instrukce, více dat (SIMD) Hexagon Vector eXtensions, popř. HVX. Možná, že kdyby inženýři funkci nepojmenovali, dostalo by se jí zasloužené pozornosti.
Tento koprocesor umožňuje hardwarovým vláknům skalární DSP jednotky přístup k „kontextům“ HVX (registračním souborům) pro široké možnosti vektorového zpracování. Umožnilo to přesunutí významného výpočetního zatížení z CPU nebo GPU náročného na energii na energeticky efektivní DSP, takže úlohy zobrazování a počítačového vidění by běžely s podstatně lepším výkonem na miliwatt. Jsou perfektní pro aplikaci identických operací na souvislých vektorových prvcích (původně jen celá čísla), takže se dobře hodí pro pracovní zátěže počítačového vidění. V minulosti jsme napsali podrobný článek o DSP a HVXs poznámkou, že architektura HVX se dobře hodí pro paralelizaci a samozřejmě zpracování velkých vstupních vektorů. V té době Qualcomm propagoval jak DSP, tak HVX téměř výhradně popisem jejich vylepšení by přineslo do počítačového vidění pracovní zátěž, jako je Harrisův rohový detektor a další posuvná okna metody.
Až s příchodem hlubokého učení ve spotřebitelských mobilních aplikacích DSP, jeho vektor procesorové jednotky (a nyní i akcelerátor tenzoru) by se spojily s umělou inteligencí a neuronovými sítěmi konkrétní. Ale při pohledu zpět to dává dokonalý smysl: Architektura digitálního signálového procesoru (DSP), původně navržená pro práci s digitalizací reálné nebo analogové signálové vstupy, hodí se k mnoha stejným pracovním zátěžím jako mnoho algoritmů strojového učení a neuronových sítí. Například DSP jsou přizpůsobeny pro filtrační jádra, konvoluční a korelační operace, 8bitové výpočty, tuny lineární algebra (vektorové a maticové produkty) a operace násobení akumulace (MAC), všechny nejúčinnější, když paralelizované. Doba běhu neuronové sítě je také vysoce závislá na násobení velkých vektorů, matic a/nebo tenzorů, takže je jen přirozené, že výkonové výhody DSP se úhledně promítnou do architektur neuronových sítí studna. K tomuto tématu se ve zkratce vrátíme!
V následujících letech Qualcomm nadále zdůrazňoval, že nenabízejí prostě čipsety, ale mobilní platformya že se nezaměřují prostě na zlepšení jednotlivých komponent, ale poskytování "heterogenních" výpočtů. V roce 2017 vydali své Snapdragon Neural Processing Engine SDK (pro akceleraci běhu) na Qualcomm Developer Network a na začátku roku 2018 oznámila Qualcomm Artificial Intelligence Engine, který konsoliduje jejich několik hardwarových (CPU, GPU, DSP) a softwarových komponent s umělou inteligencí do jediného název. S touto užitečnou nomenklaturou byli schopni úhledně inzerovat své vylepšení výkonu AI na Snapdragonu 855 a Snapdragon 865, který je schopen pohodlně vyjádřit počet bilionů operací za sekundu (TOPS) a meziroční procento vylepšení. Využití generačních vylepšení CPU, GPU a DSP – z nichž všechny jsou zaměřeny na AI upgrady – společnost je schopna zveřejnit působivé benchmarky proti konkurentům, které si projdeme zakrátko. Díky nedávnému marketingovému úsilí společnosti a jednotnému a konzistentnímu zasílání zpráv o heterogenních počítačích se jejich značka AI konečně dostává mezi novináře a technologické nadšence.
Demystifikování neuronových sítí: Světská hromada lineární algebry
Abychom rozptýlili spoustu žargonu, se kterým se později v článku setkáme, potřebujeme krátký základ co je to neuronová síť a co potřebujete, aby to bylo rychlejší. Chci velmi stručně projít některé matematické základy neuronových sítí a vyhnout se co největšímu množství žargonu a zápisu. Účelem této části je jednoduše identifikovat, co neuronová síť dělá, v zásadě: aritmetické operace provádí, spíše než teoretický základ, který ospravedlňuje uvedené operace (to je mnohem složitější!). Pokud chcete přejít rovnou k upgradům Qualcomm AI Engine, klidně přejděte k další části.
"Vektorová matematika je základem hlubokého učení." – Travis Lanier, vrchní ředitel produktového managementu společnosti Qualcomm na Snapdragon Tech Summit 2017
Níže naleznete velmi typický dopředný diagram plně propojené neuronové sítě. Ve skutečnosti díky diagramu vypadá celý proces o něco složitější, než je (alespoň dokud si na to nezvyknete). Vypočítáme dopředný průchod, což je nakonec to, co síť dělá, kdykoli vytvoří odvození, termín, se kterým se také setkáme později v článku. V tuto chvíli se budeme zabývat pouze strojem a jeho částmi se stručným vysvětlením každé součásti.
Neuronová síť se skládá ze sekvenčních vrstvy, z nichž každý se skládá z několika "neuronů" (v diagramu znázorněných jako kruhy) spojených závaží (v diagramu znázorněno jako čáry). Obecně lze říci, že existují tři druhy vrstev: vstupní vrstva, který přebírá surový vstup; skryté vrstvy, které počítají matematické operace z předchozí vrstvy, a výstupní vrstva, která poskytuje konečné předpovědi. V tomto případě máme pouze jednu skrytou vrstvu se třemi skryté jednotky. The vstup sestává z vektoru, pole nebo seznamu čísel určitého rozměru nebo délky. V příkladu budeme mít dvourozměrný vstup, řekněme [1.0, -1.0]. Tady, výstup sítě se skládá ze skalárního nebo jediného čísla (nikoli ze seznamu). Každá skrytá jednotka je spojena se sadou závaží a a zkreslení, zobrazený vedle a pod každým uzlem. Pro výpočet vážený součet výstupu jednotky, každá hmotnost se vynásobí každým odpovídajícím vstupem a poté se produkty sečtou. Pak k tomuto součtu produktů jednoduše přidáme zkreslení, což vede k výstupu neuronu. Například s naším vstupem [1.0,-1.0], první skrytá jednotka bude mít výstup 1.0*0.3 + (-1.0) * 0.2 + 1.0 = 1.1. Jednoduché, že?
Další krok v diagramu představuje an aktivační funkce, a je to, co nám umožní vytvořit výstupní vektor každé skryté vrstvy. V našem případě budeme používat velmi populární a extrémně jednoduché rektifikovaná lineární jednotka nebo ReLU, který vezme vstupní číslo a vydá buď (i) nulu, pokud je toto číslo záporné, nebo nulu (ii) samotné vstupní číslo, pokud je číslo kladné. Například, ReLU(-0,1) = 0, ale ReLU(0,1) = 0,1. Po vzoru našeho vstupu jako to propaguje přes tuto první skrytou jednotku by výstup 1.1, který jsme vypočítali, předán do aktivační funkce, čímž ReLU(1.1)=1.1. Výstupní vrstva bude v tomto příkladu fungovat stejně jako skrytá jednotka: vynásobí výstupy skrytých jednotek svými vahami a pak přidá svůj zkreslení 0.2. Poslední aktivační funkce, kroková funkce, změní kladné vstupy na 1 a záporné hodnoty na 0. Když víme, jak každá z operací v síti funguje, můžeme zapsat kompletní výpočet naší inference takto:
To je vše, co je k výpočtu naší dopředné neuronové sítě. Jak můžete vidět, operace se skládají téměř výhradně ze součinů a součtů čísel. Naše aktivační funkce ReLU(x) lze také velmi snadno implementovat, například pouhým zavoláním max (x, 0), takže vrátí x vždy, když je vstup větší než 0, ale jinak vrátí 0. Všimněte si, že krok (x) lze vypočítat podobně. Existuje mnoho složitějších aktivačních funkcí, jako např sigmoidální funkce nebo hyperbolická tečna, zahrnující různé interní výpočty a vhodnější pro různé účely. Další věc, které si již můžete všimnout, je, že my také může paralelně spouštět výpočty tří skrytých jednotek a jejich aplikace ReLU, protože jejich hodnoty nejsou potřeba současně, dokud nevypočítáme jejich vážený součet na výstupním uzlu.
Ale nemusíme u toho skončit. Výše můžete vidět stejný výpočet, ale tentokrát reprezentovaný maticovými a vektorovými operacemi násobení. Abychom dospěli k této reprezentaci, „rozšíříme“ náš vstupní vektor přidáním 1,0 k němu (světlejší odstín), takže když vložíme váhy a naše vychýlení (světlejší odstín) v matici, jak je uvedeno výše, výsledné násobení dává stejnou skrytou jednotku výstupy. Potom můžeme aplikovat ReLU na výstupní vektor, po jednotlivých prvcích, a poté „rozšířit“ výstup ReLU, abychom jej vynásobili váhami a zkreslením naší výstupní vrstvy. Tato reprezentace značně zjednodušuje zápis, protože parametry (váhy a odchylky) celé skryté vrstvy lze zastrčit pod jedinou proměnnou. Ale co je pro nás nejdůležitější, dává to jasně najevo vnitřní výpočty sítě jsou v podstatě maticové a vektorové násobení nebo bodové součiny. Vzhledem k tomu, jak se velikost těchto vektorů a matic škáluje s rozměrem našich vstupů a počtem parametrů v naší síti, většinu doby běhu strávíme prováděním těchto druhů výpočtů. Banda lineární algebry!
Náš příklad hraček je samozřejmě velmi omezený rozsahem. V praxi mohou mít moderní modely hlubokého učení desítky, ne-li stovky skrytých vrstev a miliony souvisejících parametrů. Namísto našeho příkladu dvourozměrného vektorového vstupu mohou použít vektory s tisíci vstupy, v různých tvarech, jako jsou matice (jako jsou jednokanálové obrázky) nebo tenzory (tříkanálové RGB snímky). Nic také nebrání naší maticové reprezentaci v přijímání více vstupních vektorů najednou přidáním řádků k našemu původnímu vstupu. Neuronové sítě mohou být také „zapojené“ jinak než naše dopředná neuronová síť nebo mohou vykonávat různé aktivační funkce. Existuje obrovská zoologická zahrada síťových architektur a technik, ale nakonec jsou to ony většinou rozdělit na stejné paralelní aritmetické operace, jaké najdeme v našem příkladu hraček, jen v mnohem větším měřítku.
Vizuální příklad konvolučních vrstev pracujících na tenzoru. (kredit obrázku: Směrem k datové vědě)
Například populární konvoluční neuronové sítě (CNN) o kterých jste pravděpodobně četli, nejsou „plně propojené“ jako naše falešná síť. Jeho „váhy“ nebo parametry jsou skryté konvoluční vrstvy lze si představit jako druh filtru, posuvné okno aplikované postupně na malé oblasti vstupu, jak je ukázáno výše - tato "konvoluce" je ve skutečnosti pouze produktem klouzavé tečky! Výsledkem tohoto postupu je to, co se často nazývá a mapa funkcí. Sdružování vrstev snižuje velikost vstupu nebo výstupu konvoluční vrstvy výpočtem maximální nebo průměrné hodnoty malých polí obrazu. Zbytek sítě se obvykle skládá z plně propojených vrstev, jako jsou ty v našem příkladu, a aktivačních funkcí, jako je ReLU. To se často používá pro extrakci prvků v obrázcích, kde mohou mapy prvků raných konvolučních vrstev „detekovat“ vzory, jako jsou čáry nebo hrany, a pozdější vrstvy mohou detekovat složitější prvky, jako jsou plochy nebo komplexy tvary.
Vše, co bylo řečeno, je přísně omezeno na dedukcinebo vyhodnocení neuronové sítě poté, co byly nalezeny její parametry výcvik což je mnohem složitější postup. A opět jsme vyloučili spoustu vysvětlení. Ve skutečnosti je každá ze součástí sítě zahrnuta pro určitý účel. Například ti z vás, kteří studovali lineární algebru, mohou snadno pozorovat, že bez nelineárních aktivačních funkcí se naše síť zjednodušuje na lineární model s velmi omezenou predikcí kapacita.
Vylepšený AI Engine na Snapdragonu 865 – shrnutí vylepšení
S tímto praktickým porozuměním komponentám neuronové sítě a jejich matematickým operacím můžeme začít přesně chápat, proč je hardwarová akcelerace tak důležitá. V poslední části můžeme pozorovat, že paralelizace je životně důležitá pro urychlení sítě nám umožňuje například vypočítat několik paralelních tečkových součinů odpovídajících každému neuronu aktivace. Každý z těchto tečkových produktů je sám o sobě tvořen operacemi vícenásobného sčítání čísel, obvykle s 8bitovou přesností v případě mobilních aplikací, které musí proběhnout co nejrychleji. AI Engine nabízí různé komponenty pro odlehčení těchto úkolů v závislosti na výkonu a energetické účinnosti vývojáře.
Diagram CNN pro populární datovou sadu MNIST, zobrazený na pódiu na letošním summitu Snapdragon. Jednotka vektorového zpracování se dobře hodí pro plně propojené vrstvy, jako v našem simulovaném příkladu. Mezitím procesor tensor zpracovává konvoluční a sdružovací vrstvy, které zpracovávají vícenásobné klouzání jádra paralelně, jako ve výše uvedeném diagramu, a každá konvoluční vrstva může vydávat mnoho samostatných funkcí mapy.
Nejprve se podívejme na GPU, o kterém obvykle mluvíme v kontextu 3D her. Spotřebitelský trh s videohrami po desetiletí stimuloval vývoj hardwaru pro zpracování grafiky, ale proč jsou GPU tak důležité pro neuronové sítě? Pro začátek se najednou prokousají masivními seznamy 3D souřadnic vrcholů polygonů, aby měli přehled o stavu světa ve hře. GPU musí také provádět gigantické operace násobení matic, aby převedl (nebo mapoval) tyto 3D souřadnic na 2D rovinné souřadnice na obrazovce a také zpracovávat barevné informace pixelů v paralelní. K tomu všemu nabízejí velkou šířku pásma paměti, aby zvládly obrovské vyrovnávací paměti pro texturové bitmapy překrývající geometrii ve hře. Jeho výhody v paralelizaci, šířce pásma paměti a výsledné schopnosti lineární algebry odpovídají požadavkům na výkon neuronových sítí.
Řada Adreno GPU tak hraje velkou roli v Qualcomm AI Engine a na pódiu Qualcomm uvedl, že tato aktualizovaná komponenta v Snapdragonu 865 umožňuje dvakrát tolik možností s pohyblivou řádovou čárkou a dvojnásobný počet TOPS ve srovnání s předchozí generací, což je překvapivé vzhledem k tomu, že zaznamenaly pouze 25% nárůst výkonu pro vykreslování grafiky. Přesto se pro toto vydání společnost může pochlubit a 50% nárůst počtu aritmetických logických jednotek (ALU), i když jako obvykle nezveřejnili své frekvence GPU. Qualcomm také uvedl smíšenou přesnost instrukce, což je přesně to, co to zní: různá numerická přesnost napříč operacemi v jediné výpočetní metodě.
Hexagon 698 DSP je místo, kde vidíme obrovský kus nárůstu výkonu, který nabízí Snapdragon 865. V letošním roce společnost neoznámila vylepšení vektorových rozšíření jejich DSP (jejichž výkon se zčtyřnásobil oproti loňským 855), ani jejich skalární jednotky. Berou však na vědomí, že pro tento blokový Tensor Accelerator dosáhli čtyřnásobek TOPů oproti verzi představené loni v Hexagonu 695 DSP, přičemž umí také nabídnout O 35 % lepší energetická účinnost. To je velký problém s ohledem na převládající architekturu konvolučních neuronových sítí v moderních případech použití AI, od detekce obrazových objektů po automatické rozpoznávání řeči. Jak bylo vysvětleno výše, operace konvoluce v těchto sítích vytváří 2D pole maticových výstupů pro každý filtr, to znamená, že při naskládání dohromady je výstupem konvoluční vrstvy 3D pole resp tenzor.
Qualcomm také propagoval své „nové a jedinečné“ komprese šířky pásma hlubokého učení technika, která zřejmě může komprimovat data bezeztrátově o přibližně 50 %, naopak přesunutí poloviny dat a uvolnění šířky pásma pro ostatní části čipové sady. Mělo by to také ušetřit energii snížením propustnosti dat, ačkoli jsme nedostali žádné údaje a komprimace dat by měla být také malá.
Pokud jde o šířku pásma, Snapdragon 865 podporuje paměti LPDDR5, což také prospěje výkonu AI, protože zvýší rychlost přenosu zdrojů a vstupních dat. Kromě hardwaru je novinka od Qualcommu Sada nástrojů AI Model Efficiency Toolkit umožňuje vývojářům snadnou kompresi modelu a výsledné úspory energetické účinnosti. Neuronové sítě mají často velké množství „nadbytečných“ parametrů; mohou například vytvořit skryté vrstvy širší, než je nutné. Jedna z funkcí AI Toolkit diskutovaná na pódiu je tedy komprese modelu, přičemž dvě z uvedených metod jsou prostorová dekompozice singulární hodnoty (SVD) a bayesovská komprese, obě které efektivně ořezávají neuronovou síť tím, že se zbavují nadbytečných uzlů a upravují strukturu modelu jako Požadované. Další technika komprese modelu prezentovaná na scéně se týká kvantování a zahrnuje změnu numerické přesnosti váhových parametrů a výpočtů aktivačních uzlů.
Numerická přesnost vah neuronové sítě se týká toho, zda jsou číselné hodnoty použité pro výpočet ukládány, přenášeny a zpracovávány jako 64, 32, 16 (poloviční přesnost) nebo 8bitové hodnoty. Použití nižší numerické přesnosti (například INT8 oproti FP32) snižuje celkové využití paměti a rychlosti přenosu dat, což umožňuje vyšší šířku pásma a rychlejší vyvozování. Mnoho dnešních aplikací pro hluboké učení přešlo na 8bitové přesné modely pro odvození, což by mohlo znít překvapivé: neumožnila by vyšší numerická přesnost „přesnější“ předpovědi v klasifikaci nebo regresi úkoly? Ne nutně; vyšší numerická přesnost, zejména při vyvozování, může být promarněna, protože neuronové sítě jsou trénovány, aby se vypořádaly s hlučnými vstupy nebo stejně malé poruchy během trénování a chyba na nižší bitové reprezentaci dané (FP) hodnoty je jednotně „náhodná“ dost. V jistém smyslu síť považuje nízkou přesnost výpočtů za další zdroj šumu a předpovědi zůstávají použitelné. Pomineme-li heuristické vysvětlovače, je pravděpodobné, že při mizerném kvantování modelu získáte penalizaci za přesnost aniž by byly zohledněny některé důležité úvahy, což je důvod, proč se mnoho výzkumů zabývá předmět
Zpět k sadě nástrojů Qualcomm AI Toolkit: Prostřednictvím ní nabízejí kvantování bez dat, což umožňuje kvantování modelů bez dolaďování dat nebo parametrů a přitom stále dosahovat téměř původního výkonu modelu u různých úloh. V podstatě přizpůsobuje parametry hmotnosti pro kvantování a koriguje chybu vychýlení vnesenou při přechodu na váhy s nižší přesností. Vzhledem k výhodám kvantizace by automatizace postupu v rámci volání API zjednodušila produkci a nasazení modelu a Qualcomm tvrdí více než čtyřnásobek výkonu na watt při spuštění kvantovaného modelu.
Ale opět to není šokující: kvantovací modely mohou nabídnout obrovské výhody šířky pásma a úložiště. Převedení modelu na INT8 vám nejen přinese čtyřnásobné snížení šířky pásma, ale také výhodu rychlejších celočíselných výpočtů (v závislosti na hardwaru). Není tedy jasné, že hardwarově akcelerované přístupy ke kvantizaci i numerickým výpočtům by přinesly masivní nárůst výkonu. Na jeho blogu, například Pete Warden z Google napsal, že spolupráce mezi týmy Qualcomm a Tensorflow umožňuje 8bitovým modelům běžet až sedmkrát rychlejina HVX DSP než na CPU. Je těžké přeceňovat potenciál snadno použitelné kvantizace, zejména vzhledem k tomu, jak se Qualcomm zaměřil na výkon INT8.
Kryo CPU Snapdragon 865 na bázi ARM je stále důležitou součástí AI enginu. I když je výhodnější hardwarová akcelerace diskutovaná ve výše uvedených odstavcích, někdy my nemůže se vyhnout aplikacím, které správně nevyužívají výhody těchto bloků, což má za následek CPU ustoupit. V minulosti ARM zavedl specifické instrukční sady zaměřené na urychlení maticových a vektorových výpočtů. V procesorech ARMv7 jsme viděli představení ARM NEON, rozšíření architektury SIMD umožňující instrukce podobné DSP. A s mikroarchitekturou ARMv8.4-A jsme viděli zavedení instrukce speciálně pro dot-products.
Všechny tyto zveřejněné nárůsty výkonu se týkají mnoha pracovních zátěží, které jsme popsali v předchozí části, ale také stojí za to mít na paměti, že tyto upgrady Snapdragon 865 jsou pouze nejnovější vylepšení schopností AI společnosti Qualcomm. V roce 2017 jsme zdokumentovali jejich ztrojnásobení schopností AI pomocí Hexagon 685 DSP a dalších aktualizací čipové sady. V loňském roce představili svůj tensor akcelerátor a integrovali podporu pro nelineární funkce (jako výše uvedené ReLU!) na hardwarové úrovni. Také zdvojnásobili počet vektorových akcelerátorů a zlepšili výkon skalární procesorové jednotky o 20 %. Díky spárování toho všeho s vylepšeními na straně CPU, jako jsou rychlejší operace s bodovými produkty od ARM, a další ALU v GPU, Qualcomm nakonec ztrojnásobil také nezpracované schopnosti AI.
Praktické přínosy a rozšířené případy použití
Všechny tyto upgrady vedly k pětinásobku schopností AI na Snapdragonu 865 ve srovnání s pouhými dvěma lety, ale možná nejdůležitější je, že vylepšení přišla také s lepším výkonem na miliwatt, což je kritická metrika pro mobilní zařízení zařízení. Na Snapdragon Summit 2019 nám Qualcomm poskytl několik benchmarků, které porovnávaly jejich AI Engine se dvěma konkurenty v různých klasifikačních sítích. Zdá se, že tato čísla budou shromažďována pomocí AIMark, aplikace pro srovnávání napříč platformami, která umožňuje srovnání s procesory Apple řady A a HiSilicon od Huawei. Qualcomm tvrdí, že tyto výsledky využívají celý AI Engine a budeme si muset počkat na více důkladné srovnávání, aby se správně rozčlenil účinek každé složky a určilo se, jak tyto testy probíhaly provedl. Naznačují například výsledky od společnosti B záložní procesor? Pokud je mi známo, AIMark v současné době nevyužívá NPU Kirin 990 například na našich jednotkách Mate 30 Pro. Podporuje ale Snapdragon Neural Processing Engine, takže určitě využije výhody Qualcomm AI Engine; vzhledem k tomu, že se jedná o interní testování, není výslovně jasné, zda benchmark správně využívá správné knihovny nebo SDK pro své konkurenty.
Je třeba také říci, že Qualcomm efektivně porovnává schopnosti zpracování AI Snapdragonu 865 s dříve oznámenými nebo vydanými čipsety. Je velmi pravděpodobné, že jeho konkurenti přinesou v příštím cyklu podobně účinná zlepšení výkonu, a pokud v případě, pak by Qualcomm držel korunu pouze asi půl roku od okamžiku, kdy se zařízení Snapdragon 865 objeví na pultech. To znamená, že to stále svědčí o druhu nárazů, které můžeme od Snapdragonu 865 očekávat. Qualcomm byl obecně velmi přesný, když sděloval zlepšení výkonu a výsledky benchmarků nadcházejících verzí.
Všechny sítě prezentované v těchto benchmarcích klasifikují obrázky z databází jako ImageNet, přijímají je jako vstupy a vydávají jednu ze stovek kategorií. Opět se spoléhají na stejné druhy operací, které jsme popsali ve druhé části, i když jejich architektur je hodně komplikovanější než tyto příklady a v době zveřejnění byly považovány za nejmodernější řešení. V nejlepším případě jejich nejbližší konkurent poskytuje méně než poloviční počet inferencí za sekundu.
Pokud jde o spotřebu energie, Qualcomm nabídl závěry na watt, aby ukázal množství zpracování AI možného při daném množství energie. V nejlepším případě (MobileNet SSD) může Snapdragon AI Engine nabídnout dvojnásobný počet inferencí při stejném energetickém rozpočtu.
Napájení je zvláště důležité pro mobilní zařízení. Vzpomeňte si například na filtr Snapchat založený na neuronové síti. Realisticky, potrubí počítačového vidění získává informace o obličeji a aplikuje masku nebo vstup transformace potřebuje pouze běžet rychlostí 30 nebo 60 dokončení za sekundu, aby se dosáhlo tekutiny Zkušenosti. Zvýšení hrubého výkonu umělé inteligence by vám umožnilo používat vstupy s vyšším rozlišením a vydávat lépe vypadající filtry, ale také se raději spokojte s rozlišením HD pro rychlejší nahrávání a snížení spotřeby energie a tepelného škrcení. V mnoha aplikacích „rychlejší“ nemusí být nutně „lepší“ a člověk pak může těžit z výhod vyšší energetické účinnosti.
Během druhého dne Snapdragon Summit se na pódium postavil Sr. technický ředitel společnosti Snapchat Yurii Monastyrshyn, aby ukázal, jak jejich nejnovější filtry založené na hlubokém učení jsou výrazně urychleny pomocí Hexagon Direct NN pomocí Hexagon 695 DSP na Snapdragonu. 865.
Navíc, jak vývojáři získají přístup ke snadnějším implementacím neuronových sítí a více aplikací začíná využívat techniky umělé inteligence, případy souběžného použití budou více v centru pozornosti, protože smartphone bude muset zvládnout více paralelní potrubí AI najednou (buď pro jednu aplikaci zpracovávající vstupní signály z různých zdrojů nebo pro tolik aplikací běžících samostatně na zařízení). Zatímco vidíme úctyhodný nárůst energetické účinnosti napříč výpočetním DSP, GPU a CPU, Qualcomm Sensing Hub zvládá vždy zapnuté případy použití, aby naslouchal spouštěcím slovům při velmi nízké spotřebě energie. Umožňuje monitorování audio, video a senzorových zdrojů proudu pod 1 mA, což umožňuje zařízení rozpoznat konkrétní zvukové signály (jako dětský pláč) nad známými klíčovými slovy digitálního asistenta. V této souvislosti Snapdragon 865 umožňuje detekovat nejen klíčové slovo, ale také toho, kdo jej mluví, identifikovat oprávněného uživatele a podle toho jednat.
Více umělé inteligence na zařízeních Edge
Tato vylepšení se nakonec mohou promítnout do hmatatelných výhod pro vaši uživatelskou zkušenost. Služby, které zahrnují překlad, rozpoznávání a označování objektů, předpovědi použití nebo doporučení položek, porozumění přirozenému jazyku, analýza řeči a tak dále získají výhodu rychlejšího provozu a nižší spotřeby Napájení. Vyšší výpočetní rozpočet také umožňuje vytvářet nové případy použití a zkušeností a přesunout procesy, které se dříve odehrávaly v cloudu, do vašeho zařízení. Zatímco AI jako termín byl v minulosti používán pochybnými, klamavými a dokonce chybnými způsoby (dokonce i výrobci OEM), mnoho vašich služeb, které si dnes užíváte, se nakonec v nějaké formě spoléhá na algoritmy strojového učení další.
Kromě Qualcommu však i jiní výrobci čipových sad v této oblasti rychle opakovali a zdokonalovali se. Například model 990 5G přinesl konstrukci jádra 2+1 NPU, což má za následek až 2,5krát vyšší výkon než Kirin 980 a dvojnásobný výkon než Apple A12. Když byl procesor oznámen, ukázalo se, že nabízí až dvojnásobek snímků (inferencí) za sekundu Snapdragon 855 na INT8 MobileNet, což je těžké srovnat s výsledky poskytovanými Qualcommem. Apple A13 Bionic, na druhé straně, údajně nabídl šestkrát rychlejší násobení matrice než jeho předchůdce a vylepšil svůj osmijádrový neurální motor. Budeme muset počkat, až budeme moci řádně otestovat Snapdragon 865 na komerčních zařízeních proti jeho současným a budoucím konkurentům, ale je to jasné, že konkurence v tomto prostoru nikdy nezůstane nehybná, protože tyto tři společnosti nalévaly spoustu zdrojů na zlepšení své AI výkon.