NVIDIA GPU-г хиймэл оюун ухааны сургалтанд хэрхэн ашиглах вэ

NVIDIA GPU-г хиймэл оюун ухааны сургалтанд хэрхэн ашиглах вэ

Товч хариулт: NVIDIA GPU-г хиймэл оюун ухааны сургалтад ашиглахын тулд эхлээд драйвер болон GPU нь nvidia-smi , дараа нь нийцтэй framework/CUDA стек суулгаж, жижиг "загвар + cuda дээрх багц" тестийг ажиллуулна уу. Хэрэв та санах ойгүй болсон бол багцын хэмжээг багасгаж, холимог нарийвчлалыг ашиглан ашиглалт, санах ой болон температурыг хянана уу.

Гол дүгнэлтүүд:

Суурь шалгалтууд nvidia-smi- ээр эхэл ; frameworks суулгахаасаа өмнө драйверын харагдах байдлыг засаарай.

Стекийн нийцтэй байдал : Драйвер, CUDA ажиллах хугацаа болон фрэймворкийн хувилбаруудыг зэрэгцүүлэн байлгаж, ослоос болон хэврэг суулгалтаас сэргийлнэ.

Бага зэрэг амжилт : Туршилтаа өргөжүүлэхээсээ өмнө CUDA дээр нэг урагш дамжуулалт гүйлтийг баталгаажуул.

VRAM-ийн сахилга бат : Том загваруудад тохирохын тулд холимог нарийвчлал, градиент хуримтлал болон хяналтын цэг дээр тулгуурлана.

Хяналтын зуршил : Саад бэрхшээлийг эрт илрүүлэхийн тулд хэрэглээ, санах ойн хэв маяг, хүч чадал болон температурыг хяна.

Үүний дараа таны унших дуртай нийтлэлүүд:

🔗 Хиймэл оюун ухааны агентыг хэрхэн бүтээх вэ
Агентынхаа ажлын урсгал, багаж хэрэгсэл, санах ой болон аюулгүйн хамгаалалтыг зохион бүтээ.

🔗 Хиймэл оюун ухааны загваруудыг хэрхэн байршуулах вэ
Орчин, багц загваруудыг тохируулж, үйлдвэрлэлд найдвартай хүргэнэ.

🔗 AI гүйцэтгэлийг хэрхэн хэмжих вэ
Хэмжүүр сонгох, үнэлгээ хийх, гүйцэтгэлийг цаг хугацааны явцад хянах.

🔗 Хиймэл оюун ухаанаар даалгавруудыг хэрхэн автоматжуулах вэ
Заавар, ажлын урсгал болон интеграцчилал ашиглан давтагдах ажлыг автоматжуулна.


1) Том зураг - та "GPU дээр сургах" үедээ юу хийж байгаа вэ 🧠⚡

Та хиймэл оюун ухааны загваруудыг сургахдаа ихэвчлэн матрицын математикийн уул хийдэг. GPU нь ийм төрлийн зэрэгцээ ажилд зориулагдсан тул PyTorch, TensorFlow, JAX зэрэг фрэймворкууд нь хүнд ачааллыг GPU руу шилжүүлж чаддаг. ( PyTorch CUDA баримт бичиг , TensorFlow install (pip) , JAX Quickstart )

Практикт "NVIDIA GPU-г сургалтанд ашиглах" гэдэг нь ихэвчлэн дараахь зүйлийг хэлнэ

  • Таны загварын параметрүүд (ихэвчлэн) GPU VRAM-д байдаг

  • Таны багцууд алхам тутамд RAM-аас VRAM руу шилждэг

  • Таны урагш дамжуулалт болон арын проп нь CUDA цөм дээр ажилладаг ( CUDA програмчлалын гарын авлага )

  • Таны оновчлогчийн шинэчлэлтүүд GPU дээр хийгддэг (хамгийн тохиромжтой)

  • Та юу ч хийхгүйн тулд температур, санах ой, ашиглалтыг хянадаг 🔥 ( NVIDIA nvidia-smi баримт бичиг )

Хэрэв энэ их сонсогдож байвал санаа зовох хэрэггүй. Энэ нь ихэвчлэн шалгах хуудас болон цаг хугацааны явцад бий болгосон хэдэн зуршил юм.


