Novi način pakovanja AI podataka smanjio memoriju sa 38 na 5,4 GB u jednom testu

Nova tensor reprezentacija nosi particije i logički red dimenzija zajedno sa podacima, pa model kod može da radi sa promenljivim veličinama bez ručnog upravljanja offsetima.

Promenljive veličine bez zajedničkog dense omotača

Autori polaze od problema da dense batching za promenljive ulaze rezerviše zajednički omotač i troši računanje na padding.

DanLing NestedTensor čuva packed vrednosti zajedno sa tensor-backed particijama i logičkim redosledom dimenzija, tako da broadcasting može da stvara ragged ose, feature transformacije da ih zadrže, a redukcije da ih potroše.

Ista reprezentacija prolazi kroz autograd i radi u eager i compiled izvršavanju.

Ubrzanje i manja memorija

Četvoroblokovski Pairformer-style workload radio je 2,40 do 4,32 puta brže od padded reference sa native PyTorch kernelima u eager režimu.

Na batch-u sa velikom varijacijom peak allocation je pao sa 38,08 na 5,41 GiB.

Interfejs omogućava model kodu da kombinuje efikasne operacije nad promenljivim veličinama bez upravljanja offsetima na svakom mestu poziva.

Zašto je važno

Kada modeli obrađuju ulaze različitih veličina, klasični padding može da troši memoriju i računanje na prazne delove koji ne nose podatke.

U jednom testiranom opterećenju autori prijavljuju ubrzanje od 2,40 do 4,32 puta i pad maksimalne alokacije sa 38,08 na 5,41 GiB.

Izvori

Prikazani su izvorni linkovi korišćeni za proveru objavljenih činjenica.

Komentari

Komentari se objavljuju nakon moderacije.

Još nema objavljenih komentara.