ARM odhaluje Trillium: procesory pro umělou inteligenci. Ovládne po světě mobilů i AI?

13

Strojové učení či umělá inteligence je dnes možná nejperspektivnější oblastí výpočetní techniky. Dobře se do ní podařilo naskočit Nvidii, ale hardware pro tuto oblast nabízí nebo by chtěla nabízet celá řada větších i menších firem. Nyní se k nim přidává i britský ARM, známý procesorovými jádry používanými v čipech pro mobilní zařízení.

„AI“ projekt firmy ARM nese jméno Trillium. ARM pod tímto názvem vyvine procesory, respektive koprocesory speciálně určené pro výpočty umělé inteligence. Na této architektuře pak budou moci být založené jednak akcelerátory integrované třeba v mobilním SoC, ale třeba a specializované čipy pro auta nebo samostatné výkonné čipy pro datacentra, podobné třeba TPU od Googlu. Fungovat to přitom bude na obchodním modelu, který spektakulárně zafungoval u mobilů: ARM architekturu navrhne a zpřístupní výměnou za licenční poplatky a samotné fyzické procesory či akcelerátory už pak bude moci vyrábět kdokoli.

V rámci projektu Trillium chystá ARM dvě linie procesorů: jednu pro strojové učení (procesor ML), druhou pro detekci objektů (procesor OD). Obojí budou výrazně specializované architektury, bude tedy možné mluvit o „ASIC“ čipech. Zcela specializované obvody by přitom pro tuto roli měli být řádově efektivnější než dnes používaná GPU – na stejný výkon jim má stačit mnohem menší čipy a také méně energie. Obecně se proto očekává, že ASICy nahradí v této roli GPU, takže ARM zde má příležitost svou architekturou zaujmout důležité pozice. Přechod na ASICy ostatně větří i Nvidia, neboť její Tensor Cores v architektuře Volta jsou krok tímto směrem, byť stále spojený s obecným GPU.

arm-trillium-slajdy-05Už první generace AI procesorů Trillium má dle ARMu přinést masivní navýšení efektivity proti GPU a CPU, firma ale zatím nezveřejnila moc detailů a zatím prozradila jen jejich obecnou „vizi“. Toto IP bude partnerům poprvé dostupné někdy v průběhu letošního roku, v praxi se tedy objeví až za nějakou dobu – ARM ve své prezentaci udává jako příklady 7nm čipy, takže se asi bavíme o produktech, které přijdou na svět až někdy v roce 2019 nebo později.

Procesor ML

Procesor ML, tedy ona první kategorie procesorů pro strojové učení – čili pro aplikaci (tzv. inferenci) neuronových sítí – by podle dokumentů ARMu být založená na paralelní architektuře s jádry kombinujícími bloky s fixní funkcí a programovatelnou část. Akcelerátory založené na této architektuře mají do mobilních čipů přinést výkon víc než 4,6 TOPS (tera operací za sekundu, ekvivalent TFLOPS, ale v 8bitových celočíselných operacích). Různými optimalizacemi má být možné výkon ještě navýšit, efektivita má ale být až 3 TOPS na jeden spotřebovaný watt. Z toho vyplývá, že ARM počítá s akcelerátory o zátěžové spotřebě okolo 1,5 W.

Zjednodušené schéma procesoru ML
Zjednodušené schéma procesoru ML

Pro srovnání: Tensor Cores v GPU Nvidia GV100 (Volta) mají dnes udávaný výkon 120 TOPS při TDP 300 W, takže teoreticky 0,4 TOPS/W. Implementace v Tegře Xavier by měla být efektivnější, jak jste nás upozornili v komentářích, s 1,0 TOPS/W. Každopádně ARM má zatím architekturu těchto procesorů jen na papíře, takže je třeba jeho čísla brát s rezervou.

arm-trillium-slajdy-04
Procesor ML pro strojové učení má při výrobě na 7nm procesu dosahovat výkonu 3 TOPS na 1 W spotřeby

Procesor OD

Zatímco první IP bude pro strojové učení, druhá architektura (procesor OD), kterou ARM chystá, bude specializovaná na prvotní detekci objektů v obrazových datech. To lze sice také provádět neuronovými sítěmi a dnes se tak činí, ovšem architektura ARMu má být pro tuto roli speciálně navržena a bude díky tomu efektivnější. Oba akcelerátory by v praxi ovšem měly spolupracovat. Procesor OD by například v obraze či videu (zmíněno je rozlišení FullHD při 60 snímcích za vteřinu) v reálném čase vyhledávala věci, třeba postavy a tváře, které je třeba dále identifikovat, a neuronová síť běžící na procesoru ML by poté důkladněji analyzovala už jen tento vybraný subset dat, aby například osoby identifikovala.

