Fa'aaogaina o NVIDIA GPU mo A'oa'oga AI

Fa'aaogaina o NVIDIA GPU mo A'oa'oga AI

Tali pu'upu'u: Fa'aaoga NVIDIA GPUs mo a'oa'oga AI e ala i le fa'amaonia muamua o lo'o va'aia le aveta'avale ma le GPU i le nvidia-smi , ona fa'apipi'i lea o se fa'avae/CUDA fa'aputuga fetaui ma fa'atino se suega la'ititi "fa'ata'ita'iga + vaega i luga o le cuda". Afai e te pa'ū i le leai o se manatua, fa'aitiitia le tele o le vaega ma fa'aaoga le sa'o fa'afefiloi, a'o mata'ituina le fa'aaogaina, manatua, ma le vevela.

Manatu autū:

Siakiga faavae : Amata i le nvidia-smi ; fa'aleleia le va'aia o le aveta'avale a'o le'i fa'apipi'iina ni fa'avae.

Feso'ota'iga o le fa'aputuga : Tausia le aveta'avale, taimi e fa'agaoioi ai le CUDA, ma fa'asologa o le fa'avae ina ia puipuia ai fa'alavelave ma fa'apipi'iga vaivai.

Manuia la'ititi : Fa'amaonia e tamo'e se pasi e tasi i luma i le CUDA a'o le'i fa'ateleina fa'ata'ita'iga.

Matā'upu fa'atino o le VRAM : Fa'alagolago i le sa'o fa'afefiloi, fa'aputuga o le gradient, ma le siakiina ina ia fetaui ma fa'ata'ita'iga tetele.

Masani ona mata'ituina : Siaki le fa'aaogaina, mamanu o manatuaga, le malosi, ma le vevela ina ia e vave iloa ai fa'alavelave.

O tala e te ono fia faitauina pe a uma lenei:

🔗 Auala e fausia ai se sui o le AI
Fuafua le faiga o galuega a lau sui, meafaigaluega, manatua, ma leoleo saogalemu.

🔗 Auala e fa'atino ai fa'ata'ita'iga AI
Fa'atulaga ni siosiomaga, afifiina fa'ata'ita'iga, ma lafo atu i le gaosiga ma le fa'atuatuaina.

🔗 Auala e fuaina ai le faatinoga o AI
Filifili fua fa'atatau, fa'atino iloiloga, ma siaki le fa'atinoga i le aluga o taimi.

🔗 Auala e fa'aautomatika ai galuega fa'atasi ai ma le AI
Fa'aautomatika galuega faifai pea e ala i fa'atonuga, faiga o galuega, ma feso'ota'iga.


1) O le ata lautele - o le mea o loʻo e faia pe a e "aʻoaʻo i le GPU" 🧠⚡

A e aʻoaʻoina faʻataʻitaʻiga AI, o le tele lava o mea o loʻo e faia o le tele o matematika matrix. O GPU ua fausia mo lena ituaiga o galuega tutusa, o lea e mafai ai e faʻavae e pei o le PyTorch, TensorFlow, ma le JAX ona faʻaititia le mamafa o galuega i le GPU. ( PyTorch CUDA docs , TensorFlow install (pip) , JAX Quickstart )

I le faʻatinoga, o le "faʻaaogaina o NVIDIA GPUs mo aʻoaʻoga" e masani ona faauigaina:

  • O au faʻatulagaga faʻataʻitaʻi e ola (tele lava) i le GPU VRAM

  • E siitia au vaega mai le RAM i le VRAM i la'asaga ta'itasi

  • O lau pasi i luma ma le backprop e tamo'e i luga o kernels CUDA ( Taiala Polokalame CUDA )

  • O au faʻafouga faʻaleleia e faia i luga o le GPU (e sili atu)

  • E te mata'ituina le vevela, le manatua, ma le fa'aaogaina ina ia e le kukaina se mea 🔥 ( pepa fa'amatalaga a NVIDIA nvidia-smi )

Afai e foliga mai e tele naua, aua le popole. O le tele lava o mea e fai o se lisi siaki ma ni nai masaniga e te fausia i le aluga o taimi.


2) O le ā le mea e avea ai o se fa'atulagaga lelei o a'oa'oga NVIDIA GPU AI 🤌

