Nvidia & MIT
Nove tehnike za poboljšanje umjetne inteligencije
Istraživači s MIT-a i Nvidije razvili su dvije komplementarne tehnike koje bi mogle dramatično povećati brzinu i performanse računalnih aplikacija visokih performansi.
Istraživači s američkog tehnološkog instituta MIT i Nvidije razvili su dvije tehnike koje ubrzavaju obradu "tenzora", višedimenzionalnih nizova prikladnih za pohranjivanje podataka s više informacija, koji se koriste za računalne zadatke visokih performansi.
Komplementarne tehnike mogle bi rezultirati značajnim poboljšanjima performansi i energetske učinkovitosti sustava poput masivnih modela strojnog učenja koji pokreću generativnu umjetnu inteligenciju.
Tenzori su strukture podataka koje koriste modeli strojnog učenja. Obje nove metode nastoje učinkovito iskoristiti ono što je poznato kao rijetkost, nulte vrijednosti u tenzorima. Prilikom obrade ovih tenzora, mogu se preskočiti nule i uštedjeti na računanju i memoriji. Na primjer, sve pomnoženo s nulom je nula, tako da možete preskočiti tu operaciju, tenzor se može komprimirati (nule ne moraju biti pohranjene), tako da se veći dio može pohraniti u memoriju na čipu.
Međutim, postoji nekoliko izazova za iskorištavanje rijetkosti. Pronalaženje vrijednosti različitih od nule u velikom tenzoru nije lak zadatak. Postojeći pristupi često ograničavaju lokacije vrijednosti različitih od nule nametanjem uzorka rijetkosti kako bi se pojednostavilo pretraživanje, ali to ograničava raznolikost rijetkih tenzora koji se mogu učinkovito obraditi.
Drugi izazov je da broj vrijednosti različitih od nule može varirati u različitim područjima tenzora. Zbog toga je teško odrediti koliko je prostora potrebno za pohranu različitih regija u memoriju. Kako bi se osiguralo da regija odgovara, često se dodjeljuje više prostora nego što je potrebno, zbog čega je međuspremnik za pohranu nedovoljno iskorišten. Ovo povećava promet memorije izvan čipa, što povećava potrošnju energije.
Istraživači MIT-a i Nvidije osmislili su dva rješenja za rješavanje ovih problema. Kao prvo, razvili su tehniku koja hardveru omogućuje učinkovito pronalaženje vrijednosti različitih od nule za širi raspon uzoraka rijetkosti.
Za drugo rješenje, stvorili su metodu koja može riješiti slučaj kada podaci ne stanu u memoriju, što povećava iskorištenost međuspremnika za pohranu i smanjuje promet memorije izvan čipa.
Obje metode povećavaju performanse i smanjuju energetske zahtjeve hardverskih akceleratora posebno dizajniranih za ubrzavanje obrade rijetkih tenzora.
“Tipično, kada koristite specijaliziranije hardverske akceleratore ili akceleratore specifične za domenu, gubite fleksibilnost koju biste dobili od procesora opće namjene, poput CPU-a. Ono što se ističe u ova dva rada jest da pokazujemo da još uvijek možete zadržati fleksibilnost i prilagodljivost dok ste specijalizirani i učinkoviti,” kaže Vivienne Sze, izvanredna profesorica na MIT-ovom odjelu za elektrotehniku i računarstvo (EECS), članica Istraživački laboratorij za elektroniku (RLE) i suautor radova o oba napredka .
Rijetkost se može pojaviti u tenzoru iz raznih razloga. Na primjer, istraživači ponekad "obrežu" nepotrebne dijelove modela strojnog učenja zamjenom nekih vrijednosti u tenzoru nulama, stvarajući rijetkost. Stupanj rijetkosti (postotak nula) i lokacije nula mogu varirati za različite modele.
Kako bi olakšali pronalaženje preostalih vrijednosti različitih od nule u modelu s milijardama pojedinačnih vrijednosti, istraživači često ograničavaju lokaciju vrijednosti različitih od nule tako da spadaju u određeni obrazac. Međutim, svaki hardverski akcelerator obično je dizajniran da podržava jedan specifičan uzorak rijetkosti, ograničavajući njegovu fleksibilnost.
Nasuprot tome, hardverski akcelerator koji su osmislili istraživači s MIT-a, nazvan HighLight, može se nositi sa širokim spektrom uzoraka rijetkosti i još uvijek dobro funkcionira kada pokreće modele koji nemaju nikakve nulte vrijednosti.
Oni koriste tehniku koju nazivaju "hijerarhijski strukturirana rijetkost" za učinkovito predstavljanje širokog spektra uzoraka rijetkosti koji su sastavljeni od nekoliko jednostavnih uzoraka rijetkosti. Ovaj pristup dijeli vrijednosti u tenzoru u manje blokove, gdje svaki blok ima svoj vlastiti jednostavan uzorak rijetkosti.
Zatim, oni kombiniraju blokove u hijerarhiju, gdje svaka kolekcija blokova također ima svoj jednostavan, razrijeđeni uzorak (možda jedan blok nule i tri bloka različita od nule u razini s četiri bloka). Nastavljaju kombinirati blokove u veće razine, ali obrasci ostaju jednostavni u svakom koraku.
Ova jednostavnost omogućuje HighLightu da učinkovitije pronađe i preskoči nule, tako da može u potpunosti iskoristiti priliku za smanjenje viška računanja. U prosjeku, njihov dizajn akceleratora imao je oko šest puta bolji proizvod kašnjenja energije (metrika povezana s energetskom učinkovitošću) od drugih pristupa.
Budući da su tenzori često veći od onoga što se može pohraniti u memorijski međuspremnik na čipu, čip grabi i obrađuje samo dio tenzora odjednom. Komadići se nazivaju pločice.
Kako bi maksimalno iskoristili taj međuspremnik i ograničili koliko puta čip mora pristupiti memoriji izvan čipa, što često dominira potrošnjom energije i ograničava brzinu obrade, istraživači nastoje koristiti najveću pločicu koja će stati u međuspremnik.
Ali u rijetkom tenzoru, mnoge vrijednosti podataka su nula, tako da čak i veća pločica može stati u međuspremnik nego što bi se moglo očekivati na temelju njegovog kapaciteta. Nulte vrijednosti ne moraju biti pohranjene.
Ali broj nultih vrijednosti može varirati u različitim regijama tenzora, tako da također mogu varirati za svaku pločicu. Zbog toga je teško odrediti veličinu pločice koja će stati u međuspremnik. Kao rezultat toga, postojeći pristupi često konzervativno pretpostavljaju da nema nula i završavaju odabirom manje pločice, što rezultira izgubljenim praznim prostorima u međuspremniku.
Kako bi riješili ovu nesigurnost, istraživači predlažu korištenje "prebukiranosti" kako bi im se omogućilo povećanje veličine pločice, kao i način toleriranja ako pločica ne stane u međuspremnik.
U rijetkom tenzoru, veličina pločice može se odabrati tako da će pločice obično imati dovoljno nula da većina ipak stane u međuspremnik. No povremeno će pločica imati više vrijednosti različitih od nule nego što stane. U ovom slučaju, ti podaci se izbacuju iz međuspremnika.
Istraživači omogućuju hardveru da samo ponovno dohvati izbačene podatke bez ponovnog hvatanja i obrade cijele pločice. Oni modificiraju "repni kraj" (tail-end) međuspremnika kako bi se nosili s tim, otuda i naziv ove tehnike, Tailors.
Zatim su također stvorili pristup za pronalaženje veličine za pločice koji iskorištava prebukiranje. Ova metoda, nazvana Swiftiles, brzo procjenjuje idealnu veličinu pločica tako da je određeni postotak pločica, koji postavlja korisnik, prebukiran. (Imena “Tailors” i “Swiftiles” odaju počast Taylor Swift, čija je nedavna Eras turneja bila prepuna prebukiranih kodova za ulaznice u pretprodaji).
Swiftiles smanjuje broj potrebnih hardverskih provjera tenzora za prepoznavanje idealne veličine pločice, čime se štedi na računanju. Kombinacija Tailors i Swiftiles više nego udvostručuje brzinu dok zahtijeva samo polovicu energetskih zahtjeva od postojećih hardverskih akceleratora koji ne mogu podnijeti prebukiranje.
U budućnosti, istraživači žele primijeniti ideju prebukiranosti na druge aspekte računalne arhitekture i raditi na poboljšanju procesa za procjenu optimalne razine prebukiranosti.
Objavljeni rad o sustavu HighLight možete pronaći na ovoj poveznici, a o Tailorsu ovdje.
Učitavam komentare ...