Mit várhatunk az Apple neurális motorjától az A11 Bionic SoC-ben

A11-Feature

Az Apple ezen a héten bemutatott iPhone X és iPhone 8 rendezvényén a vállalat bejelentette az A11 Bionic-ot, egy hatmagos CPU-val rendelkező SoC-ot, az Apple első egyedi GPU-ját, és azt, amit a vállalat Neural Engine-nek hív. Az Apple valójában nem sokat beszél a hardverről, ezen kívül:

Az új A11 Bionic idegmotor kétmagos kivitelű, másodpercenként akár 600 milliárd műveletet valósít meg valós idejű feldolgozás céljából. Az A11 Bionic neurális motort speciális gépi tanulási algoritmusokhoz tervezték, és lehetővé teszi a Face ID, az Animoji és más funkciók használatát.

A fentiek nagy része marketing-beszélő. Másodpercenként 600 milliárd művelet igénylése olyan értelmetlen, amennyire csak lehet. Bár biztos vagyok benne, hogy ez valódi szám, nem árul el semmit a mögöttes architektúráról vagy annak teljesítményéről, mert nem tudjuk, hogy az Apple mit határoz meg „műveletként”. Amikor egy GPU például TFLOP-kban adja meg teljesítményértékelését, akkor beszámol arról az elméleti lebegőpontos műveletről, amelyet a GPU ideális forgatókönyv esetén képes végrehajtani. Amit a GPU gyakorlatilag képes fenntartani egy adott munkaterhelésben, az mindig különbözik attól, amit elméletben megtehet, és itt biztosan hasonló korlátozás működik.



Noha nem sokat tudunk az Apple hardverének sajátosságairól, néhány dolgot megérthetünk a működésével kapcsolatban, ha figyelembe vesszük magát a gépi tanulás részletét, és a többi vállalat által a munkaterhelés növelésére szolgáló megoldásokat.

Mi a gépi tanulás?

A gépi tanulás az AI egyik ága, amely algoritmusok létrehozásával foglalkozik, amelyek „tanulhatnak” az adatokból, szemben azzal, hogy kifejezetten beprogramozzák, hogy hol keresse őket. A gépi tanulásnak többféle típusa van. Az a kettő, amelyre a legtöbb figyelem irányul, felügyelt és felügyelet nélküli tanulás.

A felügyelt tanulás során a feldolgozott adatokat már felcímkézték és kategorizálták. Képzelje el például, hogy volt egy adatállománya egy adott városra vonatkozóan, amely megmutatja, hogy mennyi a lakásbérlet, és mennyi az alapterület az egyes lakásokban. Ha ezeket az adatokat egy felügyelt tanulási forgatókönyv részeként betölti egy algoritmusba, ábrázolhatja az alapterület és a bérleti díj közötti kapcsolatot, majd az algoritmus segítségével megjósolhatja bármely adott alapterületű lakás bérleti díját. nélkül egy adott program írása ugyanazon feladat végrehajtására. Ebben az esetben megkérheti a modellt, hogy jósolja meg, mennyibe kerül egy lakás 1000 négyzetméteres magasságában, majd ellenőrizze az előrejelzést, hogy mennyi 1000 négyzetméter. lábas lakások ténylegesen kerülnek. Minél több adatot tölt be a modellbe, annál jobb lesz a modellnek az eredmények előrejelzése.

Felügyelet nélküli tanulás esetén az algoritmus betanításához használt adatok nincsenek felcímkézve. A felügyelt tanulás során tudja, hogy kapcsolatot keres a négyzetméter és a havi bérleti díj között. A felügyelet nélküli tanulás során nem tudja, mire utal az egyik adatérték. Ezekben az esetekben az algoritmus összefüggéseket keres belül az adatok, a leíró jellemzők után kutatva.

Bővítsük példánkat. Képzelje el, hogy nagyobb adatkészlete van, mint a négyzetméter és a lakásbérlet. Képzelje el, hogy rendelkezik adatokkal a helyi vagyoni értékekről, a bűnözési arányokról, a demográfiai adatokról, az iskola minőségéről, a havi bérleti díjakról és a kreditértékekről is. Ezek mind józan ésszel járó tényezők, amelyek befolyásolhatják, hogy mennyibe kerül egy lakás bérleti díja, de tudják, hogyan sokkal befolyásolják a bérleti díjat, nehéz meghatározni. Ebben a forgatókönyvben érdemes lehet egy olyan algoritmus, amely megkeresheti a tényezők közötti kapcsolatokat, és a hasonló eredményeket csoportosíthatja, hogy megmutassa kapcsolatukat. Ezt fürtözésnek nevezik, és ez az egyik alapja a felügyelet nélküli tanulási algoritmusoknak.

