Niwuroonii Neetwork YaLM 100B qabatamaan.

Программирование

Dhuma baatii Juun keessa, Yandex
niwuroo neetworkii paaraameetota biiliyoona 100 qabu YaLM 100B jedhamu ummataaf gadhiise . Innis niwuroonii GPT fakkaatu guddaa kan ummataa keessatti argamudha. Akkaataa itti barsiisan, fakkeenya gaarii agarsiisan fi niwurooniin maal akka danda’u ni hima. Garuu qabatamaan akkas gaarii fi mana keessatti hojiirra ooluu danda’aa? Barreeffamni waa’ee kanaa callisee jira, kana malees, tilmaamaan GPU RAM 200 Gb waan barbaachisuuf, fiiguu fi ilaaluun akkas salphaa miti. Yaadni Habré irratti
kenname kun haala jiru hunda caalaa sirritti mul’isa
.

Akka jedhametti, Yandex keessatti, namoonni qaroo akkasii hundi, akkasumas How-to idilee illee hin maxxansine. Moodeela guddaadhaaf api hin jiru, namoota idileedhaaf (Google Colab keessatti) moodeela giddu galeessaa ykn xiqqaa qophaa’ee kan stripped-down hin jiru. Akkaataa moodeela qindeessuu, akkaataa barruu uumuu irratti fakkeenyi hin kennamne. Barreeffamni sun nerds’f nuances tokko lama agarsiisa qofa waan ta’eef kana qofa. Baankichi qubee “C” jedhuun akkamitti akka hojjete sirriitti ilaaluun akkasuma gochuun gahaadha. Moodeelli kun yaalii fashalaa’e keessaa tokko qofa akka ta’e yaada argadhe kan kosii keessa darbachuun nama gaddisiisa, kanaaf Open Source irratti maxxanfamee moodeelota gurguddoo Yandex maal akka uumu agarsiisuuf, kana malees, madda banaadha!

Intarneetii irratti gaaffiin baay’een akkamitti yalm akka fiigu ykn illee toora interneetii irratti yaaltu jira, garuu kanaaf deebii hin jiru. Fayyadamtoota gaaffilee kana gaafatan keessaa tokkon ture. Akkasumas adda baasuuf ka’i. Erga baay’ee karaa barreeffamoota roobootii faayinaansii maddisiisuu danda’u na barbaachise. Akka isaan gatiiwwan qofa osoo hin taane, barreeffamaan yaada irratti yaada kennuu danda’aniif, gabaasa faayinaansii irratti hundaa’uun. Hundee isaatiin, akkuma xiinxaltoonni faayinaansii hojjetan ta’a, fayyadama sammuu namtolchee qofaan. Yalm fiiguuf karaa lamatu jira.
Duumeessa keessaa sarvarii kireeffadhu200+ Gb GPU RAM waliin ykn koodii fooyyessuu fi deepspeed zero offload waliin hojjechuu (yeroo GPUn tartiiba kutaa neural network adeemsisu, kan hafe ammoo CPU RAM ykn NVMe keessatti kuufamu). Inni jalqabaa baayyee qaala’aa dha, sa’aatii tokkotti gara ruubilii 2500 ykn ji’atti miliyoona 1.7. Inni lammaffaan hin beekamne, sababni isaas koodii kuusaa keessa jiru hin kennamne,
dhimma kuusaa keessatti akeekkachiisa qofa , kunis gochuun rakkisaa miti. Mee salphaa haa jalqabnu.

Qajeelfama Eebba YaLM 100B

1. GPU RAM 200 GB kireeffanna, fakkeenyaaf asitti .

Niwuroonii Neetwork YaLM 100B qabatamaan.

Yoo xiqqaate yaadannoo viidiyoo waliigalaa 200 GB si barbaachisa. 8×40 = 320 GB ta’a. Isa kana qofatu wal simata. 200 gadi ta’uun hin danda’amu, caaluun ni danda’ama. Xiyyaan RAM CPU agarsiisa, hin ilaallu. Isheen eenyuuyyuu ta’uu dandeessi.

Diskii gara 300 GB agarsiifna, kanaaf spare fi filatamaan diskiin saffisaa ta’e waliin, sababni isaas. daataa giigaabaayitii kudhaniin lakkaa’aman gara isaa fi irraa ni dabarfama.

Niwuroonii Neetwork YaLM 100B qabatamaan.Yeroo maddoota keessatti uumtu, Ubuntu ML (Machine Learning) fili. Kunis dirqama waan ta’eef kaartoonni viidiyoo akka qindaa’anii fi wanti dabalataan fe’amuu hin barbaachifneef.

Yeroo sarvarii uumtu, kootaa wajjin nuances ni jiru, meeshaan akka hin jirre miira argachuu dandeessa, garuu dhugaa dubbachuuf kootaa qindaa’inoota keessatti dabaluu qofa si barbaachisa. Erga sarvarichi hojiirra oole booda (daqiiqaa 5-10 fudhachuu danda’a), karaa ssh ykn kallattiin konsolii weeb fuula sarvarii irratti sarvarii waliin wal qunnamsiisuun ajaja raawwadhu.