2) NVIDIA GPU хиймэл оюун ухааны сургалтын тохиргооны сайн хувилбарыг юу болгодог вэ 🤌

Энэ бол "вазелин дээр байшин бүү барь" хэсэг юм. NVIDIA GPU-г хиймэл оюун ухааны сургалтанд хэрхэн ашиглах бол бага драматай тохиргоо юм. Бага драматай бол тогтвортой. Тогтвортой бол хурдан. Хурдан гэдэг нь... за, хурдан 😄

Бат бөх сургалтын тохиргоо нь ихэвчлэн дараахь зүйлийг агуулдаг

  • Багцын хэмжээ + загвар + оновчлогчийн төлөвт хангалттай VRAM

    • VRAM бол чемоданны зайтай адил юм. Та илүү ухаалаг баглаж болно, гэхдээ хязгааргүй ихийг баглаж чадахгүй.

  • Тохирсон програм хангамжийн стек (драйвер + CUDA ажиллах хугацаа + хүрээний нийцтэй байдал) ( PyTorch Эхлэх (CUDA сонгогч) , TensorFlow суулгац (pip) )

  • Хурдан хадгалах (NVMe нь том өгөгдлийн багцад маш их тусалдаг)

  • Өгөгдөл ачаалах нь GPU-г өлсгөхгүйн тулд хангалттай CPU + RAM PyTorch-ын гүйцэтгэлийн тохируулгын гарын авлага )

  • Хөргөлт болон цахилгаан зай (дутуу үнэлэгдсэн 😬)

  • Дахин хуулбарлах боломжтой орчин (venv/conda эсвэл контейнерууд), ингэснээр шинэчлэлтүүд эмх замбараагүй байдалд орохгүй ( NVIDIA Container Toolkit тойм )

Хүмүүсийн алгасдаг бас нэг зүйл:

  • Хяналтын зуршил - та жолоо барьж байхдаа толин тусгалыг шалгадаг шигээ GPU санах ой болон ашиглалтыг шалгадаг. ( NVIDIA nvidia-smi баримт бичиг )


3) Харьцуулсан хүснэгт - NVIDIA GPU-уудтай сургах түгээмэл аргууд (өвөрмөц онцлогтой) 📊

Доор "аль нь тохирох вэ?" гэсэн хурдан заль мэхийн хуудас байна. Үнэ нь бараг хэлбэлзэлтэй байна (учир нь бодит байдал өөр өөр байдаг), тийм ээ, эдгээр эсүүдийн нэг нь санаатайгаар жаахан дэмий юм.

Хэрэгсэл / Хандлага Хамгийн сайн нь Үнэ Яагаад ажилладаг вэ (ихэвчлэн)
PyTorch (ваниль) PyTorch ихэнх хүмүүс, ихэнх төслүүд Үнэгүй Уян хатан, асар том экосистем, хялбар алдаа засах - мөн хүн бүр санал бодолтой байдаг
PyTorch Lightning Lightning баримт бичиг багууд, бүтэцлэгдсэн сургалт Үнэгүй Тогтмол хэв маягийг багасгаж, гогцоог цэвэрлэнэ; заримдаа "ид шид" мэт санагддаг, гэхдээ энэ нь арилахгүй
Тэврэлттэй нүүр хувиргагчид + Сургагч багшийн баримт бичиг NLP + LLM нарийн тохируулга Үнэгүй Батерейтай бэлтгэл, гайхалтай анхдагч үзүүлэлтүүд, хурдан ялалтууд 👍
Хурдасгах Хурдасгах баримт бичиг өвдөлтгүй олон график процессор Үнэгүй DDP-г арай ядаргаатай болгодог, бүх зүйлийг дахин бичихгүйгээр томруулахад тохиромжтой
DeepSpeed ​​ZeRO баримт бичиг том загвар өмсөгчид, ой санамжийн заль мэх Үнэгүй ZeRO, ачааллыг бууруулах, масштаблах - төвөгтэй байж болох ч товшиход сэтгэл ханамжтай байж болно
TensorFlow + Keras TF суулгац үйлдвэрлэлийн зориулалттай дамжуулах хоолой Үнэгүй Хүчтэй багаж хэрэгсэл, сайн байршуулалтын түүх; зарим хүмүүс үүнд дуртай байхад зарим нь чимээгүйхэн дургүй
JAX + Flax JAX хурдан эхлүүлэх / Flax баримт бичиг судалгаа + хурдны мэргэн ухаантнууд Үнэгүй XLA эмхэтгэл нь гайхалтай хурдан байж болох ч дибаг хийх нь ... хийсвэр мэдрэмж төрүүлж болно
NVIDIA NeMo NeMo-ийн тойм яриа + LLM ажлын урсгалууд Үнэгүй NVIDIA-д оновчтой болгосон стек, сайн жорууд - тансаг зууханд хоол хийж байгаа юм шиг мэдрэмж төрүүлдэг 🍳
Docker + NVIDIA Container Toolkit Toolkit-ийн тойм хуулбарлах боломжтой орчин Үнэгүй “Миний машин дээр ажилладаг” гэдэг нь “манай машин дээр ажилладаг” болж хувирдаг (ихэвчлэн дахин)