Csoportosítás

A fenti grafikon ugyanazt az adatsort mutatja, a fürtözés előtt és után. A fürtözés csak egyfajta felügyelet nélküli tanulási algoritmus, és nincs garancia arra, hogy minden minta jó minta - néha egy algoritmus felvesz egy kapcsolatot, amely valójában csak háttérzaj. De az ilyen típusú algoritmusok számos prediktív „ajánlott” motor alapját képezik, amelyek különböző webhelyeket működtetnek, mint például a Netflix vagy az Amazon.

Például honnan „tudja” a Netflix, hogy élvezheti Pajzs ügynökei ha te is nézted Star Trek? Ez azért van, mert a Netflix saját adatai a nézőiről megmutatják az ilyen típusú kapcsolatokat. Ha ismered a 90 százalékodat Star Trek a rajongók a Marvel tévéműsorokat is nézik, tudja, hogy erősen ajánlja a Marvel tévéműsorát. Ez ismét magától értetődőnek tűnik, csupán egy vagy két adatponttal kell játszani. De ez a gépi tanulás további erőssége - akkor is képes kapcsolatokat találni az adatokban, ha több száz vagy ezer adatpont közül lehet választani.

Az arcfelismerés a mély tanulás, a gépi tanulás és az AI egyik fő kutatási területe. Ezért nem meglepő, hogy az Apple azt állítja, hogy idegmotorját Face ID-n használják, vagy hogy kifejezetten bizonyos algoritmusok megvalósítására készült. Kevésbé világos, hogy mi köze van Animojisnak bármihez, de ezt egyelőre figyelmen kívül hagyjuk.

Az Apple a bemutatása során felvetette, hogy a Face ID szolgáltatás nemcsak a hagyományos kamerát használja. Az Apple szerint 30 000 fénypontból álló térkép segítségével térképezi fel arcát infravörös fény segítségével, majd összehasonlítja azt a térképet, amelyet „lát”, amikor megpróbálja kinyitni a készüléket, az arccal tárolt térképpel. Ez sok adat feldolgozása gyorsan, és valószínűleg kevés energiával.

Miért építsünk speciális hardvert?

Az elhullott macskát nem lendítheti több mint hat hüvelyk anélkül, hogy manapság ütne egy másik céget, amely egy mesterséges intelligencia, mély tanulás vagy gépi tanulás megoldásán dolgozik hardveren. A Google rendelkezik Tensorflow, Az Intel rendelkezik KIS, Az Nvidia rendelkezik Idő, Fujitsu működik a saját megoldásukon, és még az AMD is be akar szállni az akcióba Radeon ösztön Termékek. Nem szeretnék áttekinteni a hardveres megoldások közötti valós különbségeket, és ott vannak valódi különbségek. A mély tanulási következtetések levonásához és a mély tanulási modellek képzéséhez használt munkaterhelések nem azonosak, ezeknek a platformoknak a képességei nem azonosak, és nem illeszkednek ugyanabba a hardverbe, nem oldják meg ugyanazokat a problémákat vagy szakosodnak ugyanazokra a feldolgozás típusai.

Ez nem azt jelenti, hogy nincsenek hasonlóságok. Általánosságban elmondható, hogy ezek a kezdeményezések mindegyike speciális hardveres képességeket valósít meg, azzal a céllal, hogy csökkentse mind a munkaterhelés kiszámításához szükséges időt, mind az ehhez szükséges teljes energiafogyasztást. Nyilvánvaló, hogy az Apple A11 Bionic-je más TDP-vel rendelkezik, mint az Nvidia Volta vagy az AMD Radeon Instinct, de a műveletenkénti energiafogyasztás csökkentése kritikus fontosságú. Az alábbi grafikonon látható, hogy mekkora energiára van szükség bizonyos műveletek végrehajtásához. Ha kíváncsi arra, hogy az AMD és az Nvidia miért fektet ilyen hangsúlyt például a 16 bites műveletek használatára, az alábbi ábra megadja egyes funkciók területköltségét, valamint a feladathoz tartozó energiafogyasztást.

CostofOps

Egy hagyományos GPU, 16 bites teljesítmény vagy energiahatékonyság-fejlesztés nélkül, 32 bites műveleteket hajt végre. Ebben a diagramban az FP lebegőpontot jelent.

