Specijalizovani hardver rešava probleme optimizacije visokog reda sa računarstvom u memoriji

Specijalizovani hardver rešava probleme optimizacije visokog reda sa računarstvom u memoriji

Uspon veštačke inteligencije, grafičke obrade, kombinatorne optimizacije i drugih aplikacija koje zahtevaju veliku količinu podataka doveo je do uskih grla u obradi podataka, jer se sve veće količine podataka moraju prebacivati napred-nazad između memorijskih i računarskih elemenata u računaru. Fizička udaljenost je mala, ali se proces može desiti milijarde puta u sekundi. Neizbežno se zbrajaju energija i vreme potrebno da se premesti toliko podataka. Kao odgovor, kompjuterski inženjeri dizajniraju specijalizovane hardverske akceleratore sa inovativnom arhitekturom za poboljšanje performansi takvih aplikacija.

Prethodni napori da se razvije hardver za probleme optimizacije uključivali su Ising mašine, kategoriju hardverskih rešavača koji uključuju Isingov model za pronalaženje apsolutnog ili približnog „osnovnog stanja“, kao u energetskom minimumu.

Do sada su hardverske arhitekture za Ising mašine mogle efikasno da rešavaju probleme sa kvadratnim polinomskim ciljnim funkcijama, ali nisu bile skalabilne na sve relevantnije probleme višeg reda, kao što su savijanje proteina, predviđanje elektronske strukture, verifikacija AI modela, rutiranje kola, dijagnoza grešaka i zakazivanje.

Istraživanje u ovoj oblasti sprovodi Tiniš Bhattačarja, doktorant u laboratoriji UC Santa Barbara profesora elektrotehnike i računarstva Dmitrija Strukova. On i nekoliko industrijskih saradnika, zajedno sa akademskim kolegama u Evropi i industrijskim saradnikom Hevlett Packard Labs, razvili su specijalizovani hardver za računarski gradijent funkcija kako bi ubrzali brzinu kojom se složeni problemi optimizacije visokog reda mogu rešiti.

U časopisu Nature Communications objavljen je rad koji opisuje njihov rad, „Računanje visokostepenih polinomnih gradijenta u memoriji“.

„Ciljna funkcija bilo kog problema optimizacije, kao što je opterećenje veštačke inteligencije, predstavlja N-dimenzionalni „energetski pejzaž“, gde svaka kombinacija promenljivih vrednosti predstavlja jedinstvenu tačku u tom pejzažu“, rekao je Bhattacharia, napominjući: „Cilj je da se pronađite skup promenljivih zadataka koji odgovara najnižoj — ili uopštenije, što je moguće bliže najnižoj — tački u tom pejzažu.“

Kao paralela, on sugeriše stvarni pejzaž.

„Zamislite sebe visoko u planinama Sijera Nevade, a vaš cilj je da pronađete najnižu tačku u datoj oblasti, što je brže moguće i uz najmanji mogući napor. Da biste to postigli, očigledno ćete pratiti najstrmiju padinu. Informacije o strmini i smeru u kome se nalazi najstrmiji nagib u odnosu na to gde stojite su dati nagibom funkcije u toj tački gradijent nakon svakog da biste potvrdili da ste još uvek na najstrmijoj padini“, objasnio je on.

Ovaj primer postavlja trodimenzionalni pejzaž koji bi mogao biti predstavljen k, i i z osama, a proračun gradijenta je relativno jednostavan. Međutim, praktični problemi optimizacije mogu imati stotine hiljada varijabli.

„Operacija izračunavanja gradijenta se izvodi iterativno, iznova i iznova, i moramo biti u mogućnosti da to uradimo brzo i efikasno“, dodao je on.

Prema Battacharia-i, veliki deo trenutno predloženog, najsavremenijeg hardvera za rešavanje ovakvih problema ograničen je na probleme drugog reda. Glavna prednost njihovog hardvera, primetio je, je da može da reši probleme kao što je Boolean zadovoljivost u njihovom izvornom prostoru visokog reda bez potrebe za bilo kakvom prethodnom obradom, potencijalno pružajući eksponencijalno ubrzanje u odnosu na trenutne hardverske arhitekture koje su ograničene na drugi red. objektivne funkcije.

Ključni element novog hardvera je njegova sposobnost da izvrši računanje u memoriji unutar samog memorijskog niza, ublažavajući usko grlo koje je rezultat premeštanja ogromnih količina podataka napred-nazad između memorije i procesora u klasičnom računaru. Istraživači ubrzavaju operacije izvođenjem množenja vektora matrice, matematičke operacije koja stoji iza koraka izračunavanja gradijenta, koristeći nizove poprečnih traka specijalizovanih memristorskih uređaja.

Velika prednost računarstva u memoriji je to što se može obaviti u vremenu nezavisno od veličine matrice. Uvek je potreban samo jedan korak, bez prebacivanja podataka napred-nazad, što dramatično smanjuje vreme za rešavanje.

Hardver se sastoji od memorije poprečne trake — stvarnih podignutih površina litografisanih na čipu — gde nekoliko linija reči (žica) ide horizontalno, a nekoliko linija bitova vertikalno. Postavljanje memristora na svaku lokaciju gde se ukrštaju linija reči i linija bitova – sa jednim terminalom uređaja koji je povezan sa linijom reči, a drugim sa linijom bitova – formira niz poprečnih traka memristora.

Matrica koja kodira problem se čuva u stanjima ovih memristora. Vektor se primenjuje kao proporcionalni impulsi čitanja na linijama reči. Rezultirajuće struje, koje teku u bitnim linijama, zatim prikazuju rezultat množenja vektorske matrice.

Osnovna inovacija koja omogućava gradijentno izračunavanje polinoma visokog reda u izvornom (visokom) prostoru je korišćenje dva takva niza poprečnih traka jedan uz drugi. Obe poprečne trake čuvaju matricu koja prikazuje polinom visokog reda. Prva poprečna traka izračunava monome visokog reda polinoma. Druga poprečna traka koristi ovaj rezultat kao svoj ulaz za izračunavanje gradijenta visokog reda za sve varijable u svakoj od svojih bitnih linija.

Ovaj „masovno paralelan“ element grupnog pristupa je ključan za njihov uspeh.

„Pod tim mislimo da naš hardver može da izračuna gradijente za svaku od tih varijabli istovremeno, a ne sekvencijalno, kao što to čini veliki broj trenutnog hardvera“, rekao je Bhattacharia. „To je optimizacija, u jednom pogledu, činjenica da smo zadržali to masovno paralelno svojstvo čak i kada idemo u taj prostor visokog reda.“

Sa algoritamske tačke gledišta, sposobnost optimizacije izvorne funkcije visokog reda, za razliku od redukovane verzije drugog reda, može dovesti do prednosti u brzini od skoro dva reda veličine za probleme koji imaju samo 150 varijabli. To je još uvek za red veličine manje od većine praktično relevantnih problema sa kojima se susreću u scenarijima iz stvarnog sveta, a očekuje se da će se prednost u brzini eksponencijalno povećati dodavanjem više varijabli.