Ntụziaka nka

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ụ̀.

2 nkeji na-agụEmelitere ikpeazụ

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

1

Kọwaa latency, ịdịmma na ebumnuche ọnụ ahịa tupu mmejuputa ya.

2

Benchmark n'okpuru ibu dị adị na ọnọdụ data.

3

Nleba anya akụrụngwa maka mperi, ịkpafu na mmetụta onye ọrụ.

4

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.

Malite ajụjụ

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.