4) Эхний алхам - GPU-гээ зөв харсан эсэхийг баталгаажуулна уу 🕵️♂️

Арван хэдэн зүйлийг суулгахаасаа өмнө үндсэн ойлголтуудыг шалгаарай.

Үнэн байхыг хүсдэг зүйлс:

  • Машин нь GPU-г хардаг

  • NVIDIA драйвер зөв суулгасан байна

  • GPU өөр зүйл хийж байгаад гацаагүй байна

  • Та үүнийг найдвартай асууж болно

Сонгодог чек нь:

Таны хайж буй зүйл:

  • GPU нэр (жишээ нь, RTX, A-series гэх мэт)

  • Драйверын хувилбар

  • Санах ойн хэрэглээ

  • Ажиллаж буй процессууд ( NVIDIA nvidia-smi баримт бичиг )

Хэрэв nvidia-smi ажиллахгүй бол тэндээ зогсоо. Фреймворк суулгах хэрэггүй. Энэ нь зуух чинь залгуургүй байхад талх жигнэх гэж оролдохтой адил юм. ( NVIDIA системийн удирдлагын интерфэйс (NVSMI) )

Жижиг хүний ​​тэмдэглэл: заримдаа nvidia-smi ажилладаг ч таны сургалт бүтэлгүйтсээр л байдаг, учир нь таны framework-ийн ашигладаг CUDA ажиллах хугацаа нь драйверын хүлээлттэй таарахгүй байна. Энэ бол чиний тэнэглэл биш. Энэ бол... яг л ийм байдал 😭 ( PyTorch эхлэх (CUDA сонгогч) , TensorFlow суулгах (pip) )


5) Програм хангамжийн стекийг бүтээх - драйверууд, CUDA, cuDNN болон “нийцтэй байдлын бүжиг” 💃

Хүмүүс энд цагаа алддаг. Гол нь: зам сонгоод, түүнийгээ баримтал .

А сонголт: Хүрээнд суурилсан CUDA (ихэвчлэн хамгийн хялбар)

Олон PyTorch нь өөрсдийн CUDA ажиллах хугацаатайгаар хөлөг онгоц бүтээдэг бөгөөд энэ нь танд системийн хэмжээнд бүрэн CUDA хэрэгслийн багц суулгах шаардлагагүй гэсэн үг юм. Танд ихэвчлэн нийцтэй NVIDIA драйвер хэрэгтэй. ( PyTorch-г эхлүүлэх (CUDA сонгогч) , PyTorch-ын өмнөх хувилбарууд (CUDA дугуйнууд) )

Давуу талууд:

  • Хөдөлгөөнтэй хэсгүүд цөөн

  • Илүү хялбар суулгалтууд

  • Орчин бүрт илүү давтагдашгүй

Сул талууд:

  • Хэрэв та орчныг санамсаргүй байдлаар хольвол та төөрөлдөж болно

Сонголт B: Системийн CUDA хэрэгслийн хэрэгсэл (илүү их хяналт)

Та CUDA хэрэгслийн багцыг систем дээр суулгаад бүх зүйлийг түүн дээр тохируулна. ( CUDA хэрэгслийн багцын баримт бичиг )