nvidia-smi jedhamuun beekama

Bu’aan isaas gabatee kaardii viidiyoo, version driver fi cuda qabu ta’uu qaba. Tilmaamaan akka kanaatti.
Niwuroonii Neetwork YaLM 100B qabatamaan.Mataduree version driver keessatti fi eessatti. Gama bitaa irratti lakkoofsota meeshaa, giddugaleessa irratti guddina yaadannoo meeshaa jira. Yoo odeeffannoo kana hin qabne ta’e, sana booda sarvarii madda dogoggoraa irraa walitti qabdu jechuudha. Ubuntu ML (Machine Learnong) barbaachisa, akkuma armaan olitti ibsame.

2. Kuusaa YaLM waliin kloonii godhi

sudo git clone https://github.com/yandex/YaLM-100B/ Afaan Oromoo fi Jechoota
Dinqisiiso Afaan Oromoo

Gara galmee mana keetii kloonii godhi akka booda qindeessaa docker gulaaluu hin qabneef. Yoo bakka biraatti cloned ta’e, sana booda
as dhaqiitii bakka cloned ta’etti karaa itti dabali.

3. Buufataalee sakatta’iinsaa (odeeffannoo leenjii moodeela bu’uuraa) buufachuu .

sudo chmod +x ./buufachuu/buusuu.sh
sudo bash ./buufachuu/buusuu.sh

Kunis gara sa’aatii tokkoo fudhata. Yeroo akkasumaan akka hin qisaaseessineef, walqabsiisa ssh haaraa uumnee walfaana qabduu docker ijaaruu jalqabna.

4. nvidiadocker jedhamu fe’uu 2

Docker idilee hin mijatu,
nvidia-docker2 barbaachisa .
https://docs.nvidia.com/datacenter/duumessaa-dhalootaa/meeshaalee-qajeelfama/qajeelfama-fe’uu.html#meeshaalee-qabduu-nvidia-qopheessuu

5. YaLM’f qabduu ijaaruu

