Strojové učení je hardwarově náročné, současná CPU a GPU nestačí. Google si vytvořil vlastní řešení

6. 4. 2017

Sdílet

 Autor: Google
Před čtyřmi lety čelil Google problému, který vyřešil přímo šalamounsky. Firma si spočítala, že kdyby každý její uživatel na tři minuty denně využíval službu rozpoznání hlasu, byla by nucena zdvojnásobit počet svých datacenter; a to z důvodu nutnosti zajištění poptávky po strojovém učení, které podobné služby zajišťuje.

Místo nákupu nemovitostí a serverů, které by se za tímto jedním konkrétním účelem notně prodražilo, rozhodl se Google vytvořit nový, specializovaný kus hardwaru, využívaný právě pro aplikace a služby strojového učení.

Výsledkem je Tensor Processing Unit (TPU), čip, který má zrychlit vstupní část hloubkových neurálních sítí, deep learningu a strojového učení. Ve středu Google zveřejnil studii, kde porovnává rychlostní výkon svého TPU se srovnatelnými CPU a GPU, a to jak z hlediska čistého výkonu, tak také energetické efektivity, tedy měří počet jednotek výkonu za spotřebovaný watt energie.

TPU je dle výsledků testu v průměru 15 až 30krát rychlejší u úkolů strojového učení než srovnatelné serverové CPU (Intel Haswell) a GPU (Nvidia K80), uvádí Google. Co je důležitější – výkonnost ku energetické spotřebě vyšla 25 až 80krát lépe než u testovaných procesorových jednotek.

Podobná rychlost je pro Google důležitá – jak z hlediska finanční návratnosti obrovské investice na vývoj TPU, tak z toho důvodu, že na strojovém učení Google staví čím dál více. Takový výkon navíc činí nový hardware relevantní i díky tomu, že zrychlování tradičních křemíkových procesorů je stále těžší.

Nejde o akademickou studii bez reálného nasazení. Google TPU využívá od roku 2015 a mají za úkol zrychlovat aplikace strojového učení typu překladů a vizuální rozpoznávání. TPU prokazují svou efektivitu hlavně v energetické úspornosti, která je, co se týče gigantických datacenter, z finančního hlediska klíčová.

Dalším úspěchem Googlu je velmi nízká latence TPU – odezva je výrazně lepší než u současných CPU a GPU. Norm Jouppi, významný hardwarový inženýr Googlu, věří, že strojové učení musí rychle reagovat, aby byla uživatelská spokojenost dostatečná.

„Jde o to, že internet zabírá čas, internetový server zabere další čas, přesun dat ze zařízení na cloud zabere čas a konečně, celý proces opět zabere čas, když se vrací zpátky k uživateli“ vysvětluje Jouppi. „Networking a další cloudové záležitosti – všechny zabírají čas. Takže pokud chcete okamžitou reakci, už není moc prostoru ke ztracení dalšího času.“

Google čipy testoval na šesti různých aplikacích neurálních sítí, které reprezentují 95 % všech takových aplikací v datacentrech Googlu. Testované aplikace zahrnují DeepMind AlphaGo, systém, který minulý rok v Go porazil jednoho z mistrů hry, Lee Sedola.

Společnost TPU testovala v porovnání s hardwarem, který vyšel přibližně ve stejnou dobu; zkrátka se snaží příliš nemíchat jablka a hrušky. Je možné, že novější hardware by rozdíl ve výkonnosti snížil.

Zlepšovat se však mohou i TPU. GDDR5 paměti, které využívá právě např. Nvidia K80 GPU, by měly výkon jednotky zvýšit. Podle inženýrů Googlu totiž byl výkon některých aplikací zpomalen právě nedostatečnou propustností pamětí.

Podle studie Googlu je navíc i prostor pro softwarovou optimalizaci výkonu. Díky již existujícímu výkonnostnímu zlepšení, jaké TPU představují, však není jisté, zda se pro optimalizaci Google rozhodne. Prozatím se to nezdá pravděpodobné.

Ačkoli všechny neurální sítě napodobují způsob, jakým neurony přenášejí informace v lidském těle – tedy imitují nervový systém –  tzv. „CNN“ (convolutional neural networks, specializované neurální sítě, které Google využívá) se soustředí přímo na to, jak mozek zpracovává vizuální vjemy. Google aplikace pro CNN označuje jako CNN1, CNN2 atd.

„Protože CNN1 běží na TPU více než sedmdesátkrát rychleji než na CPU, vývojáři CNN1 jsou už tak velmi spokojení; není tedy jasné, zda nebo kdy budou softwarové optimalizace provedeny,“ vysvětlují dopodrobna autoři studie.

TPU jsou specifické křemíkové obvody, vytvořené se specifických záměrem, s instrukce zakódovanými přímo do čipu. Jouppi poznamenává, že v tom nevidí větší problém a TPU jsou podle něj dostatečně flexibilní na to, aby zvládly pracovat se změnami v modelech strojového učení.

bitcoin školení listopad 24

„Není to tak, že by byly vytvořeny přímo pro jeden jediný model a až přijde nový, tak bychom je museli vyhodit,“ podotýká.

Google není jedinou firmou, která vyrábí čipy přímo pro strojové učení. Podle Jouppiho na tom samém pracuje několik startupů a konkurencí je i Microsoft, který nedávno nasadil flotilu programovatelných hradlových polí (FPGA) do svých datacenter, který zrychlují networking a aplikace strojového učení.