Google odhalil AI procesor TPU 3.0. Slibuje 8× výkon a přes 100 PFLOPS na jeden pod

18

Google pořádal tento týden svou konferenci I/O 2018, na které se věnoval kromě svých různých aktivit patřících spíš pod software a služby jednomu ze svých hardwarových projektů – totiž AI procesorům TPU (Tensor Processing Unit). Google odhalil již třetí generaci označenou TPU 3.0. Google je v této oblasti hodně agresivní – první generaci čipu TPU odhalil před dvěma lety, druhou před rokem a s ročním odstupem má již třetí, která má opět zvýšit výkon.

TPU Google jsou na rozdíl od hlavního konkurenta, jímž jsou GPU Tesla od Nvidie (nyní v 12nm generaci Volta), čipy specializované čistě na výpočty strojového učení, tedy „ASICy“. Druhá generace TPU slibovala výkon 180 TFLOPS, ovšem ve skutečnosti toto číslo udávalo výkon jedné desky, která byla založená na celkem čtyř čipech, na jeden z nich tedy připadalo 45 TFLOPS. Toto uspořádání je zřejmě zachováno i u TPU 3.0, které je také organizováno po čtyřech čipech na desce, přičemž jednotlivé desky jsou v datacentru propojené poměrně rozsáhlou konektivitou, viz kabeláž všudypřítomnou na fotografiích.

Google k TPU 3.0 bohužel sdělil jen minimum informací, ale zmínil, že má proti druhé generaci poskytovat „osminásobný výkon“ na jednu jednotku, kterou Google označuje „pod“. A jeden jeden pod má údajně vyvíjet výkon přes 100 PFLOPS (petaflops). Pro srovnání, pod složený z TPU 2.0 by prý měl mít výkon 11,5 PFLOPS, což by vycházelo na větší než osminásobný nárůst.

Vodní chlazení pro vyšší výkon

Jak se ale zdá, toto neznamená, že se osmkrát zvýšil výkon jednoho čipu TPU 3.0. Podle analýzy webu The Next Platform zřejmě Google jednak zdvojnásobil počet serverových racků (a tedy i místo zabrané v datacentru), z nichž je jeden pod složen. Zároveň je teď zdá se také dvakrát vyšší počet desek s čipy TPU 3.0, osazených v jednom racku. To je umožněno přechodem ze vzduchového na vodní chlazení, jež má výrazně nižší profil. Ono osminásobné (či ještě větší) navýšení výkonu jde tedy z velké části na vrub prostě zečtyřnásobení počtu ASICů v jednom podu.

Deska se čtyřmi ASICy TPU 3.0 (video na Google I/O 2018)
Deska se čtyřmi ASICy TPU 3.0 (video na Google I/O 2018)

To znamená, že samotné čipy TPU 3.0 by měly vyvíjet zhruba dvojnásobný výkon proti TPU 2.0. Google mohl přejít na menší výrobní proces a zvýšit frekvence, na nichž ASIC běží, případně přidat jednotky. Vzhledem k vodnímu chlazení je také možné, že bylo zvýšeno TDP, což by přímo zvyšovalo výkonnostní potenciál. Je také možné, že třetí generace TPU není nějakým výrazným architektonickým předělem, který by asi hrubý výkon v TFLOPS mohl posunout ještě víc, ale víceméně rozvinutím architektury z TPU 2.0 do „širší“ implementace s vyšším výkonem.

Podle The Next Platform by jeden pod čipů TPU 3.0 (dole) měl být složen ze dvojnásobného množství racků s deskami proti podům TPU 2.0 (nahoře), přičemž v racku je také dvakrát víc desek
Podle The Next Platform by jeden pod čipů TPU 3.0 (dole) měl být složen ze dvojnásobného množství racků s deskami proti podům TPU 2.0 (nahoře), přičemž v racku je také dvakrát víc desek

Dvojnásobný či vyšší výkon jednoho ASICu by znamenal 90 či více TFLOPS ve výpočtech neuronových sítí. Čip proti čipu by tedy řešení Googlu dosahovalo stále jen zhruba tří čtvrtin teoretického výkonu, který uvádí Nvidia pro jednu Teslu V100 za použití jejích specializovaných tensor cores. Otázka je, jakou roli sehraje konektivita a softwarová/programovací stránka (Google například používá vlastní optmalizovaný formát čísel FP16 s větším rozsahem), TPU 3.0 by ale asi mělo být nejvýkonnějším konkurentem Nvidie.

