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

Auala e fa'aaoga ai NVIDIA GPU mo A'oa'oga AI [Vitio ma Su'ega]

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

  • E fa'avavevave e le cuDNN ia fa'ata'ita'iga loloto o le a'oa'oina (convolutions, RNN bits, ma isi) ( pepa a le NVIDIA cuDNN )

  • le NCCL o le faletusi vave o le "fesoota'iga GPU-i-GPU" mo a'oa'oga e tele-GPU (NCCL overview)

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 tomai e foliga mai e mataʻutia, ona faʻafuaseʻi lea ona pei ua…masani. E pei o le aʻoaʻoina e ave taʻ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 taʻavale, inu kofe, ma faʻalelei le faʻafitauli o le tele o le batch e peiseaʻī e leai se mea tele.

Fa'ata'ita'iga moni: A'oa'oina o se tama'i fa'avasega ata i luga o le tasi NVIDIA GPU 🧪🖼️

Tulaga

Se'i faapea o se 'au faipisinisi laitiiti e mana'o e a'oa'o se fa'avasega ata e fa'avasega ai ata o oloa i vaega e lima: seevae, ato, peleue, uati, ma mea fa'aopoopo.

Latou te lē o toleniina se faʻataʻitaʻiga tele mai le amataga. O loʻo latou faʻaleleia atili se faʻataʻitaʻiga vaʻai ua uma ona aʻoaʻoina i luga o le NVIDIA GPU e tasi, ina ia mafai e le 'au ona vave faʻataʻitaʻi pe aoga le faʻalauteleina o le manatu.

E faigofie le sini: faʻamaonia le aoga o le faʻatulagaina o le GPU, ʻaloʻese mai le vevesi o le CUDA, ma fausia se taamilosaga o aʻoaʻoga e mafai ona toe faia aʻo leʻi faʻaaluina tupe i masini tetele poʻo le faʻaogaina o ao.

O mea e manaʻomia e le faʻatulagaga

Mo lenei ituaiga o suega, e te manaʻomia:

O se masini e tasi le NVIDIA GPU ma le VRAM e lava mo le tele o le batch

Ua fa'amaonia mai se aveta'avale NVIDIA o lo'o galue lelei ma le nvidia-smi

O se siosiomaga mama o le Python mo PyTorch, TensorFlow, po'o le JAX

O se seti fa'amaumauga la'ititi o ata ua fa'ailogaina, e mafai ona vaevaeina i ni faila o le toleniina, fa'amaoniga, ma le fa'ata'ita'iga

O se fa'asologa o taimi fa'avae o le CPU mo le fa'atusatusaga

O se pepa faigofie o fa'amaumauga ma le taimi e fa'agasolo ai, manatua o le GPU, fa'aaogaina o le GPU, vevela, ma le sa'o o le fa'amaoniga

A'o le'i faia a'oa'oga lelei, e tatau i le 'au ona fa'atino se tama'i suega asu a le CUDA: uta le tasi vaega, fa'anofo le fa'ata'ita'iga ma le vaega i le cuda, fa'atino le tasi pasi i luma, ma fa'amaonia le fa'ateleina o le manatua o le GPU i le nvidia-smi.

Fa'atonuga fa'ata'ita'i

O se faʻatonuga faʻatino mo se galuega faatino e mafai ona foliga faʻapenei:

Fa'aa'oa'o se fa'avasegaga ata la'ititi o oloa e fa'aaoga ai se fa'ata'ita'iga ResNet-style ua uma ona a'oa'oina. Muamua fa'amaonia e mafai e le nvidia-smi ona va'ai i le GPU. Ona fa'atino lea o se suega CUDA e tasi le vaega a'o le'i faia le a'oa'oga atoa. Fa'aaoga le sa'o fa'afefiloi pe afai e lagolagoina. Amata i le tele o le vaega 32, fa'ateleina pe afai e tumau le mautu o le manatua o le GPU, ma fa'amaumau le taimi o la'asaga, le fa'aaogaina o le manatua o le GPU, le fa'aaogaina o le GPU, le vevela, ma le sa'o o le fa'amaoniga pe a uma ta'itasi le fa'atinoina. Afai e aliali mai le CUDA ua leai se manatua, fa'aitiitia le tele o le vaega a'o le'i suia le fa'ata'ita'iga.

Auala e fa'ata'ita'i ai

O se fuafuaga talafeagai mo suʻega o le a:

  1. Fa'agaoioi le nvidia-smi ma fa'amaumau le igoa o le GPU, le fa'asologa o le aveta'avale, le fa'aaogaina o le idle memory, ma le vevela.

  2. Fa'atino se su'ega CPU e tasi le vaega e fa'amaonia ai le aoga o le seti o fa'amaumauga ma le fa'ailoga o le fa'ata'ita'iga.

  3. Fa'atino le suega lava e tasi i le cuda.

  4. Aoao mo la'asaga e 200 ma le lapo'a o le vaega e 32.

  5. Toe fai ma ua fa'agaoioia le sa'o fefiloi.

  6. Taumafai i le tele o le batch 64 pe afai e lava le avanoa e ulu ai le VRAM i le taimi muamua.

  7. Faatusatusa le sa'o o le fa'amaoniga, le averesi o le taimi o la'asaga, le maualuga o le VRAM, ma le vevela o le GPU.