Nagyon sok munka folyik ezen hálózatok kiépítésének leghatékonyabb módjának megtalálásában. Ez egybevág az Apple saját vágyával, hogy a mesterséges intelligenciát és a gépi tanulást a szélén alkalmazza, ahol az áramkörök korlátozottak és a magas hatékonyság kritikus fontosságú, de az AI-re és még a HPC-re is kiterjed a következménye. Az energiatakarékos hálózatoknak nagyobb mozgástere van arra, hogy fizikailag nagyobb eszközökre méretezzenek, vagy nagyobb sebességgel működjenek anélkül, hogy felesleges hő keletkezne.

A gépi tanulás teljesítményének és hatékonyságának javításának másik kulcsfontosságú eleme az adatok helyi szinten tartása. Minél kevesebb adatot kell áthelyeznie egy buszon, annál kevesebb energiát éget el ezzel. És bár valószínűleg magától értetődik, az eddig látott különféle architektúrák mind nagyon párhuzamosak, és úgy lettek kialakítva, hogy egyszerre működjenek nagy adathalmazokon, szemben azzal, hogy kevesebb szálat futtatnak magasabb órákon.

Miért történik ez a nyomás most?

Az elmúlt néhány évben, amint azt a fentiekben említettük, hatalmas fordulatot láttunk ezeknek a mély tanulásnak, a gépi tanulásnak és az AI munkaterhelésnek. Ennek egy részét speciális feladatalkalmazások vezérlik, például az önvezető autók. Gyanítom, hogy a legtöbb azonban válasz a szilícium méretezés hosszú távú sikertelenségére a 2004-ben elvesztett régi teljesítménytrendek újjáélesztésére. 2004-től 2011-ig újabb CPU-magok hozzáadása és a továbbfejlesztett architektúrák elég jól haladtak. 2011 óta a csúcskategóriás CPU egyszálas teljesítményének javulása lassult a feltérképezésig. (Az AMD Ryzen nagyszerű munkát végzett, hogy visszahúzza az életet a fogyasztói piacra, de az AMD még nem terjesztett elő egy chipet, amely tiszta egyszálas teljesítményben képes legyőzni az Intelet.)

Három dolog történt, amelyek valószínűsítik ezeket a lökéseket. Először is kiderült, hogy a számítási teljesítmény javításának egyetlen módja az, hogy új szoftvermodelleket és új speciális magokat fejlesztünk ki a szoftvermodellek futtatásához. Ha az általános célú CPU-magok nem fogják folytatni az egykor élvezett gyors fejlesztési ciklust, akkor a speciális, feladatspecifikus magok alkothatják a lazaságot.

Másodszor, a tranzisztor sűrűségének és az alacsonyabb fogyasztású működésnek a folyamatos javítása lehetővé tette több adat összegyűjtését és gyorsabb feldolgozását olyan esetekben, amelyeket korábban az energiafogyasztás vagy a rendelkezésre álló feldolgozó hardver korlátozott.

Harmadszor, a felhő adatközpontokban a centralizált feldolgozás felé történő elmozdulás, szemben a fogyasztói számítógépek kezelésével a feldolgozási modell „központjaként”, arra ösztönözte a vállalatokat, mint a Microsoft vagy a Google, hogy dolgozzanak ki saját speciális hardvert a feladatspecifikus munkaterhelés feldolgozásához. Az Intel nem fog kifejezetten keresőmotorok háttérfeldolgozására optimalizált CPU-t építeni; nincs piac számukra egy ilyen megoldás kiépítésében. A Microsoft viszont elkezdte használni az FPGA-kat a Bing teljesítményének javítása érdekében még 2015-ben.

Kicsit szokatlan, de nem egyedülálló, hogy az Apple hangsúlyt fektet ezeknek a képességeknek a szélén történő alkalmazására, szemben az adatközpontban. A Qualcomm korábban arról beszélt a Snapdragon 835-ről, hogy a számítási képességekkel rendelkező platform a fejlesztők is kihasználhatják ezt. Érdekes lesz látni, hogy a Cupertino vállalat miként fejleszti ezeket a képességeket a továbbiakban. Az Apple eltávolodott a perifériás üzletágtól, de nincs oka annak, hogy a vállalat nem tudott visszatéríteni, esetleg az A11 Bionic magasabb órás változatával egy házban, amely nem korlátozódott a telefon TDP borítékára vagy alaki tényező.

A vállalatok és a kutatók jelenleg még mindig megpróbálják kitalálni, hogy ezek a gépi tanulási képességek miben állnak a legjobban, és mik a fogyasztói felhasználási esetek. Számítson arra, hogy sok sár fog megjelenni ezen a falon, amint a szoftveres és hardveres platformok fejlődnek.

Copyright © Minden Jog Fenntartva | 2007es.com