Modely a platformy AI
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čení“ (SLIDE) a využívá obecné procesory (CPUs) 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é procesory (GPUs). Před novým vývojem se předpokládalo, že pro urychlení hlubokého učení je nutný 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čeje a systémy doporučení produktů. Jednou z takových společností je Nvidia (NVDA ), která vytváří grafické procesory Tesla (TSLA ) V100 Tensor Core. Nvidia nedávno oznámila 41% nárůst svých čtvrtletních příjmů 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 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ém měřítku doporučení dat 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í technika pro školení hlubokých neuronových sítí „back propagation“ a vyžaduje maticové násobení. Tato zátěž vyžaduje použití GPU, takže výzkumníci změnili školení neuronové sítě, aby mohla být řešena 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 (AMZN ) a Google (GOOGL ) používají pro cloudové hluboké učení, má osm Tesla V100 a cena je kolem 100 000 dolarů.
“Máme jeden v laboratoři a v našem testovacím případě jsme vzali zátěž, která je ideální pro V100, jednu 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. “Školovali jsme ji s nejlepším (softwarem) balíčkem, který je k dispozici, Google’s TensorFlow, a trvalo to 3 a půl hodiny.
“Pak jsme ukázali, že náš nový algoritmus může provést školení za jednu hodinu, ne na GPU, ale na 44-jádrovém procesoru Xeon,” pokračoval.
Hashing 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í, aby se vytvořily tabulky, 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 cokoli, co děláte, na maticové násobení,” řekl Chen. “To je přesně to, čeho jsme se chtěli zbavit. Takže jsme napsali svůj vlastní kód 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, které chci školoval, řekněme jednu obraz cat a druhou obraz bus, pravděpodobně aktivují různé neurony a SLIDE může aktualizovat, nebo školoval 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í nejste opatrní, můžete narazit na problém nazývaný 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 teprve začátek.
“Právě jsme začali,” řekl. “Ještě toho můžeme udělat hodně, abychom to optimalizovali. Nevyužili jsme vektorizaci, například, nebo vestavěné akcelerátory v CPU, jako je Intel (INTC ) Deep Learning Boost. Existuje mnoho dalších triků, které bychom mohli použít, abychom to udělali ještě rychlejší.”












