Video: Skládání sil různých směrů (Listopad 2024)
Jedním z nejzajímavějších - a nečekaných - oznámení, která společnost Google učinila na konferenci vývojářů I / O minulý týden, bylo to, že navrhla a implementovala vlastní čipy pro strojové učení. Během své hlavní řeči představil generální ředitel společnosti Google Sundar Pichai to, co nazval Tensor Processing Units (TPU), a uvedl, že společnost je použila ve svých strojích AlphaGo, které porazily Go šampiona Lee Sedol.
"TPU jsou řádově vyšší výkon na watt než komerční FPGA a GPU, " řekl Pichai. Přestože neuváděl mnoho podrobností, odlišil hardwarový inženýr Google Norm Jouppi v blogu, že TPU je vlastní ASIC (integrovaný obvod specifický pro aplikaci). Jinými slovy, jedná se o čip speciálně navržený pro strojové učení a speciálně přizpůsobený pro TensorFlow, systém strojového učení společnosti Google.
V příspěvku Jouppi uvedl, že je „tolerantnější“ ke snížení výpočetní přesnosti, což znamená, že vyžaduje méně tranzistorů na operaci. Díky tomu může Google získat více operací za sekundu, což uživatelům umožní rychlejší výsledky. Řekl, že deska s TPU zapadá do slotu pro pevný disk v jeho stojanech pro datová centra a ukázal obrázek serverových stojanů naplněných TPU, které podle něj byly použity ve strojích AlphaGo společnosti.
Kromě toho společnost Jouppi uvedla, že TPU již pracují na řadě aplikací na Googlu, včetně RankBrain, které se používají ke zlepšení relevantnosti výsledků vyhledávání, a Street View ke zlepšení přesnosti a kvality map a navigace.
Na tiskové konferenci viceprezident společnosti Google pro technickou infrastrukturu Urs Hölzle potvrdil, že TPU běží pomocí 8bitové celočíselné matematiky, namísto vyšší přesnosti matematiky s pohyblivou desetinnou čárkou, pro kterou je navržena většina moderních procesorů a GPU. Většina algoritmů strojového učení dokáže získat pokutu s daty s nižším rozlišením, což znamená, že čip dokáže zvládnout více operací v dané oblasti a efektivněji řešit složitější modely. Nejedná se o nový nápad, modul Nvidia Drive PX 2, ohlášený na začátku letošního roku na CES, je schopen 8 teraflopů s přesností na 32 bitů s pohyblivou desetinnou čárkou, ale dosahuje 24 hlubokých učení „teraops“ (termín společnosti pro 8 -bit celé číslo matematika).
Přestože Hölzle odmítl jít do specifik, zprávy uvádějí, že potvrdil, že Google dnes používá TPU i GPU. Řekl, že to bude nějakou dobu pokračovat, ale navrhl, aby společnost Google považovala GPU za příliš obecnou a upřednostňoval čip optimalizovaný pro strojové učení. Řekl, že společnost bude vydávat noviny popisující výhody čipu později, ale objasnil, že jsou určeny pouze pro interní použití, nikoli k prodeji jiným společnostem. Další aplikací, kterou popsal, bylo použití čipů k manipulaci s částmi výpočetní techniky za motorem rozpoznávání hlasu používaným v telefonu Android.
Volba používat ASIC je zajímavá sázka od společnosti Google. Největším pokrokem v strojovém učení v posledních letech - technologie za velkým tlakem na hluboké neuronové sítě - bylo přijetí GPU, zejména linie Nvidia Tesla, k výcviku těchto modelů. V poslední době Intel koupil Altera, přední výrobce FPGA (polní programovatelná hradlová pole), které jsou někde uprostřed; nejsou tak obecného účelu jako GPU nebo jsou speciálně navrženy pro TensorFlow jako čip Google, ale lze je naprogramovat tak, aby vykonávaly různé úkoly. Microsoft experimentuje s FPGA Altera pro hluboké učení. IBM vyvíjí svůj neurosynaptický čip TrueNorth určený speciálně pro neuronové sítě, který se v poslední době začal používat v různých aplikacích. Cadence (Tensilica), Freescale a Synopsys tlačí své DSP (procesory digitálního signálu), aby tyto modely provozovaly; Mobileye a NXP nedávno ohlásily čipy určené speciálně pro ADAS a automobily s vlastním pohonem; a několik menších společností, včetně Movidius a Nervana, oznámilo plány na čipy speciálně určené pro AI.
Je příliš brzy na to, abychom věděli, který přístup bude z dlouhodobého hlediska nejlepší, ale díky několika velmi odlišným možnostem se v příštích několika letech pravděpodobně uvidíme zajímavou soutěž.