Imọ Itọsọna

GPU Memory Management ati Fragmentation

Bii awọn ilana AI ṣe pin, tun lo, ati tun gba iranti to lopin lori GPU kan, ati idi ti awọn ela ajẹkù (fifọ) le fa awọn aṣiṣe iranti-jade paapaa nigbati ọpọlọpọ iranti ni imọ-ẹrọ wa.

2 min kakẹhin imudojuiwọn

Akopọ

Understanding it is key to fitting big models and avoiding mysterious crashes.

Jin Dive

Iranti GPU jẹ ti o wa titi ati iyebíye: kaadi le ni 24, 80, tabi 192 GB lapapọ, pinpin nipasẹ awọn iwọn awoṣe, awọn iṣẹ ṣiṣe, awọn gradients, awọn ipinlẹ iṣapeye, ati awọn ifipamọ igba diẹ. Pipe awakọ lati pin iranti lori gbogbo iṣẹ ṣiṣe yoo lọra, nitorinaa awọn ilana bii PyTorch lo olupilẹṣẹ caching ti o mu awọn bulọọki nla ni iwaju ati fi ọwọ si awọn ege kekere, lẹhinna tọju awọn ege ominira ni adagun-odo fun atunlo. Apeja naa jẹ pipin: bi awọn tenors ti awọn titobi oriṣiriṣi ti pin ati ominira, aaye ọfẹ n pin si awọn ege tuka. O le ni 5 GB ni ọfẹ ni apapọ sibẹsibẹ kuna lati pin ipin tensor 2 GB ti o ni itara nitori ko si aafo kan ti o tobi to. Eyi ni idi ti ikẹkọ le jamba pẹlu awọn aṣiṣe iranti-jade laibikita yara ori ti o dabi ẹnipe o wa.

Imọ-imọ-ẹrọ

PyTorch's CUDA caching allocator pin iranti si awọn ṣiṣan ti awọn bulọọki ati tun lo awọn bulọọki ominira ti o baamu awọn iwọn ti o beere, yago fun awọn ipe cudaMalloc/cudaỌfẹ. Pipin dide nigbati awọn bulọọki pipin ko le ṣe atunpọ. Awọn irin-iṣẹ bii torch.cuda.empty_cache, aṣayan PYTORCH_CUDA_ALLOC_CONF expandable_segments, ati awọn fọto iranti iranti ṣe iranlọwọ. Awọn isunmọ tuntun yawo awọn imọran iranti foju-foju, ti ṣe aworan awọn oju-iwe ti ara ti kii ṣe itosi sinu ibiti o ti leralera nitoribẹẹ awọn ibeere nla ṣaṣeyọri laibikita pipin.

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ọ.

Ojo iwaju ti GPU Memory Management ati Fragmentation

Isakoso iranti n di ijafafa ati oju-iwe diẹ sii, atilẹyin nipasẹ awọn ọna ṣiṣe. Awọn ilana bii awọn alafo ara-iranti-iranti ati akiyesi oju-iwe (ti a lo lati ṣakoso kaṣe KV lakoko itọkasi) dinku egbin ati pipin ni iyalẹnu. Reti awọn ilana si aiyipada si faagun, awọn olupilẹṣẹ defragmenting, hihan ti o dara julọ nipasẹ awọn profaili ti a ṣe sinu, ati isọpọ pọpọ pẹlu piparẹ ati iṣipopada ki eto naa ju GPU, Sipiyu, ati iranti disk laifọwọyi lati tọju iṣamulo ga ati awọn ipadanu toje.

Real-World imuse

Ṣiṣe ikẹkọ ti o kọlu pẹlu 'CUDA kuro ni iranti' laibikita iranti ipamọ ti o nfihan aaye ọfẹ, ti o wa titi nipasẹ eto PYTORCH_CUDA_ALLOC_CONF lati mu awọn apakan faagun ṣiṣẹ.

Lilo torch.cuda.memory_summary tabi aworan iranti kan lati ṣe iwadii iru awọn tenors ati pipin ti njẹ 80 GB GPU kan.

Ifarabalẹ oju-iwe vLLM ti n ṣakoso kaṣe akiyesi KV ni awọn oju-iwe iwọn ti o wa titi lati ṣe iranṣẹ ọpọlọpọ awọn ibeere iwiregbe nigbakan laisi iranti jafara.

Sokale iwọn ipele tabi mimuuki ibi-ayẹwo gradient lati ge iranti imuṣiṣẹ ati yago fun awọn ikuna iranti-ipinpin-iwakọ jade kuro ninu iranti.

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

1

Ṣetumo lairi, didara, ati awọn ibi-afẹde idiyele ṣaaju imuse.

2

Aṣepari labẹ ẹru ojulowo ati awọn ipo data.

3

Abojuto ohun elo fun awọn aṣiṣe, fiseete, ati ipa olumulo.

4

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 GPU Memory Management and Fragmentation quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Bẹrẹ adanwo

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

Iṣeto GPU ati Ẹgbẹpọ Orchestration

Awọn ibeere ti a beere nigbagbogbo

What is GPU Memory Management and Fragmentation?

Bii awọn ilana AI ṣe pin, tun lo, ati tun gba iranti to lopin lori GPU kan, ati idi ti awọn ela ajẹkù (fifọ) le fa awọn aṣiṣe iranti-jade paapaa nigbati ọpọlọpọ iranti ni imọ-ẹrọ wa. Loye rẹ jẹ bọtini lati ni ibamu awọn awoṣe nla ati yago fun awọn ipadanu aramada.

Kini pipin iranti GPU?

Fragmentation tumo si lapapọ free iranti to, sugbon o ti wa ni dà si ona, ki ko si nikan aafo ni o tobi to fun a tensor nla.

Kini idi ti awọn ilana bii PyTorch lo olupilẹṣẹ iranti caching?

Pipe cudaMalloc/cudaFree fun gbogbo op jẹ o lọra, nitorinaa olupilẹṣẹ caching gba awọn bulọọki nla ati tun lo awọn ti o ni ominira lati adagun-odo kan.

O rii 5 GB ni ọfẹ ṣugbọn ko le pin tensor 2 GB kan. Kini idi ti o ṣeeṣe?

Aisan Ayebaye ti pipin waye nigbati iranti ọfẹ ba wa ṣugbọn kii ṣe bi chunk kan ti o tobi pupọ fun ibeere naa.

Eto PyTorch wo ni o ṣe iranlọwọ lati dinku pipin nipa gbigba awọn apakan iranti laaye lati dagba ni irọrun?

Ṣiṣeto PYTORCH_CUDA_ALLOC_CONF lati mu awọn apakan expandable ṣiṣẹ jẹ ki olupilẹṣẹ dagba awọn apakan ati dinku awọn ikuna ti o ni ibatan pipin.

Kini vLLM's PagedAttention ṣakoso lati dinku egbin iranti lakoko itọkasi?

PagedAttention tọju kaṣe KV ni awọn oju-iwe iwọn ti o wa titi bii iranti foju OS, gige pipin ati ṣiṣe ọpọlọpọ awọn ibeere daradara.