O se taunuuga lelei e lē na o le "toleniina". O se taunuuga lelei o le "toleniina i luga o le GPU, faaleleia le saoasaoa, tumau le mautu o le manatua, ma e mafai ona toe faia le tamoe taeao e aunoa ma le toe faapipiiina o mea uma".

I'uga

O le fa'ai'uga fa'ata'ita'i, e fa'avae i luga o le taimi e tolu fa'ata'ita'iga laiti e 200-la'asaga a'o le'i ma ina ua mae'a ona siitia a'oa'oga mai le CPU i le tasi NVIDIA GPU:

Fa'avae mo na'o le CPU: 3.4 sekone i la'asaga ta'itasi o a'oa'oga

GPU ma le FP32: 0.42 sekone i la'asaga ta'itasi o a'oa'oga

GPU ma le sa'o fefiloi: 0.28 sekone i la'asaga ta'itasi o a'oa'oga

Manatua sili ona maualuga o le GPU ma le tele o le batch 32: 5.8 GB

Manatua sili ona maualuga o le GPU ma le tele o le batch 64: 10.9 GB

Tele o le vaega 96: ua le manuia ona ua leai se manatua o le CUDA

Fa'aaogāina o le GPU i taimi o ta'amilosaga mautu: 76% i le 91%

Vevela i taimi e tumau ai le saoasaoa: 67°C i le 73°C

Sa'o le fa'amaoniga pe a uma le suega pu'upu'u: 82% ma le FP32, 82.4% ma le sa'o fefiloi

I lenei faʻataʻitaʻiga faʻatatau, o le faʻafefiloi o le saʻo na faʻaitiitia ai le taimi o laʻasaga e tusa ma le 33% pe a faʻatusatusa i le faʻagaoioiga o le FP32 GPU, aʻo faʻatumauina pea le saʻo o le faʻamaoniga. E mafai e le 'au ona faʻamaonia nei fuainumera e ala i le taimi o laʻasaga taʻitasi o aʻoaʻoga, siakiina o le nvidia-smi i le taimi o le faʻagaoioiga, ma sefeina le saʻo o le faʻamaoniga pe a uma suʻega taʻitasi.

O a mea e ono sese

O le mea sese e masani ona tupu o le vave tele o le fa'atulagaina. Afai e le manuia le suega CUDA e tasi le vaega, o le a le mafai e se fa'ata'ita'iga atoa ona fa'aleleia fa'afuase'i.

Isi mailei faigofie:

Fa'apipi'iina o le tele o fa'aliliuga CUDA ma le le iloa po'o fea o lo'o fa'aaogaina e le fa'avae

O le siiina o le faʻataʻitaʻiga i le cuda ae tuʻu ai vaega i luga o le CPU

Filifilia o se tele o le vaega e fetaui faatasi ae faaletonu pe a uma ni nai laasaga

Le amana'iaina o isi faiga o lo'o fa'aaogaina le VRAM

Tuua'ia le GPU pe a telegese tele le dataloader

O le fa'atusatusaina o le CPU ma le GPU e aunoa ma le fa'aaogaina o le seti fa'amaumauga tutusa, tele o le batch, ma le fa'ata'ita'iga

E tatau fo'i i se tagata ona toe iloilo ulua'i va'aiga. E leai se aogā o a'oa'oga vave pe afai e pisapisaō fa'ailoga, e le paleni vasega, pe o lo'o a'oa'oina e le fa'ata'ita'iga ni auala pupuu e pei o le lanu o le talaaga nai lo le ituaiga oloa.

Mea'ai aogā e 'ai fua

O se faiga fa'atino fa'atuatuaina o a'oa'oga a le NVIDIA GPU e amata mai i se mea itiiti: fa'amaonia le aoga o le aveta'avale, fa'amaonia le aoga o le CUDA, fa'amaonia le aoga o le tasi vaega, ona fa'asolosolo malie lea ona fa'ateleina le tele o le vaega ma le umi o a'oa'oga. O le setiina vave e le o le mea e sili ona mata'ina le GPU i luga o le pepa - ae o le mea e te maua ai ni fa'agaioiga mautu ma mafai ona fuaina e aunoa ma le fa'aumatia o itula i le lomiga e mafai ona 'alofia, VRAM, ma fa'afitauli o le utaina o fa'amaumauga.

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

Suega o A'oa'oga NVIDIA GPU AI
1. O le fea poloaiga e fai ma siaki autū e faʻamaonia ai ua vaʻaia lau GPU aʻo leʻi faʻapipiʻiina ni frameworks?

2. O le ā le tulaga lelei autū o le faʻaaogaina o faʻatulagaga CUDA ua faʻapipiʻiina i totonu o le framework-bundled nai lo le faʻapipiʻiina o se meafaigaluega faʻapitoa mo le system-wide?