Давуу талууд:

  • Захиалгат угсралтын илүү их хяналт, зарим тусгай хэрэгслүүд

  • Тодорхой үйлдлүүдийг эмхэтгэхэд тохиромжтой

Сул талууд:

  • Хувилбаруудыг тааруулж, чимээгүйхэн уйлах илүү олон арга замууд

cuDNN болон NCCL, хүний ​​​​хувьд

  • cuDNN нь гүнзгий сургалтын үндсэн ойлголтуудыг (мушгиралт, RNN бит гэх мэт) хурдасгадаг ( NVIDIA cuDNN баримт бичиг )

  • NCCL нь олон GPU сургалтад зориулсан хурдан “GPU-ээс GPU руу харилцах” номын сан юм ( NCCL-ийн тойм )

Хэрэв та олон график процессортой сургалтанд хамрагддаг бол NCCL бол таны хамгийн сайн найз, заримдаа таны ааштай өрөөний хамтрагч юм. ( NCCL-ийн тойм )


6) Таны анхны GPU сургалт (PyTorch-ын сэтгэлгээний жишээ) ✅🔥

NVIDIA GPU-г хиймэл оюун ухааны сургалтад хэрхэн ашиглах талаар дагахын тулд танд эхлээд томоохон төсөл хэрэггүй. Танд бага зэрэг амжилт хэрэгтэй.

Гол санаанууд:

  • Төхөөрөмжийг илрүүлэх

  • Загварыг GPU руу шилжүүлэх

  • Тензоруудыг GPU руу шилжүүлэх

  • Тэнд урагш дамжуулалтын гүйлтүүдийг баталгаажуулна уу ( PyTorch CUDA баримт бичиг )

Би үргэлж эрт шалгаж үздэг эрүүл ахуйн зүйлс:

"Яагаад удаан байна вэ?" гэсэн нийтлэг асуултууд

  • Таны өгөгдөл ачаалагч хэт удаан байна (GPU идэвхгүй байдалд хүлээж байна) ( PyTorch гүйцэтгэлийн тохируулгын гарын авлага )

  • Та өгөгдлийг GPU руу зөөхөө мартчихаж (өө)

  • Багцын хэмжээ бага (GPU дутуу ашиглагдаж байна)

  • Та сургалтын шатанд CPU-ийн урьдчилсан боловсруулалтыг хийж байна

Мөн тийм ээ, хэрэв саад тотгор нь өгөгдөл байвал таны GPU ихэвчлэн "тийм ч завгүй биш" харагдах болно. Энэ нь уралдааны машины жолоочийг хөлсөлж аваад тойрог бүрт түлш хүлээлгэхтэй адил юм.


7) VRAM тоглоом - багцын хэмжээ, холимог нарийвчлал, дэлбэрэхгүй 💥🧳

Практик сургалтын ихэнх асуудлууд нь санах ойтой холбоотой байдаг. Хэрэв та нэг ур чадвар эзэмшсэн бол VRAM-ийн менежментийг сур.

Санах ойн хэрэглээг багасгах хурдан аргууд

"Би зогссоны дараа ч VRAM яагаад дүүрэн хэвээр байна вэ?" гэсэн мөч

Фреймворкууд нь гүйцэтгэлийн хувьд санах ойг ихэвчлэн кэшлэдэг . Энэ бол хэвийн үзэгдэл. Аймшигтай харагдаж байгаа ч үргэлж алдагдал биш юм. Та хэв маягийг уншиж сурдаг. ( PyTorch CUDA семантик: кэш хуваарилагч )

Практик зуршил:


8) GPU-г үнэхээр ажиллуул - таны цагийг үрэх үнэ цэнэтэй гүйцэтгэлийн тохируулга 🏎️

"GPU сургалтыг ажиллуулах" нь нэгдүгээр алхам юм. Хурдан нь хоёрдугаар алхам юм.

Өндөр нөлөө бүхий оновчлолууд

Хамгийн их анзаарагдаагүй саад бэрхшээл

