Ṣiṣayẹwo Gradient
Ṣiṣayẹwo iwọn-gidiẹ (ti a tun pe ni checkpointing imuṣiṣẹ) jẹ ẹtan fifipamọ iranti ti o jabọ awọn iṣẹ ṣiṣe agbedemeji pupọ julọ lakoko gbigbe siwaju ati ṣe iṣiro wọn lori fifo lakoko isọdọtun.
Akopọ
O jẹ ki o ṣe ikẹkọ jinlẹ, awọn nẹtiwọọki ti o tobi julọ nipa iṣowo iṣiro afikun fun lilo iranti ti o kere pupọ.
Jin Dive
Awọn nẹtiwọọki nkankikan ikẹkọ ni deede tọju gbogbo awọn iṣẹ ṣiṣe ti Layer lakoko irekọja siwaju nitori itusilẹ ẹhin nilo wọn lati ṣe iṣiro awọn iwọn-giga. Fun awọn awoṣe ti o jinlẹ, awọn iṣiṣẹ yii jẹ gaba lori iranti. Ṣiṣayẹwo iwọn-gidiẹ dipo fifipamọ awọn iṣẹ ṣiṣe nikan ni eto fọnka ti awọn fẹlẹfẹlẹ 'pointpoint' ati sọ iyoku sọnù. Nigbati backprop ba de agbegbe kan ti awọn iṣẹ ṣiṣe ti lọ silẹ, yoo tun ṣiṣẹ iṣiro siwaju fun apakan yẹn lati tun ṣe ohun ti o nilo, lẹhinna tẹsiwaju. Pẹlu awọn aaye ayẹwo ti a gbe ni aijọju gbogbo awọn fẹlẹfẹlẹ square-root-of-N, iranti fun awọn iṣẹ ṣiṣe silẹ lati aṣẹ N lati paṣẹ fun square-root-of-N, lakoko ti iṣiro naa dide nipasẹ nikan nipa afikun siwaju kọja (ni aijọju 20-30% losokepupo). Eyi jẹ ki o ṣee ṣe lati baamu awọn iwọn ipele ti o tobi ju tabi awọn ayirapada jinle lori GPU kanna.
Imọ-imọ-ẹrọ
Ilana naa nlo akoko-idasi-iranti iṣowo. Titoju gbogbo awọn iṣẹ ṣiṣe jẹ iyara ṣugbọn ebi npa iranti; recomputing wọn jẹ poku lori igbalode accelerators ojulumo si iye owo ti nṣiṣẹ jade ti iranti. Awọn ilana bii PyTorch (torch.utils.checkpoint) fi ipari si module kan ki iṣẹjade siwaju rẹ wa ni fipamọ ṣugbọn awọn inu inu rẹ jẹ iṣiro lakoko sẹhin. Yiyan aaye ibi-iṣayẹwo: aye paapaa ti awọn apakan ni aijọju sqrt(N) dinku iranti lapapọ lakoko ti o ṣafikun iwe-iwọle siwaju kan nikan ti iṣiro lapapọ.
Ipa Ilana
Iye owo ati isuna
Awọn ipinnu faaji ṣe awakọ iṣẹ ati idiyele iṣẹ fun awọn ọdun.
Awọn ipinnu diẹ sii
Ẹkọ imọ-ẹrọ ṣe iranlọwọ fun awọn ẹgbẹ lati yan akopọ to tọ, kii ṣe ọkan tuntun nikan.
Iṣakoso didara
Awọn yiyan imọ-ẹrọ to dara julọ dinku awọn iṣẹlẹ igbẹkẹle ni iṣelọpọ.
Ọjọ iwaju ti Ṣiṣayẹwo Gradient
Ṣiṣayẹwo iwọn-gidiẹ jẹ boṣewa ni ikẹkọ awoṣe-nla ati pe o ni adaṣe pupọ si, pẹlu awọn ile ikawe ti o yan awọn ipo ayẹwo to dara julọ fun ọ. O so pọ nipa ti ara pẹlu FSDP, dapọ konge, ati kikojọpọ lati Titari awọn iwọn awoṣe ga. Reti ibi ayẹwo 'ayanfẹ' ti o ṣe iṣiro awọn iṣẹ olowo poku nikan lakoko ti o tọju awọn ti o gbowolori (bii awọn matrices akiyesi) cache, pẹlu awọn isunmọ-iwakọ akopọ ni awọn irinṣẹ bii PyTorch's torch.compile ti o pinnu laifọwọyi kini lati fipamọ dipo atunṣiro fun iwọntunwọnsi iyara-iranti ti o dara julọ.
Real-World imuse
Ikẹkọ ẹrọ oluyipada ti o jinlẹ pẹlu iwọn ipele ti o tobi ju lori GPU kan nipa sisọnu ati awọn iṣiṣẹ iṣipopada Layer.
Awọn awoṣe iran iṣatunṣe to dara lori awọn aworan ti o ga-giga nibiti awọn maapu imuṣiṣẹ yoo bibẹẹkọ ṣaju iranti GPU.
Dimọra awọn Ayirapada Oju ti n mu gradient_checkpointing ṣiṣẹ = Lootọ lati baamu awọn awoṣe paramita billion-parameter lakoko iṣatunṣe didara.
Apapọ checkpointing pẹlu FSDP ki mejeeji paramita ati awọn amuṣiṣẹ wa ni kekere, muu ikẹkọ ti gan tobi ede awọn awoṣe.
Awọn ewu & Awọn ọna iṣọ
Ṣiṣepe ala-ilẹ kan le tọju awọn ailagbara eto ti o gbooro.
Awọn ohun elo amayederun ati awọn idiyele itọju nigbagbogbo ni aibikita.
Aabo ati awọn ela akiyesi le dagba bi awọn eto ṣe di eka sii.
Ilana Ilana imuse
Ṣetumo lairi, didara, ati awọn ibi-afẹde idiyele ṣaaju imuse.
Aṣepari labẹ ẹru ojulowo ati awọn ipo data.
Abojuto ohun elo fun awọn aṣiṣe, fiseete, ati ipa olumulo.
Mura ipadasẹhin pada ati awọn ipa ọna esi iṣẹlẹ ṣaaju iwọn.
Tesiwaju Ṣiṣawari
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 Checkpointing 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
Itọsọna atẹle
Ikojọpọ Gradient
Awọn ibeere ti a beere nigbagbogbo
Kini Gradient Checkpointing?
Ṣiṣayẹwo iwọn-gidiẹ (ti a tun pe ni checkpointing imuṣiṣẹ) jẹ ẹtan fifipamọ iranti ti o jabọ awọn iṣẹ ṣiṣe agbedemeji pupọ julọ lakoko gbigbe siwaju ati ṣe iṣiro wọn lori fifo lakoko isọdọtun. O jẹ ki o ṣe ikẹkọ jinlẹ, awọn nẹtiwọọki nla nipasẹ iṣowo iṣiro afikun fun lilo iranti kekere pupọ.
Kini ayẹwo ayẹwo gradient ni akọkọ ṣe iṣowo lati le fipamọ iranti?
Ṣiṣayẹwo iwọn-gidiẹ ṣe iṣiro awọn iṣẹ ṣiṣe ti a danu lakoko iwọle sẹhin, lilo iṣiro afikun ni paṣipaarọ fun iranti idinku pupọ.
Kini idi ti awọn iṣẹ ṣiṣe ṣe deede ni ipamọ lakoko gbigbe siwaju?
Backprop ṣe iṣiro awọn gradients nipa lilo awọn imuṣiṣẹ agbedemeji lati iwe-iwọle siwaju, nitorinaa wọn gbọdọ wa ayafi ti wọn ba tun ṣe iṣiro.
Ni aijọju bawo ni iwọn iranti imuṣiṣẹ ti a ba gbe awọn aaye ayẹwo ni gbogbo awọn fẹlẹfẹlẹ sqrt (N) ni nẹtiwọọki N-Layer kan?
Awọn aaye ayẹwo aye nipa gbogbo awọn fẹlẹfẹlẹ square-root-of-N dinku iranti imuṣiṣẹ ti o fipamọ lati aṣẹ N si isalẹ lati paṣẹ sqrt (N).
Isunmọ melo ni afikun iṣiro ṣe ibi-iṣayẹwo gradient daradara ti a fi sii ni igbagbogbo?
Pẹlu aaye ibi-ayẹwo to dara, oke jẹ aijọju afikun gbigbe siwaju kan, nigbagbogbo ni ayika 20-30% idinku.
Ni PyTorch, iru ohun elo wo ni a lo nigbagbogbo lati lo ibi-iyẹwo gradient si module kan?
torch.utils.checkpoint murasilẹ a module ki awọn oniwe-ti abẹnu ibere ise ti wa ni recomputed nigba sẹhin dipo ti a ti o ti fipamọ.