V posledních letech jsme svědky dynamického vývoje v oboru umělé inteligence (AI). Klíčovou roli v tomto pokroku hraje nástup takzvaných jednotek pro neuronové zpracování (Neural Processing Unit, zkráceně NPU). Po procesorech CPU (Central Processing Unit) a grafických kartách GPU (Graphics Processing Unit) se NPU stávají hitem a upoutávají pozornost jak technologických firem, tak i koncových uživatelů. Přední společnosti, jako Qualcomm a Apple, implementují do svých zařízení moderní čipy s integrovanými NPU, což umožňuje nabídnout pokročilé funkce generativní AI a lepší uživatelský zážitek. Například notebooky s označením Copilot+ využívají procesory Snapdragon X série od Qualcommu, které disponují výkonnými NPU s výpočetním výkonem až 45 TOPS (trilion operací za sekundu). Apple nedávno představil svůj nový Neural Engine s výkonem až 38 TOPS. Také Intel a AMD plánují uvést na trh další generace NPU s výkonem 48 a 50 TOPS pro platformy Lunar Lake a Strix Point.
S rostoucí popularitou NPU se nabízí otázka: Co vlastně NPU je a k čemu slouží? Abychom na tyto otázky odpověděli, přinášíme vysvětlení této inovativní technologie.
Co je to NPU?
NPU, neboli Neural Processing Unit, je specializovaná výpočetní jednotka navržená pro úlohy spojené s umělou inteligencí. Mezi tyto úlohy patří zpracování neuronových sítí, strojové učení a další výpočetní zátěže spojené s AI. Jednou z nejčastějších matematických operací, které se při AI úlohách provádějí, je násobení matic, označované také jako ‚matmul‘. NPU jsou konstruovány tak, aby tyto operace vykonávaly s maximální rychlostí.
Kromě toho je pro jakoukoli úlohu AI zásadní paralelní zpracování, kdy neuronové sítě provádějí mnoho operací současně. NPU obsahují specializované akcelerátory, které umožňují vysoký stupeň paralelismu. Díky rychlé paměti mohou NPU provádět paralelní operace matmul mezi mnoha jádry efektivně. Jednoduše řečeno, NPU jsou optimalizovány pro AI úlohy, kde je kladen důraz na paralelní zpracování, bleskurychlé provádění matmul operací a škálovatelnost. Různé společnosti mohou pro NPU používat odlišnou terminologii – Google své NPU nazývá TPU (Tensor Processing Unit) a Apple používá označení Neural Engine.
Jak se NPU liší od CPU a GPU?
Jak již bylo zmíněno, NPU jsou specificky zaměřeny na úlohy AI, což znamená, že jsou to specializované jednotky pro konkrétní použití. Na druhou stranu, CPU je univerzální procesor, který zvládá širokou škálu úkolů. CPU například zpracovává operace operačního systému a různé aplikace. Díky své univerzálnosti zvládne CPU jakýkoli úkol. CPU je efektivní při zpracování úkolů s jedním vláknem, avšak je méně efektivní u paralelních úloh.
GPU jsou primárně určeny pro vykreslování grafiky. To znamená, že jsou ideální pro hry a simulace. GPU jsou z NPU nejblíže, protože také podporují paralelní zpracování. Proto mohou GPU vykonávat úlohy související s AI a často se využívají pro trénování AI modelů. Nicméně, NPU jsou speciálně navrženy pro operace AI, a proto dosahují vyšší rychlosti a efektivnějšího výkonu v této oblasti.
V počátcích výpočetní techniky, kdy neexistovaly GPU ani NPU, CPU zpracovával veškerou grafiku prostřednictvím softwarového renderingu. S technologickým pokrokem v 90. letech se GPU začaly využívat pro zpracování grafiky prostřednictvím dedikovaného hardwaru. Nyní jsme svědky éry NPU, specializovaných jednotek pro konkrétní úlohy, které odlehčují CPU. To vede k vyšší efektivitě a výkonu. Přestože NPU získávají na popularitě, GPU se stále využívají pro trénování modelů AI, zatímco NPU se nyní často používají pro inferenci. Například Google trénoval svůj model Gemini výhradně na TPU.
Jaké je využití NPU v noteboocích?
NPU, tedy specializované akcelerátory AI, se původně používaly ve velkých společnostech pro paralelní zpracování. Nyní se ale NPU integrují i do spotřebních produktů, jako jsou notebooky a smartphony. Například nové počítače Copilot+ od Microsoftu obsahují silné NPU, které umožňují funkce jako Recall, která je sice dočasně pozastavena, ale v budoucnu se očekává její opětovné uvedení.
Funkce Recall zaznamenává snímky obrazovky, zpracovává data lokálně pomocí NPU a vytváří vektorový index. Pokud by toto zpracování prováděl CPU nebo GPU, došlo by k rychlejšímu vybíjení baterie. Nicméně díky dedikovanému NPU je možné efektivně provádět AI operace bez negativního dopadu na výdrž baterie nebo zatížení CPU a GPU. Podobně jsou funkce jako Cocreator v MS Paint, generování obrázků v aplikaci Photos, odstranění pozadí ve videoklipech a další podobné funkce poháněny specializovaným NPU.
Očekává se, že se využití NPU bude v budoucnu dále rozšiřovat. To umožní ulehčit CPU a GPU od těchto úloh, čímž se zlepší celková rychlost a výdrž baterie zařízení.
Apple využívá svůj Neural Engine, tedy NPU, pro mnoho funkcí Apple Intelligence v systémech iOS, iPadOS a macOS. Místní AI model využívá Neural Engine k shrnutí e-mailů, prioritizaci oznámení, vytváření shrnutí z nahrávek hovorů, generování obrázků a dalším činnostem. I nový Siri využívá Neural Engine pro zpracování mnoha AI úloh.
Závěrem
Jednoduše řečeno, NPU představuje nový hardwarový akcelerátor, který otevírá nové možnosti v éře umělé inteligence. Je to teprve začátek a v blízké budoucnosti se očekává nástup nových aplikací a uživatelských zážitků založených na NPU, které se stanou standardem ve všech typech zařízení. S dalším vývojem technologie můžeme očekávat ještě více inovací, které povedou k optimalizaci výkonu a efektivity v oblasti umělé inteligence.