Таны хадгалах болон урьдчилан боловсруулах дамжуулах хоолой. Хэрэв таны өгөгдлийн багц асар том бөгөөд удаан диск дээр хадгалагдсан бол таны GPU үнэтэй халаагуур болж хувирдаг. Маш дэвшилтэт, маш гялалзсан халаагуур.

Мөн жижигхэн хүлээн зөвшөөрөлт: Би загварыг нэг цагийн турш "оновчтой" болгосон боловч бүртгэл хөтлөх нь саад тотгор гэдгийг ойлгосон. Хэт их хэвлэх нь сургалтыг удаашруулж болзошгүй. Тийм ээ, энэ нь боломжтой.


9) Олон график процессортой сургалт - DDP, NCCL, эмх замбараагүй байдалгүйгээр масштаблах 🧩🤝

Илүү хурдтай эсвэл том загвартай болохыг хүсвэл олон график процессортой болоорой. Энэ үед л бүх зүйл хурцдаж эхэлдэг.

Нийтлэг аргууд

  • Зэрэгцээ өгөгдөл (DDP)

    • GPU-уудын хооронд багцуудыг хувааж, градиентуудыг синк хийх

    • Ихэвчлэн анхдагч "сайн" сонголт байдаг ( PyTorch DDP баримт бичиг )

  • Загварын зэрэгцээ / Тензорын зэрэгцээ

    • Загварыг GPU-уудад хуваах (маш том загваруудын хувьд)

  • Зэрэгцээ дамжуулах хоолой

    • Загварын давхаргуудыг үе шат болгон хуваах (угсралтын шугам шиг, гэхдээ тензоруудын хувьд)

Хэрэв та шинээр эхэлж байгаа бол DDP маягийн сургалт бол хамгийн тохиромжтой цэг юм. ( PyTorch DDP заавар )

Олон график карттай практик зөвлөмжүүд

  • GPU-ууд ижил чадвартай эсэхийг шалгаарай (холих нь саад учруулж болзошгүй)

  • Харилцан холболтыг үзэх: NVLink болон PCIe нь синхрончлол ихтэй ажлын ачааллын хувьд чухал ач холбогдолтой ( NVIDIA NVLink-ийн тойм , NVIDIA NVLink баримт бичиг )

  • GPU тус бүрийн багцын хэмжээг тэнцвэртэй байлга

  • CPU болон санах ойг үл тоомсорлож болохгүй - олон график процессор нь өгөгдлийн саад бэрхшээлийг нэмэгдүүлж чадна

Тийм ээ, NCCL-ийн алдаанууд нь "яагаад одоо гэж" гэсэн нууцлаг зүйлд ороосон оньсого мэт санагдаж болно. Та хараагдаагүй байх. Магадгүй. ( NCCL-ийн тойм )


10) Хяналт болон профайл үүсгэх - таны цагийг хэмнэдэг тансаг бус зүйлс 📈🧯

Эхлэхэд танд гоёмсог хяналтын самбар хэрэггүй. Ямар нэгэн зүйл буруу байгааг анзаарах хэрэгтэй.

Ажиглах гол дохионууд

  • GPU ашиглалт : тогтмол өндөр эсвэл огцом байна уу?

  • Санах ойн хэрэглээ : тогтвортой, өсөн нэмэгдэж байна уу эсвэл хачин уу?

  • Эрчим хүчний хэрэглээ : ер бусын бага байх нь ашиглалтын дутагдалтай гэсэн үг юм

  • Температур : тогтвортой өндөр температур нь гүйцэтгэлийг бууруулж болзошгүй

  • CPU хэрэглээ : өгөгдлийн дамжуулах хоолойн асуудлууд энд гарч ирнэ ( PyTorch гүйцэтгэлийн тохируулгын гарын авлага )

Профайл бичих сэтгэлгээ (энгийн хувилбар)

  • Хэрэв GPU бага ашиглалттай бол - өгөгдөл эсвэл CPU-ийн саад тотгор

  • Хэрэв GPU өндөр боловч удаан бол - цөмийн үр ашиггүй байдал, нарийвчлал эсвэл загварын архитектур

  • Хэрэв сургалтын хурд санамсаргүй байдлаар буурвал - дулааны хязгаарлалт, суурь процессууд, оролт/гаралтын саатал