Cloud k pronájmu versus hardware na prodej

Google nicméně má zcela odlišný obchodní model než Nvidia, takže uvidíme, jak velká mezi nimi může na trhu „AI výpočtů“ – či lépe řečeno strojového učení – vůbec vzniknout konkurence. Zatímco Nvidia prodává hardware či v menší míře celé servery osazené výpočetními GPU, žádné z TPU nebylo zatím na prodej samostatně.

Google je zaměřen na model „as a service“ a případní uživatelé mají k jeho hardwaru přístup vždy jen vzdáleně jako ke cloudu. Nemohou ho také programovat přímo, ale jen skrze poskytnutý framework. Která z těchto možností je atraktivnější, to asi vědí jen konkrétní firmy v tomto byznysu, ale logicky by se dalo čekat, že tato politika Googlu dost omezí potenciál TPU 3.0 přetáhnout zákazníky od Nvidie.

Google odhalil AI procesor TPU 3.0. Slibuje 8× výkon a přes 100 PFLOPS na jeden pod

Ohodnoťte tento článek!
4.9 (97.5%) 8 hlas/ů

18 KOMENTÁŘE

  1. Jak uz jsem tu kdysy psal, AI neni jen o neronovych sitich, ale jde ruku v ruce s preprocessingem obrazu, simulacemi nad vstupnimi i vystupnimi daty neuronovych siti, orientaci v rozpoznanem prostredi, atd. .. Takze Tesla je nejen rychlejsi, ale jeji klasicke compute schopnosti, vyuzivane v takovych scenarich, jsou navrch velmi uzitecne. To v Google TPU jaksi chybi.

  2. Doufám, že si TPU i v této generaci zachová mnohem nižší cenu než konkurence.
    https://www.extremetech.com/wp-content/uploads/2018/04/ResNet50-Cost.png
    „As shown above, the current pricing of the Cloud TPU allows to train a model to 75.7 percent on ImageNet from scratch for $55 in less than 9 hours! Training to convergence at 76.4 percent costs $73. While the V100s perform similarly fast, the higher price and slower convergence of the implementation results in a considerably higher cost-to-solution.“

    • To je dobrej vtip – slower implementation. Takze jednak je to srownani v jinych cloudech, na jinem hardwaru, ale jeste navic je na V100 pouzita pomalejsi implementace? 😄 Takovy srovnani jsou vazne usmevny. Zvlast, kdyz Google musi vyrazne snizovat ceny, protoze oproti Azure a AWS ho skoro nikdo nepouziva.

        • Ale ano, v tomto pripade znamena. Pokud dana implementace je pomalejsi v kriteriu, ktere je pouzite jako meritko testu, pak jde v ramci toho testu u pomalejsi implementaci. Samoztejme, ze muze mit naopak jine vyhody, ale to neni soucasti hodnoceni. Pro mereni vykonu by mely byt pouzite site se stejnym layoutem/hyperparametry. Jinak je to jako testovat herni vykon s jinou urovni detailu na kazdem stroji ..

          • WTF??

            Maudite, ty jsi úplně mimo. Totálně jsi nepochopil text, natož co ten graf zobrazuje.

            Takže verze pro BFU:
            Graf zobrazuje cenu pro dosažení dané přesnosti (75,7%), která je pro TPU i nVidia Volta stejná.
            https://www.extremetech.com/wp-content/uploads/2018/04/ResNet50-Cost.png
            Google Cloud TPU (4xTPUv2) je schopno zvládnout úlohu při ceně 55 dolarů (první sloupec).
            Na AWS ti to samé spočítají tvou opěvované nVidie (4xV100) za 129 dolarů (druhý sloupec).
            Když si zaplatíš pronájem na AWS na 12 měsíců (reserved 12m), tak dostaneš slevu, ale i tak tě ta stejná úloha bude stát 88 dolarů (třetí sloupec).

            Nehledě na to, že se TPU bylo schopno dostat až na 76.4% při stále nižší ceně 73 dolarů.
            We ran training with a batch size of 1024 for 90 epochs and compared results on the validation data. The TPU implementation consistently processes about 2796 images per second and the GPU implementation about 2839 images per second.
            https://cdn-images-1.medium.com/max/1600/0*6V7w9P-XUOVAP1tg.
            To je to „slower convergence of the implementation“, které jsi si ty mylně VYLOŽIL jako „slower implementation“ .

            Takže stále platí věta.
            „While the V100s perform similarly fast, the higher price and slower convergence of the implementation results in a considerably higher cost-to-solution.“

          • To jsi tomu nasadil korunu: „The TPU implementation consistently processes about 2796 images per second and the GPU implementation about 2839 images per second.“

            Co to rika? Nvidia Volta je rychlejsi, ale diky jine implementaci presto v merenem kriteriu dosahuje pozadovaneho stavu pomaleji. Tohle je logika na urovni ZAKLADNI SKOLY.

            Pro tvoji informaci ResNet je druh neuralni site pro rozpoznavani obrazu. Lze najit mnoho implementaci (nekdy se pouziva i jako skolni uloha), vice ci mene presnych, v ruznych deep learning frameworcich – TensorFlow, Caffe, CNTK, …

            Aby test byl smysluplny – co do srovnani vykonu a vyhod TPU/GPU – je potreba, aby byly framework, implementace i dataset stejne. Neni mozne v testu pouzit ResNet implementaci pro TPU takovou, ktera se rychle natrenuje, ale je treba na danem datasetu o 10 procentnich bodu mene presna, nez implementace pouzita u Nvidie, ktere treba trenovani trva dele, ale zas nabidne o 10 procentich bodu lepsi presnosti – nebo i naopak – implementace muze byt pomalejsi a nabizet i horsi presnost. Ten test, co jsi sem postnul, je kvalitativne na urovni DDworldu omg ..

            A to ani nemluvim o tom cenovem srovnani. Proc se porovnava s cenou v AWS, kdyz Google Cloud take nabizi Tesly V100? To za prve. Za druhe, cena v cloudu je tak jako tak vysoce subjektivni, protoze to nema vubec nic spolecneho s GPU ani TPU, ale spis s cenovou politikou tech firem. AWS muze mit 60% marzi, protoze je to leader trhu, zatimco Google Cloud kvuli svemu malinkemu podilu muze mit marketingovou cenu treba s 15% marzi. To zcela zasadne ovlivni vysledky testu.

            Treba AWS a Azure maji pay-as-you-go cenu za 1x Tesla V100 shodne na $3.06/hodina, zatimco Google Cloud ma cenu na $2.48/hodina. To uz vysledkem samo o sobe dost zahyba.

            https://cloud.google.com/compute/pricing#gpus
            https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/
            https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/ (East US)

            AMD/Google fans, to je uplne stejna sorta lidi 😀

          • Maudite, opět jsi nezklamal a potvrdil, že si pleteš pojmy s dojmy.
            Plácáš tady o logice na úrovni základní školy a nepochopil jsi, že jedna věc je „Throughput“, ale další kritérium je „Accuracy and convergence“.
            Takže zatímco nVidia je na tom co se týče propustnosti na tom samém datasetu o trochu lépe než TPU (což jsem ti sám postoval tj.2796 vs 2839).
            Tak je na tom hůře co se týče accuracy and convergence.
            https://blog.riseml.com/comparing-google-tpuv2-against-nvidia-v100-on-resnet-50-c2bbb6a51e5e
            As shown above, the top-1 accuracy after 90 epochs for the TPU implementation is 0.7% better. This may seem minor, but making improvements at this already very high level is extremely difficult and, depending on the application, such small improvements may make a big difference in the end.

            Výsledky/náklady na úlohu byly srovnávány na stejné hladině 75.7%, z toho důvodu, že vyšší úrovně už nebylo schopno GPU zvládnout.

            Ultimately, what matters is the time and cost it takes to reach a certain accuracy. If we assume an acceptable solution at 75.7% (the best accuracy achieved by the GPU implementation), we can calculate the cost to achieve this accuracy based on required epochs and training speed in images per second.

            Dokud tohle nepochopíš, tak ti následující věta z prvního příspěvku nikdy nebude dávat smysl.
            While the V100s perform similarly fast, the higher price and slower convergence of the implementation results in a considerably higher cost-to-solution.
            https://www.extremetech.com/wp-content/uploads/2018/04/ResNet50-Cost.png

          • Nebyla pouzita stejna implementace. Primo z tveho clanku:

            „Reference implementations of ResNet-50 are publicly available, but there is currently no single implementation that supports both training on a Cloud TPU and multiple GPUs.“

            Rozdilna presnost nezalezi na hradwaru, ale na implementaci. Se stejnou implementaci, stejnym frameworkem a stejnou presnosti vypoctu (FP32/FP64) musi vyjit stejna presnost modelu, at uz pouzivas GPU od Nvidie, AMD nebo TPU od Googlu. Na vsech z nich je 1+1=2 a matice se nasobi stejne.

            Dokud tohle nepochopis, delas ze sebe retarda.

            O tom, proc se pro vypocet ceny pouziva cena AWS a ne mnohem levnejsi Google Cloud, takticky zcela mlcis. Bravo 😀

          • Jen tak mimochodem, presne to, co rikam ja, tam autor pise i sam, dokonce tucne vyznacene. Nejak ti to asi uniklo 😀

            „Since we compared two different implementations, some deviation can be expected. Our comparison is therefore not only a measure of hardware speed, but also of the quality of the implementation.“

          • I tenhle tvuj argument je zcela zcestny. Zopakuju, co jsem uz psal nahore a vubec jsi se k tomu nevyjadril (zrejme protoze to uplne rozbourava ty nesmysly, co tu pises):

            Treba AWS a Azure maji pay-as-you-go cenu za 1x Tesla V100 shodne na $3.06/hodina, zatimco Google Cloud ma cenu na $2.48/hodina. To uz vysledkem samo o sobe dost zahyba.
            https://cloud.google.com/compute/pricing#gpus
            https://aws.amazon.com/ec2/pricing/reserved-instances/pricing/
            https://azure.microsoft.com/en-us/pricing/details/virtual-machines/linux/ (East US)

          • Akorát jsi potvrdil co jsem postoval a psal výše.
            https://blog.riseml.com/comparing-google-tpuv2-against-nvidia-v100-on-resnet-50-c2bbb6a51e5e
            Kdyby jsi se uráčil už v prvním postu všimnout, tak se testovalo s 4x TPUv2 proti 4xnVidia V100 a nemohl by jsi takhle stupidně argumentovat.
            https://www.extremetech.com/wp-content/uploads/2018/04/ResNet50-Cost.png
            Autor srovnání počítal pro:
            Cloud TPU 6.69 dolarů za hodinu. => Náklady na výpočet byly 55 dolarů.
            AWS 12.24 $/h => Náklady na výpočet byly 129 dolaů.
            AWS reserved 8.35 $/h => Náklady na výpočet byly 88 dolaů.

            A ty tady začneš operovat s cenou za JEDNU Tesla V100 3.06$/h (AWS a Aure) a 2.48$/h (Google).
            3.06*4 = 12.24$/h
            2.48*4 = 9.92$/h
            Takže by jsi se dostal na stejnou (druhý sloupec) případně vyšší cenu (8.35 vs 9.92) pro třetí sloupec grafu.

            Nazýval jsi mě tu fanouškem různých společností, plácal jsi tu něco o logice základní školy, retardech apod. a ani neumíš vynásobit cenu čtyřmi.

          • Az na to, ze to jsou pay-as-you-go ceny pro demonstraci, jak se ceny mezi cloud providery lisi. LOL

            Reserved cena 1x Tesla V100 je u Googlu jen $1.24 na hodinu, za 4 teda $4.96, a tvoje smesny vypocty jdou do kopru.

            https://cloud.google.com/compute/pricing

            Jestli nechapes, ze ten test nema vubec nic spolecneho s cenou provozu Tesly, ale jen s cenovou politikou danych cloudu, pak vyhledej odbornou pomoc. Potrebujes ji.

            Jen tak mimochodem, cena Tesly V100 (16GB) je pro consumery $10000 (pro cloudy nejspis o dost min diky velkym dodavkam). 3 roky reserved instance je: 24 * 365 * 3 = 26280 hodin. Z toho vychazi realna cena maximalne $0.38 na hodinu. To jen aby jsi pochopil, kolik z te celkove ceny delaji marze, naklady na zbytek serveru atd. – vetsinu. Cena GPU je jen zlomek.

            To ty jsi clovece zcela mimo.

          • Vždyť ty ceny podle kterých jsem to počítal jsi tu vložil ty SÁM.

            A to dokonce DVAKRÁT!!!! 🙂

            Od začátku je to o tom grafu, na kterém je porovnávání Google Cloud TPU, AWS a AWS reserved 12m, tak nevím co tu trolíš.
            A pak kdo je tu mimo…. 🙂