Procesor OD kromě samotného nalezení lidí na videu dokáže ale také rozpoznat jejich gesta, jakým směrem jsou otočeni nebo jejich trajektorie při analýze více snímků.

arm-trillium-slajdy-03
Procesor OD pro detekci objektů má sloužit k efektivnímu vyhledávání například osob či tváří ve scéně, s výkonem dostatečným i pro realtime zpracování videa

První generace těchto licenčních architektur mají být určené zejména pro mobilní použití, tedy coby akcelerátory s relativně malou spotřebou. V následujících pokoleních ale ARM zřejmě chce zaútočit i na pole výkonnějších samostatných akcelerátorů, takže by tyto čipy asi mohly začít konkurovat čipům od Nvidie v datacentrech nebo v automobilech. Spolu s architekturami pro ně bude samozřejmě vyvíjen také sofware, který by měl spolupracovat se zavedenými framewoeky jako NNAPI v Androidu, mxnet, Caffe, Caffe2 a TensorFlow. ARM chce údajně stavět na open source kódu, což by také mohlo být plusem.

Technologie Trillium má být napojena na existující frameworky a software
Technologie Trillium má být napojena na existující frameworky a software

ARM dorazil na párty pozdě, dokázat by ale mohl hodně

Pokud by se ARMu podařilo se v této oblasti prosadit podobně jako v mobilní oblasti s procesorovými jádry (a nyní již i GPU), mohly by AI architektury Trillium mít velký význam. ARM jako dominantní AI hráč by byl asi pozitivní v tom, že by přinesl poměrně standardizovanou a otevřenou platformu pro strojové učení. Uživatelé by pak mohli volit pro své potřeby hardware od mnoha různých výrobců, podobně jako je dnes pestrý výběr procesorů ARM. Taková komoditizace by zřejmě také zaručila, že AI procesory budou poměrně levné a dostupné, zatímco momentálně dominující proprietární řešení mají tendenci být dost drahá.

Ovšem zda se takový průlom ARMu povede, to je dost ve hvězdách. O obor AI se ucházejí i třeba těžké váhy jako Intel (s ASICy Nervana, a čipy/IP Movidius) a ARM do něj vstupuje poměrně pozdě. Čistě v mobilech by ale asi díky svým existujícím vztahům mohl mít s AI bloky Trillium slušnou šanci, což může být odrazový můstek pro další expanzi.