O le vaega lea o le "aua le fausia se fale i luga o le jelly". O se seti lelei mo le Auala e fa'aaoga ai NVIDIA GPU mo A'oa'oga AI o se seti e le tele se fa'alavelave. O le tele o le fa'alavelave e mautu. O le mautu e vave. O le vave e…ia, vave 😄

O se faʻatulagaga malosi o aʻoaʻoga e masani ona i ai:

  • Lava le VRAM mo le tele o lau batch + faʻataʻitaʻiga + tulaga faʻaleleia

    • E pei le VRAM o le avanoa i atopa'u. E mafai ona e teuina ma le atamai mea uma, ae e le mafai ona e teuina ma le le gata.

  • O se fa'aputuga polokalama fa'afetaui (aveta'avale + CUDA runtime + framework compatibility) ( PyTorch Get Started (CUDA selector) , TensorFlow install (pip) )

  • Teuina vave (e fesoasoani tele le NVMe mo faʻamaumauga tetele)

  • CPU + RAM lelei ina ia le matelaina le GPU ona o le utaina o faʻamaumauga ( PyTorch Performance Tuning Guide )

  • Malūlū ma le malosi o le ulu (e le o fa'atauva'aina se'ia vagana ua leai 😬)

  • Siosiomaga e mafai ona toe gaosia (venv/conda po'o koneteina) ina ia 'aua ne'i avea fa'aleleiga ma fa'alavelave ( Aotelega o le NVIDIA Container Toolkit )

Ma le isi mea e misia e tagata:


3) Siata Fa'atusatusaga - auala lauiloa e toleni ai ma NVIDIA GPUs (fa'atasi ai ma ni mea uiga ese) 📊

O lo'o i lalo se fa'ata'ita'iga pu'upu'u "o fea e fetaui?". O tau e foliga mai e le'i mafaufauina (auā e eseese mea moni), ma ioe, o se tasi o nei sela e fai si le mautonu, ma le fa'amoemoe.

Meafaigaluega / Auala Sili ona lelei mo Tau Aiseā e aogā ai (tele lava)
PyTorch (vanilla) PyTorch le toatele o tagata, le tele o galuega faatino Sa'oloto Fetuutuuna'i, tele le si'osi'omaga, faigofie ona fa'aleleia mea - e tofu fo'i tagata ma o latou manatu
Pepa o le Uila a PyTorch 'au, a'oa'oga fa'atulagaina Sa'oloto Fa'aitiitia le fa'agasologa masani, fa'amama le fa'asologa o mea; o nisi taimi e foliga mai o se "togafiti", se'ia o'o ina leai
O le Fusi o Foliga o Tagata Suiga + Faia'oga pepa fa'amaumau Fa'aleleia atili o le NLP + LLM Sa'oloto A'oa'oga e aofia ai maa, fa'amaumauga tuai lelei, manumalo vave 👍
Fa'avavevave Fa'avavevave pepa aloaia tele-GPU e aunoa ma se tiga Sa'oloto E fa'aitiitia ai le fa'alavelave o le DDP, lelei mo le fa'ateleina e aunoa ma le toe tusia o mea uma
a le DeepSpeed ​​ZeRO faʻataʻitaʻiga tetele, togafiti manatua Sa'oloto ZeroRO, offload, scaling - e mafai ona faigata ae faamalieina pe a kiliki
le TensorFlow + Keras TF paipa gaosiga Sa'oloto Meafaigaluega malolosi, tala lelei o le faʻatinoina; o nisi tagata e fiafia i ai, o nisi e leai se uiga
JAX + Flax JAX Amata vave / pepa fa'amaumau a Flax suʻesuʻega + tagata atamamai i le saoasaoa Sa'oloto E mafai ona matuā vave tele le tuufaatasiga o le XLA, ae e mafai ona lagona le faigata o le faaleleia o mea sese…e le o manino lelei
Aotelega o le NVIDIA NeMo galuega faatino o le tautala + LLM Sa'oloto Fa'aputuga fa'alelei NVIDIA, fua o mea'ai lelei - e pei lava o le kuka i se ogaumu matagofie 🍳
Aotelega o le Docker + NVIDIA Container Toolkit Toolkit siosiomaga e mafai ona toe gaosia Sa'oloto "E galue i la'u masini" e avea ma "e galue i a matou masini" (tele lava, toe fai)

4) Laasaga muamua - fa'amaonia ua va'aia lelei lau GPU 🕵️♂️