Хянах нь хөгжилтэй сонсогдож байгааг би мэдэж байна. Гэхдээ энэ нь шүдний утсаар цэвэрлэхтэй адил. Уйтгартай ч гэнэт амьдрал чинь сайжирна.


11) Алдааг олж засварлах - ердийн сэжигтнүүд (мөн ердийн бус сэжигтнүүд) 🧰😵💫

Энэ хэсэг нь үндсэндээ: "үүрд мөнх таван асуудал."

Асуудал: CUDA санах ойгүй болсон

Засварууд:

Асуудал: Сургалт CPU дээр санамсаргүйгээр ажилладаг

Засварууд:

  • загварыг Куда

  • тензоруудыг куда

  • Хүрээлэнгийн төхөөрөмжийн тохиргоог шалгах ( PyTorch CUDA баримт бичиг )

Асуудал: Хачирхалтай гацалт эсвэл хууль бус санах ойн хандалт

Засварууд:

  • драйвер + ажиллах хугацааны нийцтэй байдлыг баталгаажуулна уу ( PyTorch Эхлэх (CUDA сонгогч) , TensorFlow суулгалт (pip) )

  • цэвэр орчныг туршиж үзээрэй

  • өөрчлөн тохируулсан үйлдлүүдийг багасгах

  • детерминистик тохиргоогоор дахин ажиллуулж хуулбарлана уу

Асуудал: Төсөөлж байснаас удаан

Засварууд:

Асуудал: Олон график карт гацаж байна

Засварууд:

  • зөв backend тохиргоог баталгаажуулна уу ( PyTorch тархсан баримт бичиг )

  • NCCL орчны тохиргоог шалгана уу (болгоомжтой) ( NCCL тойм )

  • эхлээд ганц GPU-г турших

  • сүлжээ / холболт эрүүл байгаа эсэхийг шалгаарай

Буцах үеийн жижиг тэмдэглэл: заримдаа засвар нь шууд утгаараа дахин ачаалах явдал юм. Энэ нь инээдтэй санагдаж байна. Энэ нь ажилладаг. Компьютерууд ч гэсэн тийм л байдаг.


12) Үнэ болон практик байдал - хэт их бодолгүйгээр зөв NVIDIA GPU болон тохиргоог сонгох 💸🧠

Бүх төсөлд хамгийн том график карт шаардлагагүй. Заримдаа танд хангалттай хэмжээний график карт хэрэгтэй байдаг.

Хэрэв та дунд зэргийн загваруудыг нарийн тохируулж байгаа бол

Хэрэв та том загваруудыг эхнээс нь сургаж байгаа бол

Хэрэв та туршилт хийж байгаа бол

  • Та хурдан давталт хүсч байна

  • Бүх мөнгөө GPU дээр зарцуулчихаад санах ой болон RAM-аа бүү үр

  • Тэнцвэртэй систем нь нэг талыг барьсан системээс илүү сайн байдаг (ихэнх өдрүүдэд)

Үнэндээ та "төгс" техник хангамжийн сонголтыг хөөцөлдөж хэдэн долоо хоногийг үрж болно. Ажиллах боломжтой зүйлийг бүтээгээд, хэмжиж, дараа нь тохируулна уу. Жинхэнэ дайсан бол санал хүсэлтийн давталтгүй байх явдал юм.


Төгсгөлийн тэмдэглэл - NVIDIA GPU-г хиймэл оюун ухааны сургалтанд хэрхэн ашиглах вэ 😌✅

NVIDIA GPU-г хиймэл оюун ухааны сургалтанд хэрхэн ашиглах тухай энэхүү гарын авлагаас өөр юу ч аваагүй бол үүнийг аваарай:

NVIDIA GPU дээр сургалт явуулах нь аймшигтай санагддаг ур чадваруудын нэг бөгөөд гэнэт л хэвийн мэт санагддаг. Яг л жолоо барьж сурахтай адил. Эхэндээ бүх зүйл чимээ шуугиантай, ойлгомжгүй байдаг тул та жолооны хүрдийг хэт чанга атгадаг. Тэгээд нэг өдөр та кофе балгаад, багцын хэмжээний асуудлыг тийм ч том асуудал биш юм шиг л шийдэж эхэлдэг ☕😄