cd yalm
sudo chmod +x ./docker/*
sudo bash ./dooker/ijaarsa.sh

Akkasumas gara sa’aatii tokkootti.

Jireenya hack. Checkpoints buufachuu, docker install gochuu fi konteenara server gatii salphaa irratti video card tokkoon ijaaruu dandeessu. Yeroo boodas akkasuma ta’a, kanaaf xiqqoo qusachuu dandeessa. Erga sarvarii gatii salphaa irratti walitti qabnee booda, haqna, akkasumas sarvarii gatii salphaa irraa diskiin fayyadamuun sarvarii lolaa uumna. Sana booda yeroo yaa’ii eeguu fi buufataalee sakatta’iinsaa paampii baasuuf garmalee hin kaffaltu.

6. Qabiyyee qopheessuu

6.1 Buufataalee sakatta’iinsaa

Erga checkpoints buufachuun xumuramee booda gara configs tti siqsuu qabda. Karaan lama jira, parameetaroota sirrii ykn qabxiiwwan sakatta’iinsaa dabarsuu. Bakka hundatti qabxiileen sakatta’iinsaa galmee guddaa pirojektichaa keessa akka ta’an eegama, akkaataa wal duraa duubaan, wanti buufame galmee buufachuu armaan olii irraa dabarfamuu qaba. Galmee yalm keessa jiraachuun raawwadhu

mv ./download/yalm100b_qabxii_sakatta’iinsaa ./ .

Yookiin daandii faayilii faayilii fakkeenyaa keessa jiran jijjiiri
https://github.com/yandex/YaLM-100B/blob/c91b7d7fe8dbf39c9e307d6d324446d0df136a23/examples/generate_interactive.sh#L8-L9

6.2 Kaardii viidiyoo

Kaartoonni viidiyoo sirritti akka kaa’aman ni ilaalla. Yoo kaardii viidiyoo saddeet qabaatte, sana booda wanti jijjiiramuu hin qabu. Yoo lakkoofsi adda ta’e, sana booda sararoota kana jijjiirra Sarara
Niwuroonii Neetwork YaLM 100B qabatamaan.lammaffaa keessatti, lakkoofsota meeshaalee fayyadaman (nvidia-smi keessatti ilaaluu dandeessu, kan duraan jalqabdan). Arfaffaa keessatti baay’inni isaanii.

7. Qabduu docker hojjedhu

Galfata yalm keessa jiraachuudhaan, ajaja raawwadhu

sudo bash ./docker/fiigicha.sh

Yoo wanti hundi gaarii ta’e, sana booda gara qabduu galmee yalm galmee mana kee keessa jirutti deemuu qabdutti ni geeffamta.

cd ~/yalm jedhamtu

8. Fakkeenya YaLM 100B irraa hojjedhu

Fakkeenya keessaa tokko eegaluuf qophii xumurree jirra. Isaanis
asitti ibsamaniiru .

chmod +x ./fakkeenyota/wal-qunnamtii_uumu.sh
./fakkeenyota/wal-qunnamtii_uumu.sh

Obsaa, hanga moodeelli GPT uumamee fi ulfaatinni buufataalee sakatta’iinsaa irraa fe’amutti daqiiqaa 10-15 dabalataa eeguun hafa.
Niwuroonii Neetwork YaLM 100B qabatamaan.

Yeroo ijaarsi xumuramu, MegatronML barruu uumuuf yaadannoo akka galchitu si gaafatee jira. Yeroo barreessitu of eeggadhu. Haala murtaa’e keessatti dogongorri ni uuma, sagantichi ni kufa akkasumas walgahii irra deebitee jalqabuu qabda. Kanaafuu, fakkeenyota barruu faayilii irraa fudhatan fayyadamuun gaariidha.

9. Bu’aa hojii

Niwuroonii Neetwork YaLM 100B qabatamaan.
Niwuroonii Neetwork YaLM 100B qabatamaan.Kan nama hawwatu fakkaata. Kun fakkeenya gaarii qofa akka taʼan beekamaadha. Qormaata kana saamuda adda addaa irratti fiigeen ture. Akkuma eegametti ta’ee, haalli dubbii fooyya’aa ta’een barreeffamni hiika qabu ni uumama. Tuuta dhaloota yaalii guutuu hidhannoowwan irraa ilaaluun ni danda’ama:

Gatii isaaf, leenjii irraa kaasee hanga dhalootaatti sarvaroota dandeettii adda addaa qaban kireeffachuuf gara Ruubilii kuma 9 naaf baase. Mufannaa adda ta’e tokko battalumatti waan hunda maddisiisuu hin dandeessu ture. Jalqabuuf yeroo baayyee dheeraa kan fudhatuu fi barreeffamni akka nuti barbaannutti saffisaan hin maddisiisu, baasii sarvarii sa’aatii tokkoof bahu yoo ilaalle.
Niwuroonii Neetwork YaLM 100B qabatamaan. 

YaLM GPU RAM 200Gb malee akkamitti hojjechuu dandeenya?

Deepspeed zeeroo offload qindeessaa irratti dabaluu qabda. Warra waan nuti dubbannu beekaniif baay’ee salphaa ta’a. Kaaniif ammoo kun tasumaa hojii salphaa miti. Offload CPU RAM ykn NVMe keessatti ta’uu akka danda’u beekuun barbaachisaadha. Yeroo ammaa kana waa’ee NVMe dagachuu dandeessu, sababiin isaas. daataa baayyee guddaa ta’e adeemsifamaa waan jiruuf diskiin dandamachuu hin danda’u. Zero offload CPU caalaatti dhugaadha. Dhugaadha, kanaaf CPU RAM 200+ Gb stock keessa qabaachuu qabdu, kunis gatii salphaa miti. Akkasumas barreeffama tokko gara daqiiqaa 20-40f ni uuma, sababiin isaas hanga ammaatti kaardii viidiyoo lama irratti walsimsiisuun waan hin danda’amneef. Akkuma suuraa armaan gadii irratti argitan dhaloota kana keessatti video card tokko qofatu hirmaate, sana booda memory keessaa afurtama qofaaf ture. GB 24 hundi maaliif akka hin fayyadamne ilaaluun hafeera,
Niwuroonii Neetwork YaLM 100B qabatamaan.Hayyee, xumura irratti, RTX 3070 TI tokko irratti illee fiiguu ni danda’ama jedheen dubbadha. Garuu kana keessatti miira addaa hin jiru, sababiin isaas. NVMe jijjiirraa keessatti daataa 150 GB dafanii akka adeemsiftan isin hin hayyamu, kunis appendage RAM 96 GB keessa jira.
Niwuroonii Neetwork YaLM 100B qabatamaan.

Guunfaadhaan

Dhugaadha, ammallee daandii furguggifamuu isa gaarii ta’e argachuuf nan yaala. Garuu hanga ammaatti YaLM 100b hojii kootiif baayyee qaala’aa / baayyee suuta jedhee yaada irra ga’eera. Maallaqa walfakkaatuun namoonni baayyee caalaa fi baayyee fooyya’aa ta’ee barreessu. Garuu yeroof waan ta’e natti fakkaata, ni ilaalla. Yoo gargaarsa eegaluu, yalm qindeessuu barbaadde, ykn bu’aa fakkeenyota haalata kee irratti arguu barbaadde, gara poostaa ykn telegiraamiitti barreessi.

pskucherov
Rate author
Add a comment

  1. Olha

    Статья на Мега актуальную тему! Спасибо.

    Reply
  2. Данила

    Крутая статья! Спасибо автору!

    Reply
  3. Дмитрий

    СПАСИБО !!!
    три дня эту информацию искал
    нет подобного о RuGPT3 и Порфириче?

    Reply