Koprocesory TPU: recept na krvavé nároky umělé inteligence
i Zdroj: Stable Diffusion
Procesory, Paměti, Desky Článek Koprocesory TPU: recept na krvavé nároky umělé inteligence

Koprocesory TPU: recept na krvavé nároky umělé inteligence

Michal Rybka

Michal Rybka

11. 12. 2022 17:30

Seznam kapitol

1. Hardware na míru 2. Spousta počítání 3. TPU: Na tenzory hrubou silou 4. Ve smartphonech pomáhá 5. Další vlna na cestě

O umělé inteligenci se mluví sice často, ale její algoritmy a složitost pro nás zůstávají skryté. Hardwarová akcelerace AI je přitom stejně důležitá jako hardwarové enkódování videa.

Reklama

Umělá inteligence patří mezi výpočetně náročné úlohy. To obvykle neznamená, že by používala vysoce komplexní výpočty, ale to, že používá ohromné množství těch relativně jednoduchých. Do značné míry to souvisí s tím, že Turingův stroj jako model „člověka manipulujícího se symboly“ je velmi abstraktní a je nesmírně daleko od vnitřní architektury mozku, kde neurony představují ohromující množství současně fungujících elementů.

Přestože jde o elementy s relativně nízkou rychlostí zpracování – rychlost přenosu informací v mozku se pohybuje kolem 5 m/s – má jich mozek odhadem sto miliard. Pokud je má Turingův stroj emulovat jeden po druhém, utopíme se právě na počtu neuronů, protože ty jednou paralelně, zatímco Turingův stroj je sériový. Z toho je patrné, že pokud chceme výkon AI zvýšit, musíme výpočty masivně paralelizovat.

AI se obvykle řešila na superpočítačích, takže paralelní algoritmy se objevily velice rychle. V oblasti domácích počítačů se AI spoléhala hlavně na nárůst výkonu procesorů, který ale má přirozené limity. Akcelerace AI nebyla prioritou, postupně se integroval nejprve matematický koprocesor a potom multimediální funkce. V případě FPU jde o akceleraci komplikovaných matematických operací, jako výpočty v plovoucí řádové čárce včetně podpory konstant, odmocňování a trigonometrických funkcí.

Všechny tyto funkce je samozřejmě možné emulovat normálním kódem, ale hardware je rychlejší a čím složitější výpočty program používá, tím více profituje z hardwarové akcelerace. Dříve se akcelerace FPU považovala pro běžné počítače za zbytečnou, dnes jsme se posunuli dál díky instrukcím SSE. Jsou to operace typu SIMD (Single Instrunction Multiple Data) na kompaktních datech: Registry určené pro operace s čísly v plovoucí čárce se považují za vektor celočíselných hodnot a operuje se s nimi v jediném taktu. Tento typ instrukcí se stal významný při práci s multimediálním obsahem, kde nepotřebujete pracovat s čísly nijak zvlášť přesně, ale je jich opravdu mnoho a musíte je zpracovávat velmi rychle. Procesory, které neměly instrukce MMX anebo SSE měly opravdu velký problém i s „pouhým“ dekódováním MP3!

Přestože SSE byly výrazným krokem vpřed, znovu a znovu se ukazovalo, že pokud chcete dělat náročné operace, jako je dekódování videa, je lepší používat specializovanou implementaci v hardwaru. Protože je to věc, kterou děláte stále dokola, je specializovaná architektura efektivnější než používat silnější, ale přece jenom generické instrukce pro obecnou akceleraci. Akcelerace práce s videem se proto přesunula do GPU, které dnes dovoluje souběžné dekódování i enkódování v podstatě bez penalizace pro zbytek systému. 

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama