Tensor Processing Unit
Tensor Processing Unit (TPU) je hardwarový akcelerátor vytvořený společností Google. Jedná se o sérii integrovaných obvodů (ASIC) specificky navržených pro zpracování úloh ve strojovém učení. První TPU, pro veřejnost zatím nedostupné, Google představil v roce 2015. V roce 2018 se zpřístupnil TPUv2 ve službě Google Cloud.[2] Aktuálně nejvýkonnější verzí TPU kterou Google Cloud nabízí pro běžné uživatele je TPUv5e. V květnu 2024 byla ohlášena verze TPUv6 (někdy také Trillium), která je zatím dostupná jen pro vybrané firmy.[3][4]
Technické informace
[editovat | editovat zdroj]TPU je primárně navrženo na zpracování velkých matic a jejich počítaní ve strojovém učení. Je vhodný pro modely vytvořené v TensorFlow, JAX nebo PyTorch, které je nutno testovat s velkým množstvím dat týdny až měsíce. TPUv5e má rychlost výpočtu 926 teraFLOPS u 16 bitových operací a až 1 847 teraFLOPS při 8 bitových operacích.[5] 32GB HBM umožňuje rychlý přístup k datům umístěným přímo na čipu. V nejnovější verzi Trillium je rychlost zápisu na čip 1,6 terabajtu za sekundu.
Oproti procesorům a grafickým kartám není vhodný k matematickým úkonům, které vyžadují vysokou přesnost anebo mají vysokou míru větvení. Také nepodporuje trénování modelů s vlastními funkcemi anebo funkcemi if a while.[6]
TenserCore jádra
[editovat | editovat zdroj]TPU využívá TensorCore jádra s počtem závisejícím na verzi. Každý TensorCore se skládá z jednotek na násobení matic (MXU), vektorů a skalárů. MXU je série násobně-akumulačních jednotek v poli s velikostí závislé na verzi. Pro násobení používá MXU 8 bitů pro exponent a 7 bitů pro mantisu. Pro hromadění používá 1 bit pro znaménko, 8 bitů pro exponent a 23 pro mantisu.[7]
Architektury
[editovat | editovat zdroj]TPU aktuálně využívá dvě architektury: TPU VM a TPU Node. TPU Node je originální architektura, která už není v Google Cloud podporována. Virtuální stroj je k TPU v tomto případě připojen přes protokol gRPC. V této architektuře nemá uživatel přímý přístup k hostiteli což vede k těžším opravám chyb u strojového učení. Architektura TPU VM řeší tento problém tak, že nechá uživatele připojit přímo k virtuálnímu stroji, který je fyzicky připojen k TPU. Uživatel tak získává root přístup k TPU.[8]
Reference
[editovat | editovat zdroj]- ↑ JOUPPI, Norm; KURIAN, George; LI, Sheng. TPU v4: An Optically Reconfigurable Supercomputer for Machine Learning with Hardware Support for Embeddings. In: Proceedings of the 50th Annual International Symposium on Computer Architecture. New York, NY, USA: ACM, 2023-06-17. Dostupné online. DOI 10.1145/3579371.3589350. S. 1–14.
- ↑ TPU transformation: A look back at 10 years of our AI-specialized chips. Google Cloud Blog [online]. [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ Introducing Trillium, sixth-generation TPUs. Google Cloud Blog [online]. [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ HAGEDOORN, Hilbert. Google Announces 6th Generation Trillium TPU: Performance, Memory Bandwidth, Efficiency Improvements. www.guru3d.com [online]. 2024-05-15 [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ MANN, Tobias. Google says its 'Trillium' TPUs are ready to power the next-generation of AI models. The Register [online]. Situation Publishing, 2024-05-14 [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ Introduction to Cloud TPU. Google Cloud [online]. [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ System architecture | Cloud TPU. Google Cloud [online]. [cit. 2024-11-07]. Dostupné online. (anglicky)
- ↑ System architecture | Cloud TPU. Google Cloud [online]. [cit. 2024-11-07]. Dostupné online. (anglicky)