Umělá inteligence
Výzkumníci vytvořili alternativu k GPU

Počítačoví vědci z Riceovy univerzity, společně se svými spolupracovníky z Intelu, vyvinuli nákladově efektivnější alternativu k GPU. Nový algoritmus se nazývá „sub-lineární hluboký učící se stroj“ (SLIDE) a využívá obecné účelové centrální procesorové jednotky (CPU) bez specializovaného akceleračního hardwaru.
Výsledky byly prezentovány v Austin Convention Center, který hostí konferenci o systémech strojového učení MLSys.
Jednou z největších výzev v oblasti umělé inteligence (AI) je specializovaný akcelerační hardware, jako jsou grafické procesorové jednotky (GPU). Před novým vývojem se předpokládalo, že pro urychlení hlubokého učení je vyžadován specializovaný akcelerační hardware.
Mnohé společnosti přikládají velký význam investicím do GPU a specializovaného hardwaru pro hluboké učení, které je odpovědné za technologie, jako jsou digitální asistenti, rozpoznávání obličejů a systémy doporučení produktů. Jednou z takových společností je Nvidia, která vytváří Tesla V100 Tensor Core GPU. Nvidia nedávno oznámila 41% nárůst čtvrtletních tržeb ve srovnání s loňským rokem.
Vývoj SLIDE otevírá zcela nové možnosti.
Anshumali Shrivastava je asistent profesora na Brownově škole inženýrství Riceovy univerzity a pomáhal vynalézt SLIDE se svými postgraduálními studenty Beidi Chen a Tharun Medini.
“Naše testy ukazují, že SLIDE je první chytrá algoritmická implementace hlubokého učení na CPU, která může překonat hardwarovou akceleraci GPU na průmyslových datových sadách s velkými plně propojenými architekturami,” řekl Shrivastava.
SLIDE překonává výzvu GPU díky svému zcela odlišnému přístupu k hlubokému učení. V současné době je standardní tréninková technika pro hluboké neuronové sítě „back propagation“ a vyžaduje maticové násobení. Tento pracovní zatížení vyžaduje použití GPU, takže výzkumníci změnili trénink neuronové sítě tak, aby mohl být řešen pomocí hash tabulek.
Tento nový přístup výrazně snižuje výpočetní náročnost pro SLIDE. Současná nejlepší platforma GPU, kterou společnosti jako Amazon a Google používají pro cloudové hluboké učení, má osm Tesla V100 a cena se pohybuje kolem 100 000 dolarů.
“Máme jeden v laboratoři a v našem testovacím případě jsme vzali pracovní zatížení, které je ideální pro V100, jedno s více než 100 miliony parametrů ve velkých, plně propojených sítích, které se vejdou do paměti GPU,” řekl Shrivastava. “Trénovali jsme ho s nejlepším (softwarovým) balíčkem, který je tam, Google’s TensorFlow, a trvalo to 3 a půl hodiny, aby se trénink dokončil.
“Pak jsme ukázali, že náš nový algoritmus může provést trénink za jednu hodinu, ne na GPU, ale na 44-jádrovém CPU Xeon třídy,” pokračoval.
Hashování je typ datové indexační metody vynalezené v 90. letech pro internetový vyhledávání. Numerické metody se používají k zakódování velkých množství informací jako řetězce číslic, které se nazývají hash. Hashy se seznamují pro vytvoření tabulek, které lze rychle prohledat.
“Nemělo by smysl implementovat náš algoritmus na TensorFlow nebo PyTorch, protože první věc, kterou chtějí udělat, je převést cokoliv, co děláte, na maticové násobení,” řekl Chen. “To je přesně to, čeho jsme se snažili se vyhnout. Takže jsme napsali vlastní kód v C++ od začátku.”
Podle Shrivastavy je největší výhodou SLIDE to, že je datově paralelní.
“Datově paralelní znamená, že pokud mám dvě datové instance, na kterých chci trénovat, řekněme jednu obraz cat a druhou bus, pravděpodobně aktivují různé neurony a SLIDE může aktualizovat nebo trénovat na těchto dvou nezávisle,” řekl. “To je mnohem lepší využití paralelismu pro CPU.”
“Na druhé straně, ve srovnání s GPU, vyžadujeme velkou paměť,” řekl. “Existuje hierarchie cache v hlavní paměti a pokud s ní nebudete opatrní, můžete narazit na problém, jako je cache thrashing, kde dostanete mnoho cache misses.”
SLIDE otevřel dveře pro nové způsoby implementace hlubokého učení a Shrivastava věří, že je to jen začátek.
“Jen jsme začali,” řekl. “Je toho ještě много, co můžeme udělat pro optimalizaci. Nepoužili jsme vektorizaci, například, nebo vestavěné akcelerátory v CPU, jako je Intel Deep Learning Boost. Existuje mnoho dalších triků, které bychom mohli použít, aby to bylo ještě rychlejší.”