Түгээмэл асуултууд

NVIDIA GPU дээр хиймэл оюун ухааны загварыг сургана гэдэг нь юу гэсэн үг вэ

NVIDIA GPU дээр сургалт явуулна гэдэг нь таны загварын параметрүүд болон сургалтын багцууд GPU VRAM-д хадгалагддаг бөгөөд хүнд математикууд (урд дамжуулалт, арын тулгуур, оновчлогчийн алхамууд) CUDA цөмүүдээр дамжин хийгддэг гэсэн үг юм. Практикт энэ нь ихэвчлэн загвар болон тензорууд cuda , дараа нь санах ой, ашиглалт, температурыг хянах, ингэснээр дамжуулах чадвар тогтвортой хэвээр байх болно гэсэн үг юм.

Өөр зүйл суулгахаасаа өмнө NVIDIA GPU ажиллаж байгаа эсэхийг хэрхэн баталгаажуулах вэ

nvidia-smi- ээр эхэл . Энэ нь GPU-ийн нэр, драйверийн хувилбар, одоогийн санах ойн хэрэглээ болон ажиллаж байгаа процессуудыг харуулах ёстой. Хэрэв nvidia-smi ажиллахгүй бол PyTorch/TensorFlow/JAX дээр түр зогсооно уу - эхлээд драйверийн харагдах байдлыг засна уу. Энэ нь GPU сургалтын "зуух залгагдсан эсэхийг" шалгах үндсэн шугам юм.

CUDA систем болон PyTorch-той хамт багцлагдсан CUDA-ийн хооронд сонголт хийх

Нийтлэг арга бол framework-baged CUDA (олон PyTorch дугуйнуудын нэгэн адил) ашиглах явдал юм, учир нь энэ нь хөдөлгөөнт хэсгүүдийг багасгадаг - танд голчлон нийцтэй NVIDIA драйвер хэрэгтэй. Бүрэн системийн CUDA хэрэгслийн багцыг суулгах нь илүү их хяналтыг санал болгодог (захиалгат угсралт, эмхэтгэх үйлдлүүд) гэхдээ энэ нь хувилбарын тохиромжгүй байдал болон ажиллах үеийн алдааг төөрөгдүүлэх илүү олон боломжийг бий болгодог.

NVIDIA GPU-тай байсан ч сургалт яагаад удаан байж болох вэ

Ихэнхдээ GPU нь оролтын дамжуулах хоолойгоор өлсөж байдаг. Хоцрогддог өгөгдөл ачаалагчид, сургалтын шатанд CPU-ийн урьдчилан боловсруулалт их байх, багцын хэмжээ бага байх, эсвэл удаан хадгалалт зэрэг нь хүчирхэг GPU-г сул зай халаагуур шиг ажиллахад хүргэдэг. Өгөгдөл ачаалагчийн ажилчдыг нэмэгдүүлэх, зүүсэн санах ойг идэвхжүүлэх, урьдчилан татаж авах, бүртгэлийг тайрах нь загварыг буруутгахаас өмнөх нийтлэг эхний алхамууд юм.

NVIDIA GPU сургалтын үеэр "CUDA санах ойгүй болох" алдаанаас хэрхэн сэргийлэх вэ

Ихэнх засварууд нь VRAM тактикууд юм: багцын хэмжээг багасгах, холимог нарийвчлалыг идэвхжүүлэх (FP16/BF16), градиент хуримтлалыг ашиглах, дарааллын урт/тайралтын хэмжээг богиносгох, эсвэл идэвхжүүлэх шалгах цэгийг ашиглах. Мөн санах ой ашигладаг бусад GPU процессуудыг шалгана уу. Зарим туршилт, алдаа хэвийн үзэгдэл юм - VRAM төсөвлөлт нь практик GPU сургалтын гол зуршил болдог.

Сургалтын скрипт дууссаны дараа VRAM яагаад дүүрэн харагдаж байна вэ?