A'o le'i fa'apipi'iina ni mea se tele, siaki mea taua.

Mea e te manaʻo e moni:

  • Ua vaʻaia e le masini le GPU

  • Ua fa'apipi'i sa'o le aveta'avale NVIDIA

  • E le o pipii le GPU i le faia o se isi mea

  • E mafai ona e fesiligia ma le fa'atuatuaina

O le siaki masani e faapea:

O le mea o loʻo e sailia:

  • Igoa o le GPU (e pei o le RTX, A-series, ma isi)

  • Fa'aliliuga aveta'avale

  • Fa'aaogaina o le manatua

  • Fa'agasologa o galuega ( pepa NVIDIA nvidia-smi )

Afai le nvidia-smi , taofi loa iinā. Aua le fa'apipi'iina ni frameworks. E pei lava o le taumafai e tao falaoa ae le'i fa'apipi'iina lau ogaumu. ( NVSMI )

Fa'amatalaga fa'aletagata la'ititi: o nisi taimi le nvidia-smi ae e le manuia lava lau a'oa'oga ona o le taimi e fa'agaoioia ai le CUDA e fa'aaogaina e lau fa'avae e le fetaui ma fa'amoemoega o aveta'avale. E le o lou valea lena. O le mea tonu lava lena 😭 ( PyTorch Get Started (CUDA selector) , TensorFlow install (pip) )


5) Fausia le faaputuga polokalama - avetaavale, CUDA, cuDNN, ma le "siva fetaui" 💃

O iinei e maumau ai itula o tagata. O le togafiti: filifili se ala ma pipii i ai .

Filifiliga A: CUDA fa'apipi'i fa'avae (e masani ona faigofie)

E tele PyTorch e fausia fa'atasi ma a latou lava CUDA runtime, o lona uiga e te le mana'omia se CUDA toolkit atoa ua fa'apipi'iina i le system wide. E na'o le pau lava le mea e te mana'omia o se NVIDIA driver e fetaui. ( PyTorch Get Started (CUDA selector) , Previous PyTorch Versions (CUDA wheels) )

Lelei:

  • Vaega fe'avea'i e itiiti ifo

  • Fa'apipi'i faigofie

  • E sili atu ona mafai ona toe gaosia i si'osi'omaga ta'itasi

Le lelei:

  • Afai e te fa'afefiloi fa'atasi si'osi'omaga, e mafai ona e fenumiai

Filifiliga B: Meafaigaluega a le System CUDA (sili atu le pulea)

E te fa'apipi'i le CUDA toolkit i luga o le polokalama ma fa'atulaga mea uma i ai. ( CUDA Toolkit docs )

Lelei:

  • Pulea atili mo fausaga fa'apitoa, nisi meafaigaluega fa'apitoa

  • Aoga mo le tuufaatasia o nisi o galuega

Le lelei:

  • Isi auala e fa'afetaui ai fa'aliliuga ma tagi filemu

cuDNN ma le NCCL, i tulaga faaletagata

