MWONGOZO wa Kiufundi

Mkusanyiko wa Gradient

Mkusanyiko wa gradient hukuwezesha kuiga ukubwa wa kundi kwenye kumbukumbu ndogo ya GPU kwa kujumlisha mikunjo juu ya bechi ndogo kadhaa kabla ya kusasisha uzani.

Sikiliza mwongozo huuInaonyeshwa na AI · ~2 min

Katika ukurasa huudk 2 kusoma
  1. Muhtasari
  2. Dive ya kina
  3. Utekelezaji wa Ulimwengu Halisi
  4. Mustakabali wa Mkusanyiko wa Gradient
  5. Kuiweka katika vitendo
  6. Endelea Kuchunguza
  7. Maswali yanayoulizwa mara kwa mara

Muhtasari

Ni njia ya kawaida ya kufundisha mifano mikubwa wakati kumbukumbu ndio kizuizi.

Dive ya kina

Kwa kawaida hatua ya mafunzo huchakata kundi moja, kukokotoa viwango vya juu, na kusasisha vigezo mara moja. Kwa mkusanyiko wa gradient, unaendesha pasi kadhaa za mbele na nyuma kwenye bechi ndogo ndogo, ukiongeza mikunjo yao pamoja kwenye bafa za kigezo, na uite tu hatua ya kiboreshaji (na sifuri vikondari) baada ya bati ndogo za N. Ukubwa bora wa bechi huwa ukubwa wa bechi ndogo mara N, ingawa kumbukumbu ya kilele huwa na bechi moja ndogo ya kuwezesha. Hili ni muhimu kwa sababu mapishi mengi ya mafunzo huchukua makundi makubwa kwa takwimu thabiti, na kwa sababu miundo kama vile transfoma kubwa haiwezi kutoshea bechi inayolengwa kwenye kifaa kimoja. Kukamata: takwimu za urekebishaji wa bechi hukokotwa kwa kila bechi ndogo, kwa hivyo kawaida ya safu au kaida za kikundi zioanishe vyema na mkusanyiko, na lazima uongeze hasara ipasavyo ili kuweka kiwango bora cha ujifunzaji sawa.

Utekelezaji wa Ulimwengu Halisi

Badilisha vizuri muundo mkubwa wa lugha kwenye GPU moja ya mtumiaji kwa kukusanya zaidi ya bechi ndogo 8 au 16 ili kufikia kundi linalofaa la mamia.

Kufundisha maono ya ubora wa juu au miundo ya sehemu ambapo hata kundi la 2 linalingana, lakini kichocheo kinahitaji kundi linalofaa la 32.

Mkufunzi wa Uso wa Kukumbatiana na Umeme wa PyTorch hufichua mpangilio wa gradient_accumulation_steps unaotumiwa mara kwa mara katika usanidi wa VRAM mdogo.

Kutoa matokeo ya bechi kubwa kwenye maunzi madogo kwa kulinganisha saizi ya bechi inayofaa kupitia mkusanyo.

Mustakabali wa Mkusanyiko wa Gradient

Mkusanyiko wa gradient utasalia kuwa kiwiko chaguo-msingi kwani ukubwa wa modeli unapita nafasi ya kumbukumbu ya kifaa kimoja. Inazidi kuunganishwa na usahihi mseto, ukaguaji wa kuwezesha, kugawanyika kwa ZeRO, na ulinganifu wa bomba katika mifumo kama DeepSpeed ​​na FSDP. Tarajia utendakazi mkali zaidi ambapo maktaba hurekebisha hatua kiotomatiki kwa bajeti ya kumbukumbu, na kuendelea kwa umuhimu wa kurekebisha miundo mikubwa kwenye maunzi ya kawaida, ikijumuisha GPU za watumiaji ambapo itafungua mafunzo ambayo yasingewezekana.

Kuiweka katika vitendo

Kwa nini ni muhimu

  • Gharama na bajeti. Maamuzi ya usanifu huendesha utendaji na gharama ya uendeshaji kwa miaka.
  • Maamuzi ya wazi zaidi. Elimu ya kiufundi husaidia timu kuchagua safu sahihi, sio tu mpya zaidi.
  • Udhibiti wa ubora. Chaguo bora za uhandisi hupunguza matukio ya kuaminika katika uzalishaji.

Jihadharini na

  • Kuboresha kiwango kimoja kunaweza kuficha udhaifu mkubwa wa mfumo.
  • Gharama za miundombinu na matengenezo mara nyingi hupunguzwa.
  • Mapengo ya usalama na uonekanaji yanaweza kukua kadiri mifumo inavyozidi kuwa ngumu.

Hatua zinazofuata

  1. Bainisha muda, ubora na malengo ya gharama kabla ya utekelezaji.
  2. Benchmark chini ya mzigo halisi na hali ya data.
  3. Ufuatiliaji wa ala kwa makosa, kuteleza, na athari za mtumiaji.
  4. Tayarisha njia za urejeshaji na majibu ya matukio kabla ya kuongeza ukubwa.

Endelea Kuchunguza

Jarida halali

Pata taarifa ya kila siku ya AI

Hadithi tatu za AI zilizothibitishwa kila asubuhi ya wiki, zimetengenezwa kwa Kiingereza rahisi. Bila malipo daima, hakuna matangazo.

Barua pepe moja kila siku ya wiki. Jiondoe kwa bonyeza moja. Hatutauza au kushiriki anwani yako.

Jijaribu mwenyewe

Take the Gradient Accumulation quiz

Maoni ya haraka juu ya kila jibu, na cheti kinachoweza kushirikishwa na kitambulisho kinachoweza kuthibitishwa baada ya kupita kozi.

Anza chemsha bongo

Changia elimu ya AI bila malipo. AI Understanding ni 501(c)(3) isiyo na faida — hakuna matangazo, hakuna kizuizi cha malipo, daima. Toa mchango

Maswali yanayoulizwa mara kwa mara

Mkusanyiko wa Gradient ni nini?

Mkusanyiko wa gradient hukuwezesha kuiga ukubwa wa kundi kwenye kumbukumbu ndogo ya GPU kwa kujumlisha mikunjo juu ya bechi ndogo kadhaa kabla ya kusasisha uzani. Ni njia ya kawaida ya kufundisha mifano mikubwa wakati kumbukumbu ndio kizuizi.

Mkusanyiko wa gradient hukuruhusu kufanya nini kimsingi?

Kwa kujumlisha mikunjo juu ya bachi ndogo ndogo kabla ya kusasisha, unaiga kundi kubwa bila kushikilia yote kwenye kumbukumbu mara moja.

With an accumulation factor N, when should optimizer.step() and zero_grad() occur?

Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.

Ni safu gani ya urekebishaji inayooanisha kwa usafi zaidi na mkusanyiko wa gradient?

Bechi-kawaida hukokotoa takwimu kwa kila bechi ndogo, kwa hivyo kawaida ya safu au kikundi huepuka kutolingana na bechi ndogo ndogo.

Why may four micro-batches with BatchNorm behave differently from one physical batch of the same total size?

Batch-dependent forward computations break exact equivalence.