Mkpokọta gradient
Mkpokọta gradient na-enye gị ohere ịmegharị nnukwu batch na ebe nchekwa GPU nwere oke site na ịchịkọta gradients n'ọtụtụ obere obere batches tupu imelite ihe ọ̀tụ̀tụ̀.
Nchịkọta
It is the standard workaround for training big models when memory is the bottleneck.
Ime miri emi
Dị ka ọ na-adịkarị, usoro ọzụzụ na-ahazi otu ogbe, na-agbakọ gradients ma na-emelite paramita ozugbo. Site na mkpokọta gradient, ị na-agba ọsọ dị iche iche na-aga n'ihu na azụ azụ na obere obere micro-batches, na-agbakwunye gradients ha ọnụ na parameter buffers, na-akpọ naanị nzọụkwụ optimizer (na efu gradients) mgbe N micro-batches gasịrị. Ogo batch dị irè na-aghọ oge nha obere obere obere N, n'agbanyeghị na ebe nchekwa kachasị na-ejide naanị otu obere ogbe nke mmegharị. Nke a dị mkpa n'ihi na ọtụtụ ntụziaka ọzụzụ na-ewere nnukwu batches maka ọnụ ọgụgụ kwụsiri ike, yana n'ihi na ụdị dị ka nnukwu ihe ngbanwe enweghị ike dabara n'otu ngwaọrụ zuru ezu. The catch: batch-normalization statistics is computed per micro-batch, otú oyi akwa norm ma ọ bụ otu norm ụzọ mma na mkpokọta, na ị ga-n'ịkọba ọnwụ nke ziri ezi iji na-irè mmụta ọnụego ziri ezi.
Nghọta nka nka
N'ihi na gradients nke mfu nchikota bụ ihe mgbakwunye, ịgbakọ gradients n'elu N micro-batches bụ mgbakọ na mwepụ na otu nnukwu ogbe, ma ọ bụrụhaala na ị na-eme nke ọma. Mmemme na-ekewakarị mfu micro-batch ọ bụla site na N tupu azụ azụ, ya mere gradient a chịkọbara hà nhata karịa ngwungwu zuru oke. Ị na-awụpụ optimizer.step() na zero_grad() ruo mgbe Nth micro-batch, na-ere ahịa mgbakwunye oge maka ebe nchekwa dị ala.
Mmetụta atụmatụ
Ọnụ ego na mmefu ego
Mkpebi ihe owuwu ụlọ na-akwalite arụmọrụ yana ọnụ ahịa ọrụ ruo ọtụtụ afọ.
Mkpebi doro anya
Nkà mmụta nka na-enyere ndị otu egwuregwu aka ịhọrọ nchịkọta ziri ezi, ọ bụghị naanị nke kachasị ọhụrụ.
Quality akara
Nhọrọ injinia ka mma na-ebelata ihe omume ntụkwasị obi na mmepụta.
Ọdịnihu nke mkpokọta gradient
Mkpokọta gradient ga-abụ ihe nleba ndabara dị ka nha ụdị karịrị ebe nchekwa otu ngwaọrụ. Ọ na-ejikọta ya na nzizi agwakọta, nyocha ọrụ, ZeRO sharding, na pipeline parallelism na frameworks dị ka DeepSpeed na FSDP. Na-atụ anya akpaaka siri ike ebe ọba akwụkwọ na-akpakọba usoro na mmefu ego ebe nchekwa, yana mkpa na-aga n'ihu maka imezi nnukwu ụdị na ngwaike dị obere, gụnyere GPU ndị ahịa ebe ọ na-emeghe ọzụzụ nke na-agaghị ekwe omume.
Mmejuputa n'ezie n'ụwa
Idozi ezigbo ụdị asụsụ na otu GPU ndị na-azụ ahịa site n'ịgbakọba ihe karịrị 8 ma ọ bụ 16 micro-batches iji ruo otu narị narị dị irè.
Ọzụzụ ọhụụ dị elu ma ọ bụ ụdị nkewa ebe ọbụlagodi otu ogbe 2 dabara, mana usoro nhazi chọrọ ogbe dị irè nke 32.
Onye na-azụ ihu na-amakụ na PyTorch Lightning na-ekpughe ntọala gradient_accumulation_steps nke a na-ejikarị na ntọala VRAM nwere oke.
Mwepụta nnukwu akwụkwọ mpempe akwụkwọ na ngwaike dị obere site n'itikọ nha batch dị irè site na mkpokọta.
Ihe ize ndụ & okporo ụzọ nche
Ịkwalite otu akara ngosi nwere ike zoo adịghị ike sistemụ sara mbara.
A na-eledakarị ihe akụrụngwa na ụgwọ ọrụ anya.
Ọdịiche nchekwa na nleba anya nwere ike itolite ka sistemu na-adịwanye mgbagwoju anya.
Map mmejuputa
Kọwaa latency, ịdịmma na ebumnuche ọnụ ahịa tupu mmejuputa ya.
Benchmark n'okpuru ibu dị adị na ọnọdụ data.
Nleba anya akụrụngwa maka mperi, ịkpafu na mmetụta onye ọrụ.
Kwadebe ụzọ nzaghachi azụghachi azụ na ihe omume tupu ịchachaa.
Nọgide na-eme nchọpụta
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Gradient Accumulation quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Ntuziaka na-esote
Gradients na-apụ n'anya ma na-agbawa
Ajụjụ a na-ajụkarị
What is Gradient Accumulation?
Mkpokọta gradient na-enye gị ohere ịmegharị nnukwu batch na ebe nchekwa GPU nwere oke site na ịchịkọta gradients n'ọtụtụ obere obere batches tupu imelite ihe ọ̀tụ̀tụ̀. Ọ bụ ọkọlọtọ workaround maka ịzụ nnukwu ụdị mgbe ebe nchekwa bụ bottlene.
Kedu ihe mkpokọta gradient na-enye gị ohere ịme?
Site n'ịchịkọta gradients n'ọtụtụ micro-batches tupu emelite, ị na-eṅomi nnukwu ogbe na-ejighị ya niile na ebe nchekwa ozugbo.
N'oge mkpokọ, olee mgbe ị na-akpọ nzọụkwụ nke optimizer na efu na gradients?
Ị na-akwakọba gradients n'ofe N obere batches ma na-emelite naanị otu ugboro na njedebe nke okirikiri.
Kedu oyi akwa normalization na-ejikọta nke ọma na mkpokọta gradient?
Batch-norm na-agbakọ ọnụ ọgụgụ n'otu micro-batch, yabụ oyi akwa ma ọ bụ ụkpụrụ otu na-ezere ndakọrịta na obere obere batches.