Umělá inteligence se během několika let stala běžnou součástí našeho života. Jazykové modely odpovídají na otázky, neuronové sítě rozpoznávají objekty na fotografiích, překládají texty nebo pomáhají řídit automobily. Za tím vším se ale skrývá obrovské množství výpočtů – a s nimi také enormní spotřeba energie.
V mnoha praktických úlohách však není absolutní numerická přesnost nutná. Část výpočtů můžeme záměrně zjednodušit nebo provést méně přesně, čímž lze výrazně snížit energetickou náročnost při zachování téměř stejné kvality výsledků. Této myšlence se věnoval projekt „AppNeCo: Aproximativní neurovýpočty“ financovaný Grantovou agenturou ČR.
Moderní neuronové sítě mohou obsahovat miliony až miliardy umělých neuronů propojených obrovským množstvím spojů. Jediné vyhodnocení takové sítě proto může vyžadovat miliony, ale i biliony aritmetických operací. Přestože dnešní specializované hardwarové akcelerátory dokážou tyto výpočty provádět velmi rychle, jejich energetická náročnost představuje jednu z hlavních výzev dalšího rozvoje umělé inteligence.
„Pro velká datová centra může rostoucí spotřeba elektřiny znamenat významný problém. Ještě zásadnější může být u zařízení, která mají fungovat přímo v terénu – například u mobilních telefonů, dronů nebo autonomních senzorů. Tam může být množství dostupné energie přímo limitujícím faktorem“, říká řešitel projektu „AppNeCo: Aproximativní neurovýpočty“ Jiří Šíma z Ústavu informatiky Akademie věd ČR.
Malá chyba či odchylka při práci AI nemusí vadit
V mnoha praktických úlohách však není absolutní numerická přesnost nutná. Právě tady přichází na řadu zdánlivě paradoxní myšlenka: co kdybychom některé výpočty umělé inteligence záměrně prováděli méně přesně? Představme si neuronovou síť, která má rozpoznat objekty na fotografii nebo odhalit chodce v obrazu kamery. Potřebuje skutečně provést každý jednotlivý výpočet s maximální možnou přesností? Často ne.
„Pokud drobná nepřesnost v některém mezivýpočtu nezmění konečný výsledek, můžeme si dovolit část výpočtu zjednodušit. Výsledkem může být výrazná úspora energie, aniž by uživatel poznal podstatný rozdíl v kvalitě výstupu,“ vysvětluje Jiří Šíma.
Tento přístup se označuje jako aproximativní počítání. Jeho princip je jednoduchý: některé výpočty se záměrně provedou méně přesně nebo jednodušeji, aby se snížila energetická náročnost celého systému.
Dvě výzkumné skupiny, dva odlišné úhly pohledu
Projekt AppNeCo propojil dvě výzkumné skupiny. Spoluřešitelský tým profesora Lukáše Sekaniny z Fakulty informačních technologií VUT v Brně se dlouhodobě zabývá novými architekturami hardwarových akcelerátorů a metodami aproximativního návrhu číslicových obvodů. Skupina řešitele projektu, docenta Jiřího Šímy z Ústavu informatiky AV ČR, se věnuje matematické teorii neuronových sítí, jejich aproximačním schopnostem, statistické robustnosti a výpočetní složitosti.
„Projekt tak konfrontoval matematický a hardwarový pohled na neuronové sítě včetně rozdílných přístupů, metod i způsobů uvažování. Teoretické výsledky přispěly k návrhu nových hardwarových řešení a experimentální poznatky z implementací naopak ukázaly, které teoretické otázky mají největší význam pro reálné aplikace“, přibližuje spolupráci na projektu podpořeném GA ČR Jiří Šíma.
V počítačové vědě nejde jen o množství výpočtů
Jedním z dlouhodobých cílů počítačové vědy je porozumět tomu, jaké množství výpočetních zdrojů je potřeba při řešení různých úloh. U klasických algoritmů běžících na současných počítačích se tradičně sledují především dva zdroje: čas potřebný k výpočtu a velikost využívané paměti. U neuronových sítí se však objevují další důležité charakteristiky, které ovlivňují jejich efektivitu. Patří mezi ně hloubka sítě, počty neuronů ve vrstvách a uspořádání spojů, přesnost reprezentace číselných parametrů, způsob implementace výpočtu nebo energetická náročnost. Projekt AppNeCo se proto nezaměřoval pouze na návrh nízkoenergetických implementací neuronových sítí, ale také na pochopení vztahů mezi architekturou sítě, přesností výpočtu, spotřebou energie a kvalitou výstupů.
Co představuje největší energetický problém AI?
Jedním z výsledků, který ilustruje, jak se v projektu AppNeCo matematické metody doplňovaly s poznatky z návrhu hardwarových akcelerátorů, bylo vytvoření nového teoretického modelu energetické složitosti konvolučních neuronových sítí. Dosavadní odhady spotřeby energie se počítají z konkrétního typu použitého hardwaru, například z parametrů určitého akcelerátoru nebo způsobu paralelní implementace sítě. Takové výsledky je však obtížné porovnávat a zobecnit pro jiné platformy. Důvodem je, že spotřeba energie neuronových sítí není dána pouze samotným prováděním aritmetických operací, ale ve značné míře také přenosy číselných dat mezi jednotlivými úrovněmi paměťové hierarchie konkrétního akcelerátoru.
„U moderních paralelních akcelerátorů mohou tyto datové přesuny tvořit přibližně 70 procent celkové energetické spotřeby. A to je důležitá informace. Cesta dat mezi pamětí a výpočetními jednotkami může stát více energie než samotný výpočet“, upřesňuje Jiří Šíma.