13 KOMENTÁŘE

  1. „Pro srovnání: Tensor Cores v GPU Nvidia GV100 (Volta) mají dnes udávaný výkon 120 TOPS při TDP 300 W, takže teoreticky 0,4 TOPS/W.“

    Jenze GV100 od Nvidie je GPU urcene pro trenovani, ne inferenci. Pro trenovani je potreba vetsi presnost a z toho vypliva i vetsi narok na spotrebu. Srovnavate nesrovnatelne. Az bude venku nejaka Tesla s TensorCores, ktera je urcena pro inferenci (podobne jako treba Tesla P4), pak bude mozne srovnavat efektivitu 1:1.

    • Pro doplneni vysvetleni treba z Anandtechu:

      „Within NVIDIA’s product stack for deep learning, they have opted to divide it into two categories of products: training cards and inferencing cards. Neural network training, which typically requires FP16 performance and a whole lot of horsepower, is handled by the likes of the Tesla P100 series, the only cards in NVIDIA’s lineup with a high performance FP16 mode. Meanwhile, because inferencing can be done with less precision on a smaller scale, NVIDIA has offered the M40/M4 cards, and now the P40/P4 cards for this task.“

      https://www.anandtech.com/show/10675/nvidia-announces-tesla-p40-tesla-p4

      • Navíc GV100 umí i FP64, takže je více univerzální. Univerzální řešení mají vždy vyšší spotřebu než application specific čipy jako tyhle ARMy. GV100 toho zvládne o dost více, za cenu vyšší spotřeby.
        ARMu bude efektivita k ničemu, když nebudou mít výkon. Pokud těch ARMů bude potřeba 30 na jednu GV100, tak ani nižší spotřeba nevyváží pořizovací náklady a zabraný prostor.
        A pokud je těch 3TOPS/1W myšleno jako při spotřebě 1W a ne 3TOPS na každý W, tak se pak stejně budou prodávat s frekvencemi které zahodí efektivitu do kopru.

        • Presne. Tesly pro inferenci (V4/V40?) budou mit efektivitu mnohem lepsi, mozna stejnou nebo lepsi, nez ten ARM.

          Hint o efektivite by mel by pro autora spis Nvidia Drive Xavier:
          https://blogs.nvidia.com/blog/2018/01/07/drive-xavier-processor/

          30TOPS, 30W a to obsahuje 8-jadrove CPU a vetsinu casti ma zalohovanou kvuli bezpecnosti, protoze to je cip pro AI v automobilovem prumyslu (viz. keynote).

          Holt @janolsan zase perli. Nvidia = enemy.

          • Spíš bych řekl, že Jan vycházel hlavně z informací od ARMu, které jsou dost skoupé a nejasné. A byly samozřejmě vybrány tak, aby ty čipy ukázaly v co nejlepším světle. Dokud nebude venku aspoň jeden z těch čipů venku (což pravděpodobně ještě dlouho nebude) dá se vycházet jen z těch marketingových hausnumer.

      • @Maudit
        Co takové Tegra Xavier? Takže v ní Tensor cores taky trénujou (to je fikaný, trénujou distribuovaně auta a není třeba žádnejch datacenter doma!) a auťáky za ně řídí asi ty CPU jádra Denver v tom SoC, co? 🙂

        Že má Volta navíc shader procesory a FP64 a tak dále je pravda, ale to je právě ta pointa – kvůli nim je GPU možná Xkrát větší (dražší) a víc žere. Proto jsou ty právě ASICy pro neuronové sítě efektivnější, protože si sebou netáhnou navíc xkrát víc křemíku, který nepotřebují.

        • Stejne jako normalni shader units, muzou i TensorCores mit ruzne presnosti, muze jich byt ruzne mnozstvi, atd..

          Celkove to chapes dost blbe. Pro trochu lepsi pochopeni, kde se trenuje a kde se provadi jen inference, popis primo od Nvidie:
          „NVIDIA DRIVE PX is part of a broad family of NVIDIA AI computing solutions. Data scientists who train their deep neural networks in the data center on the NVIDIA DGX-1™ AI supercomputer can seamlessly run on NVIDIA DRIVE PX inside the vehicle. The unified architecture enables the same NVIDIA DRIVE software algorithms, libraries and tools that run in the data center also perform inferencing in the car.
          This cloud-to-car approach enables cars to receive over-the-air updates to add new features and capabilities throughout the life of a vehicle.“

          https://nvidianews.nvidia.com/news/nvidia-announces-world-s-first-ai-computer-to-make-robotaxis-a-reality

          Takze pro priste – trenuje se na GV100.

          • Příště stačí říct, že jsem měl pravdu a tensor cores slouží i k inferenci, díky.

            Edit: Že má Nvidia různé tensor cores s různou přesností (i když tomu obojímu říká Volta…) pro Xavier a pro GV100, pro to je nějakej zdroj?

          • To je hezky, odpovidat na neco jinyho, nez na co jsem reagoval. Presne odpovida ty povaze, kterou uz zname 🙂 Ja reagoval na tohle:

            „Co takové Tegra Xavier? Takže v ní Tensor cores taky trénujou (to je fikaný, trénujou distribuovaně auta a není třeba žádnejch datacenter doma!) a auťáky za ně řídí asi ty CPU jádra Denver v tom SoC, co? “

            Pointa vubec nebyla o tom, jestli se da na TensorCores trenovat, vyhodnocovat nebo oboji. To je jasne, ze jde oboji. Pointa je v tom, ze Nvidia sama mluvi o Xavieru jako o platforme, kde se budou pouzivat u natrenovane site. A o serverech s GV100 jako o hadrwaru, kde se bude trenovat. Viz. obe citace (Nvidia, Anandtech) nahore.

            Na neuralni siti s presnosti Int8 taky muzes trenovat, ale ta vysledna kvalita bude totalne naprd. Proto se trenuje s vyssi presnosti a pak muze uz ta inference bezet treba s Int8 presnosti. Vahy jednotlivych spoju uz jsou spoctene a snadno se daji prevest na nizsi presnost.

          • To je proto, že reaguješ jenom na to, co se ti zrovna chce pro ty tvoje extempóre a ne na to důležitý.

          • Ze ARM Trillium je urcene pro infecenci na klientech je fakt. Ze Nvidia GV100 je urcena pro trenink je fakt. Ze Nvidia Xavier je urcena pro inferenci je fakt.

            Srovnavani efektivity Trillia s GV100 je jasna blbost. To neni neco nedulezityho.