Afai e te faia ni aʻoaʻoga e tele-GPU, o le NCCL o lau uo mamae - ma, o nisi taimi, o lau uo mamae e te nonofo faʻatasi ma oe. ( Aotelega o le NCCL )


6) Lau uluai fa'atinoina o a'oa'oga GPU (fa'ata'ita'iga o le mafaufau o le PyTorch) ✅🔥

Mo le mulimuli i le Auala e faʻaaoga ai NVIDIA GPU mo Aʻoaʻoga AI , e te lē manaʻomia muamua se galuega tele. E te manaʻomia se manuia laʻititi.

Manatu autū:

  • Su'e le masini

  • Fesiita'i le fa'ata'ita'iga i le GPU

  • Fesiita'i tensors i le GPU

  • Fa'amaonia le fa'agasologa o le pasi i luma iina ( PyTorch CUDA docs )

O mea ou te siaki muamua i taimi uma le soifua maloloina o le tino:

O le fesili masani "aisea ua telegese ai?"

  • Ua telegese tele lau dataloader (GPU o loʻo faʻatali pea) ( PyTorch Performance Tuning Guide )

  • Ua galo ia te oe ona siitia faʻamatalaga i le GPU (oops)

  • E laʻititi le tele o le vaega (e le lava le faʻaaogaina o le GPU)

  • O loʻo e faia se faʻagasologa mamafa o le CPU i le laʻasaga o aʻoaʻoga

E le gata i lea, ioe, o lau GPU e masani ona foliga mai "e le pisi tele" pe afai o faʻamaumauga o le faʻalavelave. E pei o le faʻafaigaluegaina o se avetaavale taʻavale tuʻuga ona faʻatali lea o ia mo le penisini i taʻamilosaga taʻitasi.


7) O le taaloga VRAM - tele o le batch, sa'o fefiloi, ma le le pa 💥🧳

O le tele o fa'afitauli fa'atino o a'oa'oga e fa'avae i le manatua. Afai e te a'oa'oina se tomai e tasi, a'oa'o le puleaina o le VRAM.

Auala vave e fa'aitiitia ai le fa'aaogaina o le manatua

  • Sa'o lelei fefiloi (FP16/BF16)

  • Fa'aputuga o le gradient

  • Umi la'ititi o le fa'asologa / tele o le seleselega

    • Saua ae aoga

  • Siakiina o le fa'agaoioiga

    • Fesuia'i le komepiuta mo le manatua (toe fa'atulaga le fa'agaoioiga i le taimi o le backward) ( torch.utils.checkpoint )

  • Faaaoga se masini fa'aleleia mama

    • O nisi masini fa'aleleia e teu ai ni tulaga fa'aopoopo e lamuina ai le VRAM

O le taimi "aisea ua tumu ai pea le VRAM pe a uma ona ou taofi?"

E masani ona teuina e fa'avae le manatua i totonu o le cache mo le fa'atinoga. E masani lava lenei mea. E foliga mata'utia ae e le o taimi uma e pei o se tafega. E te a'oa'oina le faitauina o mamanu. ( PyTorch CUDA semantics: caching allocator )

Masani faatino:


8) Fa'atino le galuega moni a le GPU - fa'aleleia atili o le fa'atinoga e aoga i lou taimi 🏎️

O le fa'atinoina o le "a'oa'oga GPU" o le la'asaga muamua. O le fa'avaveina o le la'asaga lua.

Fa'aleleia atili o aafiaga

O le fa'afitauli e sili ona le amana'iaina

Lau auala e teu ai ma fa'agasolo ai muamua. Afai e tele lau fa'amaumauga ma teuina i luga o se tisiki e fai si gesegese, e avea lau GPU ma se mea e fa'avevela ai le avanoa e taugata. O se mea e fa'avevela ai le avanoa e matua'i alualu i luma ma susulu.