Matematický model energetické náročnosti neuronové sítě
Výzkumníci proto navrhli matematický model, který popisuje energetickou náročnost neuronové sítě nezávisle na konkrétním zařízení a vychází z obecného principu společného všem hardwarovým implementacím: při každé operaci násobení a sčítání (tzv. MAC operaci), které tvoří základ výpočtu neuronových sítí, musí být ve stejném okamžiku a na jednom místě v akcelerátoru dostupné příslušné vstupní hodnoty, váhy a mezivýsledky.
Právě opakované zpřístupňování těchto dat představuje významný zdroj energetických nároků. Nový model tento princip zachycuje a umožňuje odvodit teoretické horní a dolní meze energetické složitosti neuronových sítí. Význam spočívá také v tom, že umožňuje uvažovat o energetické náročnosti ještě před samotnou výrobou a testováním hardwaru.
Kolik energie bude AI potřebovat?
Experimenty na reálných energeticky optimalizovaných hardwarových akcelerátorech ukázaly, že uvedené teoretické odhady dobře odpovídají skutečné spotřebě energie. „Náš model tak poskytuje nástroj pro porovnávání různých návrhů neuronových sítí a odhaluje jejich energetické limity“, popisuje docent Jiří Šíma jeden z výsledků výzkumu, které byly publikovány mimo jiné v prestižním časopise Neural Networks.
Výzkum pokračuje: AI, která počítá úsporněji
Spolupráce týmů z VUT a AV ČR projektem AppNeCo neskončila. Na výsledky navazuje projekt „LEDNeCo – Nízkoenergetické hluboké neurovýpočty“.
„Jeho cílem je mimo jiné nalézt efektivní metody nízkoenergetických aproximací hlubokých neuronových sítí a vytvořit robustní metody pro měření chyb“, avizuje Jiří Šíma, řešitel dalšího projektu podpořeného GA ČR.
Výzkum tak směřuje k důležité otázce budoucnosti umělé inteligence: jak zachovat její schopnosti, ale přitom za ně platit co nejmenší energetickou cenu?
doc. RNDr. Jiří Šíma, DrSc.
V roce 1991 absolvoval Matematicko-fyzikální fakultu Univerzity Karlovy a od té doby působí v Ústavu informatiky AV ČR (od roku 2003 jako vedoucí vědecký pracovník). Absolvoval postdoktorální pobyt na Univerzitě v Jyväskylä ve Finsku a titul DrSc. získal na Slovenské technické univerzitě v Bratislavě. Přednášel teorii neuronových sítí na Univerzitě Karlově, ČVUT a Masarykově univerzitě. Je spoluautorem monografie z roku 1996, která se stala první učebnicí neuronových sítí v českém a slovenském prostředí. Je držitelem Ceny Akademie věd ČR pro mladé vědecké pracovníky a Ceny Otto Wichterleho a vedl řadu významných grantových projektů s vynikajícím hodnocením.
Ve své vědecké práci se zaměřuje na teoretickou informatiku, zejména na složitost neuronových sítí, teorii učení, automaty a formální jazyky. Jeho výzkum objasnil některé základní limity neuronových sítí, od obtížnosti jejich učení až po hranice jejich výpočetní síly a energetické náročnosti, a přispěl tak k hlubšímu pochopení možností i omezení současné umělé inteligence.