AI kiirendi

**AI kiirendi**, **süvaõppe protsessor** või **närvitöötlusüksus (NPU)** on spetsialiseeritud riistvarakiirendivõi arvutisüsteem, mis on loodud tehisintellekti ja masinõppe rakenduste kiirendamiseks. Tüüpilised rakendused on näiteks algoritmid robootikale, nutistule ning muudele andmemahukatele või sensoripõhistele ülesannetele.

AI kiirendeid kasutatakse mobiilseadmetes, näiteks närvitöötlusüksused (NPU-d) Apple'i iPhone'ides ja Huawei mobiiltelefonides, isiklikes arvutites, näiteks Apple Silicon Mac'ides ning pilvandmetöötlusserverites, näiteks Google'i Pilveplatvormi TPU-d. Selles kategoorias eksisteerib mitmeid müüjaspetsiifilisi termineid ning tegemist on areneva tehnoloogiaga ilma domineeriva disainita.

## Nimetus
2024. aasta seisuga on termin "AI kiirendi" endiselt üpris ebaselge ning eri tootjad proovivad seda enda huvide toetamiseks ümber defineerida. See tähendab, et ei eksisteeri konsensust selle osas, mis kvalifitseerub AI kiirendina. Sellegipoolest, on toodetud mitmeid riistvarasid, mida võib sellesse valdkonda liigitada ning mis kattuvad märkimisväärsel määral oma eesmärkide ning saavutuste poolest.

## Ajalugu

Arvutisüsteemid on tihtipeale täiendanud CPU-sid spetsiaalselt selleks otstarbeks mõeldud kiirenditega, mida tuntakse koprotsessoritena. Märkimisväärsed rakendusspetsiifilised laiendplaadid on näiteks graafikakaardid graafika jaoks, helikaardid, graafikaprotsessorid ja signaaliprotsessorid. Kuna süvaõppe ja tehisintellekti koormused muutusid 2010. aastatel üha tähtsamaks, arendati välja või kohandati olemasolevatest toodetest spetsialiseeritud laiendplaate nende ülesannete kiirendamiseks.

### Esimesed katsed

Esimesed versioonid AI kiirenditest, näiteks Inteli ETANN 80170NX, kasutasid analoogahelaid, et arvutada neuronfunktsioone.

Hiljem järgnesid täisdigitaalsed kiibid, nagu Nestor/Intel Ni1000. Juba 1993. aastal kasutati signaaliprotsessorit tehisnärvivõrkude kiirendamiseks optilise märgituvastuse tarkvara puhul.

1988. aastaks olid Wei Zhang jt arutanud kiirete optiliste rakenduste realiseerimist konvolutsioonilistes närvivõrkudes tähestiku tundmiseks.

1990. aastatel prooviti luua paralleelseid kõrge läbilaskevõimega süsteeme tööjaamadele, mis olid suunatud mitmesugustele rakendustele, sealhulgas tehisintellekti simulatsioonidele.

FPGA-põhiseid kiirendeid uuriti esmakordselt 1990. aastatel tehisnärvivõrgu treenimise eesmärgil. 

2014. aastal pakkusid Chen jt välja DianNao (hiina keeles 'elektriline aju'), et kiirendada süvanärvivõrke. Hiljem pakkusid sama grupi liikmed välja järglased (DaDianNao, ShiDianNao, PuDianNao), moodustades DianNao perekonna.

Nutitelefonid hakkasid AI kiirendeid kasutama alates Qualcomm Snapdragon 820-st aastal 2015.

### Heterogeensed arvutid
Heterogeensed arvutid kasutavad mitut eri tüüpi protsessorit või tuuma, millest igaüks on spetsialiseeritud ja optimeeritud kindlaks eesmärgiks. Osa sellistest arvutietst, näiteks Cell, sarnanevad olemuselt AI kiirenditega. Celli mikroprotsessorit on kasutatud mitmetes tehisintellektiga seotud töödes.

### Videokaartide kasutamine
Videokaardid ehk GPU-d on riistvara, mis on spetsialiseeritud tegelema piltidega ning arvutama pildi omadusi. Kuna matemaatiliselt on tehisnärvivõrgud ning pildimanipulatsioon sarnased ülesanded, on videokaarte hakatud üha enam kasutama masinõppe töödes.

2012. aastal Alex Krizhevsky kasutas kahte videokaarti, et treenida süvaõppe mudel AlexNet. 2010. aastatel hakkasid videokaartide tootjad, näiteks Nvidia enda riist- ja tarkvarasse lisama masinõppega tegelevaid osasid. Sel kümnendil arendati videokaarte pidevalt, et neid saaks kasutada masinõppes, nii mudelite treenimisel kui kasutamisel. 

Videokaarte kasutatakse siiani suurtes tehisintellekti rakendustes. Näiteks IBM-i superarvuti Summit sisaldab 27 648 Nvidia Tesla V100 graafikakaarti, mida kasutatakse süvaõppe algoritmide kiirendamiseks.

### Rakendusspetsiifilised integraallülitused
Kuigi videokaartide efektiivsus tehisintellektil on tunduvalt kõrgem kui protsessoritel, siis veelgi parema tulemuse saab kasutades ASICeid. Nendega on võimalik saavutada kuni 10 korda parem tulemus võrreldes GPUdega. Sellised kiirendid optimeerivad mälukasutust ning kasutavad madalama täpsusega ujukomaarve, et kiirendada arvutusi ning suurendada arvutite läbilaskevõimet.

## Süvaõppe protsessorid
Süvaõppe protsessorid (inglise keeles Deep Learning Processor ehk DLP) on protsessorid, mille eesmärgiks on optimeerida süvaõppe algoritme kõrge efektiivsuse nimel. Inspireerituna DianNao perest on paljud institutsioonid proovinud luua enda versioone DLP-dest. Mõned näited akadeemiavaldkonnast on Eyeriss (MIT), EIE (Stanfordi ülikool), Minerva (Harvardi ülikool) jt. Tööstusvaldkonnast saab nimetada näiteks Google'i TPU ja Cambriconi MLU.

## Viited