E le gata i lea, o se ta'utinoga puupuu: Sa ou "fa'aleleia" se fa'ata'ita'iga mo le itula e tasi ae ou iloa ai o le fa'amaumauga o le fa'alavelave lea. O le tele naua o le lolomiina e mafai ona fa'agesegese ai le a'oa'oga. Ioe, e mafai.


9) A'oa'oga e tele-GPU - DDP, NCCL, ma le fa'ateleina e aunoa ma le fa'alavelave 🧩🤝

O le taimi lava e te manaʻo ai i se saoasaoa tele pe ni faʻataʻitaʻiga tetele atu, e te faʻaaogaina le tele o GPU. O iʻinei e amata ai ona vevela mea.

Auala masani

  • Fa'asologa o Fa'amaumauga (DDP)

    • Vaevae vaega i luga o GPU, fa'afetaui le saoasaoa

    • E masani lava o le filifiliga "lelei" masani ( PyTorch DDP docs )

  • Fa'ata'ita'iga Parallel / Tensor Parallel

    • Vaevae le faʻataʻitaʻiga i luga o GPU (mo faʻataʻitaʻiga tetele tele)

  • Paipa Fa'atasi

    • Vaevae vaega o le faʻataʻitaʻiga i ni vaega (e pei o se laina faʻapotopotoga, ae mo tensors)

Afai o oe o se tagata amata, o le a'oa'oga fa'a-DDP o le mea sili lea. ( A'oa'oga PyTorch DDP )

Fautuaga aogā mo le tele o GPU

  • Ia mautinoa o loʻo tutusa le gafatia o GPU (e mafai e le faʻafefiloi ona faʻalavelaveina)

  • Matamata i le feso'ota'iga: E tāua le NVLink vs PCIe mo galuega mamafa o le feso'ota'iga ( Aotelega NVIDIA NVLink , pepa fa'amaonia a NVIDIA NVLink )

  • Tausia le paleni o le tele o vaega ta'itasi o le GPU

  • Aua le fa'agaloina le CPU ma le teuina o fa'amaumauga - e mafai e le tele o GPU ona fa'ateleina ai le fa'alavelaveina o fa'amaumauga

Ioe, e mafai e mea sese a le NCCL ona lagona e pei o se tala fa'atusa ua afifiina i se mealilo ua afifiina i le "aisea nei". E te le'i malaia. Atonu. ( Aotelega o le NCCL )


10) Mata'ituina ma fa'avasegaina - o mea e le matagofie e sefe ai ou itula 📈🧯

E te lē manaʻomia ni dashboards matagofie e amata ai. E tatau ona e mātauina pe a iai se mea e faaletonu.

Fa'ailoga autū e mata'ituina

  • Fa'aaogāina o le GPU : e maualuga pea pe ma'ai?

  • Fa'aaogāina o le manatua : mautu, a'e, pe uiga ese?

  • Fa'aaogāina o le malosi : e le masani ai le maualalo e mafai ona fa'aalia ai le le lava o le fa'aaogaina

  • Vevela : o le tumau pea o le vevela maualuga e mafai ona faʻaitiitia ai le faʻatinoga

  • Fa'aaogāina o le CPU : o fa'afitauli o le paipa o fa'amaumauga o lo'o fa'aalia iinei ( PyTorch Performance Tuning Guide )

Mafaufauga fa'apitoa (fa'amatalaga faigofie)

  • Afai e maualalo le fa'aaogaina o le GPU - fa'afitauli o fa'amaumauga po'o le CPU

  • Afai e maualuga le GPU ae gesegese - le lelei o le kernel, sa'o, po'o le fausaga o le fa'ata'ita'iga

  • Afai e fa'afuase'i ona pa'ū le saoasaoa o a'oa'oga - fa'aitiitia o le vevela, fa'agasologa i tua, fa'alavelave I/O