Фреймворкууд нь ихэвчлэн хурдны хувьд GPU санах ойг кэшлэдэг тул хуваарилагдсан санах ой буурсан ч гэсэн нөөцлөгдсөн санах ой өндөр хэвээр байж болно. Энэ нь алдагдалтай төстэй байж болох ч кэш хуваарилагч нь ихэвчлэн зохион бүтээгдсэн шиг ажилладаг. Практик зуршил бол ганц түгшүүртэй агшин зураг дээр анхаарлаа төвлөрүүлэхийн оронд цаг хугацааны явцад хэв маягийг хянаж, "хуваагдсан болон нөөцлөгдсөн"-ийг харьцуулах явдал юм.

Загвар нь CPU дээр чимээгүйхэн сургалт явуулахгүй байгааг хэрхэн баталгаажуулах вэ

Эрүүл ахуйн шалгалтыг эрт хийх: torch.cuda.is_available() True утгыг буцаана , verify next(model.parameters()).device нь cuda утгыг харуулж байгаа бөгөөд алдаагүй нэг урагш дамжуулалтыг гүйцэтгэнэ. Хэрэв гүйцэтгэл сэжигтэй удаан санагдаж байвал багцуудаа GPU руу шилжүүлж байгааг баталгаажуулна уу. Загварыг зөөж, санамсаргүйгээр өгөгдлийг орхих нь түгээмэл байдаг.

Олон GPU сургалтанд хамрагдах хамгийн энгийн зам

Өгөгдлийн Зэрэгцээ (DDP маягийн сургалт) нь ихэвчлэн хамгийн сайн эхний алхам байдаг: GPU-ууд болон синк градиентууд дээр багцуудыг хуваах. Accelerate гэх мэт хэрэгслүүд нь бүрэн дахин бичихгүйгээр олон GPU-г бага өвдөлттэй болгодог. Нэмэлт хувьсагчдыг хүлээж байгаарай - NCCL харилцаа холбоо, холболтын ялгаа (NVLink vs PCIe), өгөгдлийн саад тотгор - тиймээс нэг GPU-г тогтвортой ажиллуулсны дараа аажмаар өргөжүүлэх нь илүү сайн байх хандлагатай байдаг.

Асуудлыг эрт илрүүлэхийн тулд NVIDIA GPU сургалтын үеэр юуг хянах хэрэгтэй

GPU ашиглалт, санах ойн ашиглалт (тогтвортой эсвэл өсөлттэй), тэжээлийн хэрэглээ болон температурыг ажиглаарай - хурдыг багасгах нь хурдыг чимээгүйхэн бууруулдаг. Өгөгдлийн дамжуулах хоолойн асуудал ихэвчлэн тэндээс эхэлдэг тул CPU ашиглалтыг бас хянаж байгаарай. Хэрэв ашиглалт өндөр эсвэл бага байвал I/O эсвэл өгөгдөл ачаалагчийг сэжиглээрэй; хэрэв энэ нь өндөр боловч алхамын хугацаа удаан хэвээр байвал цөмийн профайл, нарийвчлалын горим болон алхамын хугацааны задаргаа.

Лавлагаа

  1. NVIDIA - NVIDIA nvidia-smi баримт бичиг - docs.nvidia.com

  2. NVIDIA - NVIDIA Системийн Удирдлагын Интерфэйс (NVSMI) - developer.nvidia.com

  3. NVIDIA - NVIDIA NVLink-ийн тойм - nvidia.com

  4. PyTorch - PyTorch-г эхлүүлэх (CUDA сонгогч) - pytorch.org

  5. PyTorch - PyTorch CUDA баримт бичиг - docs.pytorch.org

  6. TensorFlow - TensorFlow суулгац (pip) - tensorflow.org

  7. JAX - JAX Хурдан Эхлэл - docs.jax.dev

  8. Тэврэлтийн царай - Сургагч багшийн баримт бичиг - huggingface.co

  9. Аянга хиймэл оюун ухаан - Аянганы баримт бичиг - lightning.ai

  10. DeepSpeed ​​- ZeRO баримт бичиг - deepspeed.readthedocs.io

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

  12. PyTorch форум - PyTorch форум: CUDA дээр загварыг шалгах - discuss.pytorch.org

Албан ёсны хиймэл оюун ухааны туслах дэлгүүрээс хамгийн сүүлийн үеийн хиймэл оюун ухааныг олоорой

Бидний тухай

Блог руу буцах