3. Afai e fetaia'i se fa'aletonu "CUDA out of memory" i se a'oa'oga fa'ata'ita'i AI, o le fea fetu'una'iga e tatau ona fa'ata'ita'i muamua?

4. O le ā le mafuaʻaga e sili ona ono tupu pe afai e maualalo, matuitui, pe le lelei foʻi le faʻaaogaina o se NVIDIA GPU maualuga i le taimi o aʻoaʻoga?

5. Aiseā e ono pisi ai pea fua fa'atatau o le VRAM tusa lava pe ua mae'a se taamilosaga o a'oa'oga fa'apitoa?


Toe foʻi i le blog

Fesili Masani Faaopoopo

  • E fa'apefea ona ou fa'amautinoa o lo'o va'aia la'u NVIDIA GPU mo a'oa'oga AI?

    E mafai ona e siaki pe o vaaia lau NVIDIA GPU e ala i le faʻaaogaina o le poloaiga 'nvidia-smi' i totonu o le terminal. O lenei poloaiga o le a faʻaali atu ia te oe faʻamatalaga e pei o le igoa o le GPU, faʻataʻitaʻiga o le avetaʻavale, faʻaaogaina o le manatua, ma soʻo se faʻagasologa o loʻo faʻagaoioia. Afai e le manuia, e tatau ona e foia le faʻapipiʻiina o le avetaʻavale aʻo leʻi faʻaauauina le aʻoaʻoga AI.

  • O le ā le tāua o le fetaui lelei o le aveta'avale ma le fa'avae mo a'oa'oga i luga o NVIDIA GPUs?

    E taua tele le fa'atulagaina o le aveta'avale NVIDIA, le taimi e fa'agaoioi ai le CUDA, ma fa'asologa o le framework ina ia puipuia ai fa'alavelave ma ia mautu fa'apipi'i. O fa'asologa e le fetaui e mafai ona o'o atu ai i ni fa'aletonu e le'i mafaufauina i le taimi o a'oa'oga.

  • O a laasaga e tatau ona ou faia e pulea lelei ai le VRAM i le taimi o a'oa'oga?

    Mo le pulea lelei o le VRAM, e mafai ona e faʻaaogaina ni metotia e pei o le faʻaaogaina o le saʻo faʻafefiloi (FP16/BF16), faʻaputuga gradient, laʻititi le tele o vaega, ma le siakiina o le faʻagaoioiga. O nei fuafuaga e fesoasoani e faʻaitiitia le faʻaaogaina o le manatua ma fetaui ma faʻataʻitaʻiga tetele i totonu o le VRAM o loʻo avanoa.

  • O a mea e manaʻomia muamua ona ou mafaufau i ai aʻo leʻi faia aʻoaʻoga e tele-GPU?

    A'o le'i faia a'oa'oga i le tele o GPU, ia mautinoa o au GPU e tutusa o latou gafatia ina ia 'alofia ai ni fa'alavelave. E tatau fo'i ona e mata'ituina le saoasaoa o feso'ota'iga (NVLink vs PCIe) ma fa'atumauina le paleni o le tele o vaega ta'itasi o le GPU ina ia fa'aleleia atili ai le fa'atinoga.

  • E fa'apefea ona ou foia ni fa'aletonu masani a le CUDA i le taimi o a'oa'oga?

    Mo mea sese masani a le CUDA e pei o le 'leai o le manatua,' fa'aitiitia le tele o le batch, fa'aaoga le sa'o fa'afefiloi, pe siaki mo isi fa'agasologa e fa'aaogaina ai le manatua o le GPU. Ina ia foia a'oa'oga o lo'o fa'afuase'i ona tamo'e i luga o le CPU, ia mautinoa o lo'o si'itia uma le fa'ata'ita'iga ma le tensors i le GPU.

  • O a faiga e mata'ituina ai e fautuaina a'o faia a'oa'oga i luga o NVIDIA GPUs?

    E taua le mata'ituina o le fa'aaogaina o le GPU, le fa'aaogaina o le manatua, le fa'aaogaina o le eletise, ma le vevela. O le mata'ituina o nei fua fa'atatau e fesoasoani e iloa ai fa'afitauli e ono tula'i mai i se taimi vave, ma fa'amautinoa ai o lo'o aoga pea lau fa'agasologa o a'oa'oga.

  • E fa'apefea ona ou 'alofia le saoasaoa o a'oa'oga e lemu pe a fa'aogaina NVIDIA GPUs?

    Ina ia 'alofia le fa'agesegese o a'oa'oga, siaki lau paipa fa'amaumauga mo ni uta fa'amaumauga e tuai ma ia mautinoa e te le o faia se fa'agasologa mamafa i le taimi o a'oa'oga. Mafaufau e fa'ateleina le aufaigaluega uta fa'amaumauga, fa'aaoga le manatua ua pine, ma fa'aleleia le tele o vaega.