Ou te iloa, e foliga mai e le malie le mata'ituina. Ae e pei lava o le fa'aaogaina o le floss. E fa'aita, ona fa'afuase'i lea ona fa'aleleia lou olaga.


11) Foia o Faafitauli - o mea e masani ona masalomia (ma mea e seasea ona tupu) 🧰😵💫

O lenei vaega e fa'atatau tonu lava i le: "o mataupu e lima lava e tasi, e fa'avavau."

Fa'afitauli: Ua leai se manatua o le CUDA

Fa'asa'oga:

Fa'afitauli: E fa'afuase'i ona tamo'e le a'oa'oga i luga o le CPU

Fa'asa'oga:

  • ia mautinoa ua siitia le faʻataʻitaʻiga i le cuda

  • ia mautinoa ua siitia tensors i le cuda

  • siaki le fa'atulagaga o masini fa'avae ( PyTorch CUDA docs )

Fa'afitauli: Fa'alavelave uiga ese pe fa'aaoga fa'asolitulafono le manatua

Fa'asa'oga:

Fa'afitauli: Fa'agesegese nai lo le mea na fa'amoemoeina

Fa'asa'oga:

Fa'afitauli: Ua tautau le tele o GPU

Fa'asa'oga:

  • fa'amaonia le sa'o o fa'atulagaga o le backend ( pepa tufatufaina a PyTorch )

  • siaki fa'atulagaga o le siosiomaga NCCL (fa'aeteete) ( NCCL overview )

  • fa'ata'ita'i muamua le GPU e tasi

  • ia mautinoa o lo'o lelei le feso'ota'iga / feso'ota'iga

Fa'amatalaga pu'upu'u e toe tepa i tua: o nisi taimi o le fofo o le toe amata lea. E foliga valea. E aoga. E fa'apena fo'i komepiuta.


12) Tau ma le aogā - filifilia o le NVIDIA GPU ma le seti sa'o e aunoa ma le mafaufau tele 💸🧠

E lē manaʻomia e galuega uma le GPU telē. O nisi taimi e te manaʻomia le lava o le GPU.

Afai o lo'o e fa'aleleia atili fa'ata'ita'iga feololo

Afai o loʻo e aʻoaʻoina ni faʻataʻitaʻiga tetele mai le amataga

Afai o loʻo e faia ni faʻataʻitaʻiga

  • E te manaʻo i se faiga vave

  • Aua le fa'aaluina uma au tupe i le GPU ona fa'aumatia lea o le teuina o mea ma le RAM

  • E sili atu le paleni o se faiga nai lo se faiga e le paleni (i le tele o aso)

Ma o le mea moni, e mafai ona e fa'aumatia vaiaso e tulituliloa ai filifiliga "atoatoa" o masini. Fausia se mea e mafai ona aoga, fua, ona fetu'una'i lea. O le fili moni lava e leai se fa'asologa o manatu fa'aalia.


Fa'ai'uga - Auala e fa'aaoga ai NVIDIA GPU mo A'oa'oga AI e aunoa ma le leiloa o lou mafaufau 😌✅

Afai e leai se isi mea e te fa'aaogaina mai lenei ta'iala i le fa'aaogaina o NVIDIA GPU mo a'oa'oga AI , ia faia lenei mea:

O le aʻoaʻoina i luga o NVIDIA GPUs o se tasi o na tomai e foliga mai e mataʻutia, ona faʻafuaseʻi lea ona pei ua masani. E pei o le aʻoaʻoina o le avetaʻavale. I le taimi muamua e pisapisao ma fenumiai mea uma ma e te uu malosi le uili. Ona oʻo lea i se tasi aso o loʻo e tietie i luga o le taʻavale, inu kofe, ma faʻatamala i le faʻaleleia o se faʻafitauli o le tele o le batch e peiseaʻī e leai se mea tele ☕😄

Fesili e Masani Ona Fesiligia

O le uiga o le toleniina o se faʻataʻitaʻiga AI i luga o se NVIDIA GPU

O le a'oa'oina i luga o se NVIDIA GPU o lona uiga o au fa'atulagaga fa'ata'ita'i ma vaega a'oa'oga e ola i le GPU VRAM, ma o le matematika mamafa (forward pass, backprop, optimizer steps) e fa'atinoina e ala i CUDA kernels. I le fa'atinoina, e masani ona pa'u'ū lenei mea i le fa'amautinoaina o lo'o nofo le fa'ata'ita'iga ma tensors i luga o le cuda , ona mata'ituina lea o le manatua, fa'aaogaina, ma le vevela ina ia tumau pea le tutusa o le throughput.

Auala e fa'amaonia ai o lo'o galue se NVIDIA GPU a'o le'i fa'apipi'iina se isi mea

Amata i le nvidia-smi . E tatau ona faʻaalia ai le igoa o le GPU, le faʻataʻitaʻiga o le avetaʻavale, le faʻaaogaina o le manatua o loʻo iai nei, ma soʻo se faʻagasologa o loʻo faʻagaoioia. Afai le nvidia-smi , taofi le PyTorch/TensorFlow/JAX - faʻaleleia muamua le vaʻaia o le avetaʻavale. O le siaki autū lea "ua faʻapipiʻi le ogaumu" mo aʻoaʻoga GPU.

Filifiliga i le va o le system CUDA ma le CUDA ua fa'apipi'iina fa'atasi ma le PyTorch

O se auala masani o le faʻaaogaina lea o le framework-bundled CUDA (e pei o le tele o uili PyTorch) aua e faʻaitiitia ai vaega fealuaʻi - e te manaʻomia tele se avetaʻavale NVIDIA fetaui. O le faʻapipiʻiina o le polokalama atoa a le CUDA e ofoina atu ai le tele o le pulea (fausaga faʻapitoa, faʻasologa o galuega), ae e faʻalauiloa mai ai foʻi avanoa mo le le fetaui o lomiga ma le fenumiai o mea sese i le taimi e faʻatino ai.

Aiseā e mafai ai ona gesegese pea a'oa'oga e tusa lava pe iai se NVIDIA GPU

E masani lava, e leai se aogā o le GPU ona o le paipa o le input. O le tuai o le dataloaders, o le mamafa o le CPU preprocessing i totonu o le laasaga o aoaoga, o le laiti o le batch sizes, po o le telegese o le teuina e mafai ona avea ai se GPU malosi ma amio e pei o se space heater e leai se aoga. O le faateleina o tagata faigaluega o le dataloader, o le faagaoioia o le pinned memory, o le faaopoopoina o le prefetching, ma le teuteuina o le logging o ni laasaga muamua masani ia a o lei tuuaia le faataitaiga.

Auala e puipuia ai mea sese o le "CUDA out of memory" i le taimi o a'oa'oga a le NVIDIA GPU

O le tele o fofo o auala ia a le VRAM: fa'aitiitia le tele o le batch, fa'agaoioia le sa'o fa'afefiloi (FP16/BF16), fa'aaoga le fa'aputuga gradient, fa'apu'upu'u le umi o le fa'asologa/tele o le seleselega, pe fa'aaoga le siakiina o le fa'agaoioiga. Siaki fo'i mo isi fa'agasologa GPU e fa'aaogaina ai le manatua. O nisi fa'ata'ita'iga ma mea sese e masani ai - o le fa'atulagaina o le VRAM e avea ma masaniga autu i a'oa'oga fa'atino a le GPU.

Aiseā e mafai ai e le VRAM ona foliga tumu pe a uma se tusitusiga o aʻoaʻoga

E masani ona teuina e fa'avae le manatua o le GPU mo le saoasaoa, o lea e mafai ai ona tumau pea le maualuga o le manatua fa'asao e tusa lava pe pa'ū le manatua ua atofaina. E mafai ona foliga mai o se tafega, ae e masani lava o le caching allocator e amio e pei ona fuafuaina. O le masaniga aoga o le siakiina lea o le mamanu i le aluga o taimi ma fa'atusatusa le "fa'atulagaina vs fa'asao" nai lo le taula'i i se ata mata'utia e tasi.

Auala e fa'amaonia ai e le o toleni filemu se fa'ata'ita'iga i luga o le CPU

Siaki vave le mafaufau lelei: fa'amaonia le torch.cuda.is_available() e toe faafoi mai le True , fa'amaonia le next(model.parameters()).device e fa'aalia le cuda , ma fa'atino se pasi e tasi i luma e aunoa ma ni mea sese. Afai e foliga mai e lemu tele le fa'atinoga, fa'amaonia fo'i o lo'o si'itia au vaega i le GPU. E masani ona si'itia le fa'ata'ita'iga ma tu'ua fa'afuase'i fa'amatalaga.

O le auala faigofie i le aʻoaʻoga tele-GPU

O le Data Parallel (a'oa'oga fa'a-DDP) e masani lava o le la'asaga muamua sili lea: vaevae vaega i luga o GPU ma fa'asolosolo fa'asolosolo. O meafaigaluega e pei o le Accelerate e mafai ona fa'aitiitia ai le faigata o le tele o GPU e aunoa ma le toe tusia atoa. Fa'amoemoe i ni fesuia'iga fa'aopoopo - feso'ota'iga NCCL, eseesega o feso'ota'iga (NVLink vs PCIe), ma fa'ateleina o fa'alavelave fa'amaumauga - o lea e masani ona sili atu le fa'ateleina o le fa'ateleina pe a uma se fa'agaoioiga malosi o le GPU e tasi.

Mea e mata'ituina i le taimi o a'oa'oga NVIDIA GPU e vave iloa ai fa'afitauli

Mata'ituina le fa'aaogaina o le GPU, le fa'aaogaina o le manatua (mautu vs fa'ateleina), fa'aaogaina o le eletise, ma le vevela - e mafai e le fa'aitiitia o le saoasaoa ona fa'aitiitia filemu le saoasaoa. Ia mata'ituina fo'i le fa'aaogaina o le CPU, aua e masani ona muamua aliali mai fa'afitauli i le paipa o fa'amaumauga. Afai e ma'ai pe maualalo le fa'aaogaina, masalo i le I/O po'o le dataloaders; afai e maualuga ae o lo'o gese pea le taimi o la'asaga, fa'atulaga kernels, precision mode, ma le fa'asologa o la'asaga.

Fa'asinomaga

  1. NVIDIA - NVIDIA nvidia-smi pepa fa'amaumau - docs.nvidia.com

  2. NVIDIA - NVIDIA System Management Interface (NVSMI) - developer.nvidia.com

  3. NVIDIA - Aotelega o le NVIDIA NVLink - nvidia.com

  4. PyTorch - Amata le PyTorch (selector CUDA) - pytorch.org

  5. PyTorch - PyTorch CUDA pepa aloaia - docs.pytorch.org

  6. TensorFlow - Fa'apipi'iina o le TensorFlow (pip) - tensorflow.org

  7. JAX - JAX Vave amata - docs.jax.dev

  8. Foliga o le fusi - Fa'amaumauga a le faia'oga - huggingface.co

  9. Uila AI - Pepa fa'amaumau uila - lightning.ai

  10. DeepSpeed ​​- pepa fa'amaumau a le ZeRO - deepspeed.readthedocs.io

  11. Microsoft Research - Microsoft Research: ZeRO/DeepSpeed ​​- microsoft.com

  12. Fonotaga a le PyTorch - Fonotaga a le PyTorch: siaki le faʻataʻitaʻiga i le CUDA - discuss.pytorch.org

Saili le AI Fou i le Faleoloa Aloaia o Fesoasoani AI

Faatatau ia tatou

Toe foʻi i le blog