Taugakerfi YaLM 100B í reynd.

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

Í lok júní gaf Yandex
út taugakerfi með 100 milljörðum breytum sem kallast YaLM 100B til almennings . Það er stærsta GPT-líka tauganetið á almenningi. Þar er sagt frá því hvernig þeir kenndu, sýndu bestu dæmin og hvers taugafruman er megnug. En er það svo gott í reynd og á við heima? Greinin er þögul um þetta, þar að auki er það ekki svo auðvelt að keyra og athuga það, þar sem um það bil 200 Gb af GPU vinnsluminni er krafist. Þessi athugasemd um Habré
afhjúpar ástandið best
.

Að sögn, í Yandex, allt slíkt klárt fólk, og þeir birtu ekki einu sinni venjulegan How-to. Það er ekkert forritaskil fyrir stórt líkan, það er ekkert tilbúið afstrílað miðlungs eða lítið líkan fyrir venjulegt fólk (í Google Colab). Ekkert dæmi er gefið um hvernig eigi að setja upp líkanið, hvernig eigi að búa til texta. Það er bara að greinin gefur til kynna nokkra blæbrigði fyrir nörda og það er allt. Það er nóg að skoða nánar hvernig bankinn gerði það með bókstafnum “C” og gera slíkt hið sama. Ég fékk á tilfinninguna að þetta líkan væri bara ein af misheppnuðu tilraununum sem var leitt að henda í ruslið, svo það var sett í Open Source til að sýna hvaða frábærar fyrirmyndir Yandex býr til, og þar að auki er það opinn uppspretta!

Það eru margar spurningar á netinu hvernig á að keyra Yalm eða jafnvel reyna á netinu, en það eru engin svör við þessu. Ég var meðal notenda sem spurðu þessara spurninga. Og fór að finna út úr því. Þar sem ég þurfti virkilega leið til að búa til texta fyrir fjármálavélmenni. Svo að þeir geti ekki aðeins spáð fyrir um gildin, heldur einnig tjáð sig um það í texta, byggt á fjárhagsskýrslum. Í meginatriðum mun það vera það sama og fjármálasérfræðingar gera, aðeins með notkun gervigreindar. Það eru tvær leiðir til að keyra Yalm.
Leigðu netþjón í skýinumeð 200+ Gb GPU vinnsluminni eða breyttu kóðanum og keyrðu með djúphraða núllafhleðslu (þegar GPU vinnur í röð hluta af tauganetinu og restin er geymd í CPU vinnsluminni eða NVMe). Sá fyrsti er mjög dýr, um 2500 rúblur á klukkustund eða 1,7 milljónir á mánuði. Annað óþekkt, vegna þess Kóðinn í geymslunni er ekki til staðar, aðeins
vísbendingar um útgáfu geymslunnar, sem er ekki erfitt að gera. Byrjum einfalt.

YaLM 100B ræsingarleiðbeiningar

1. Við leigjum 200 GB GPU vinnsluminni, til dæmis hér .

Taugakerfi YaLM 100B í reynd.

Þú þarft að minnsta kosti 200 GB af heildar myndminni. 8×40 = 320 GB. Aðeins þessi passar. Færri en 200 er ómögulegt, meira er mögulegt. Örin gefur til kynna CPU vinnsluminni, við skoðum það ekki. Hún getur verið hver sem er.

Við tilgreinum disk um 300 GB, þannig að með vara og helst fljótur diskur, vegna þess. tugir gígabæta af gögnum verða fluttir til og frá henni.

Taugakerfi YaLM 100B í reynd.Þegar þú býrð til í heimildum skaltu velja Ubuntu ML (Machine Learning). Þetta er skylda svo að skjákortin séu stillt og ekkert þarf að setja upp til viðbótar.

Þegar þú býrð til netþjón eru blæbrigði með kvóta, þú gætir fengið á tilfinninguna að búnaðurinn sé ekki til staðar, en í rauninni þarftu bara að auka kvóta í stillingunum. Eftir að þjónninn hefur verið virkjaður (það getur tekið 5-10 mínútur), tengdu við þjóninn í gegnum ssh eða beint í vefborðinu á miðlarasíðunni og framkvæmdu skipunina.

nvidia-smi

Útkoman ætti að vera borð með skjákortum, ökumannsútgáfu og cuda. Um það bil svona.
Taugakerfi YaLM 100B í reynd.Í haus ökumannsútgáfu og hvar. Vinstra megin eru tækisnúmerin, í miðjunni er stærð tækisminnisins. Ef þú hefur ekki þessar upplýsingar, þá hefur þú safnað þjóninum frá röngum uppruna. Ubuntu ML (Machine Learnong) er krafist, eins og lýst er hér að ofan.

2. Klónaðu geymsluna með YaLM

sudo git klón https://github.com/yandex/YaLM-100B/ yalm
cd yalm

Klónaðu í heimamöppuna þína svo þú þurfir ekki að breyta docker stillingunum eftir á. Ef það er klónað einhvers staðar annars staðar,
farðu þá hingað og bættu slóðinni við þar sem klónað er.

3. Hlaða niður eftirlitsstöðvum (grunnþjálfunarupplýsingar fyrir líkan)

sudo chmod +x ./download/download.sh
sudo bash ./download/download.sh

Þetta mun taka um klukkutíma. Til þess að eyða ekki tíma til einskis búum við til nýja ssh tengingu og samhliða byrjum við að smíða docker gám.

4. Settu upp nvidiadocker 2

Venjulegur docker hentar ekki,
nvidia-docker2 er þörf .
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#setting-up-nvidia-container-toolkit

5. Byggja gám fyrir YaLM

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

Það er líka um klukkutími.

Life hack. Þú getur hlaðið niður eftirlitsstöðvum, sett upp docker og smíðað gám á ódýrum netþjóni með einu skjákorti. Það verður eins með tímanum, svo þú getur sparað smá. Eftir samsetningu á ódýran netþjón eyðum við honum og búum til bardagaþjón með því að nota disk frá ódýrum netþjóni. Þá borgarðu ekki of mikið fyrir að bíða eftir þinginu og dæla út eftirlitsstöðvum.

6. Undirbúa efni

6.1 Gæslustöðvar

Eftir að niðurhali eftirlitsstöðva er lokið þarftu að renna þeim inn í stillingarnar. Það eru tvær leiðir, réttar breytur eða flutningseftirlit. Alls staðar er gert ráð fyrir að eftirlitsstöðvarnar verði í aðalskrá verkefnisins, hver um sig, það sem hefur verið hlaðið niður þarf að flytja úr niðurhalsmöppunni hér að ofan. Að vera í yalm möppunni keyra

mv ./download/yalm100b_checkpoint ./

Eða breyttu slóðum að skrám í dæmi skrám
https://github.com/yandex/YaLM-100B/blob/c91b7d7fe8dbf39c9e307d6d324446d0df136a23/examples/generate_interactive.sh#L8-L9

6.2 Skjákort

Við athugum hvort skjákortin séu rétt stillt. Ef þú ert með átta skjákort, þá þarf engu að breyta. Ef númerið er annað, þá breytum við þessum línum
Taugakerfi YaLM 100B í reynd.Í annarri línu, númer tækjanna sem notuð eru (þú getur skoðað þau í nvidia-smi, sem þú hefur þegar sett í gang). Í því fjórða, fjöldi þeirra.

7. Keyrðu docker gáminn

Til að vera í yalm möppunni skaltu framkvæma skipunina

sudo bash ./docker/run.sh

Ef allt er í lagi, þá verður þú færð í gám þar sem þú þarft að fara í yalm möppuna í heimaskránni þinni.

geisladisk ~/yalm

8. Keyrðu dæmið frá YaLM 100B

Við erum tilbúin að setja eitt af dæmunum af stað. Þeim er lýst
hér .

chmod +x ./examples/generate_interactive.sh
./examples/generate_interactive.sh

Vertu þolinmóður, það á eftir að bíða í 10-15 mínútur í viðbót þar til GPT líkanið er búið til og lóðin frá eftirlitsstöðvunum eru hlaðin.
Taugakerfi YaLM 100B í reynd.

Þegar smíði lýkur mun MegatronML biðja þig um að slá inn samhengi til að búa til texta. Vertu varkár þegar þú skrifar. Undir vissum kringumstæðum kemur upp villa, forritið hrynur og þú þarft að hefja samsetninguna aftur. Þess vegna er betra að nota dæmi sem taka texta úr skrá.

9. Árangur vinnunnar

Taugakerfi YaLM 100B í reynd.
Taugakerfi YaLM 100B í reynd.Lítur áhugavert út. Þetta eru auðvitað bara góð dæmi. Ég keyrði prófið á mismunandi sýnum. Eins og við var að búast, því betra samhengi, því meira merkingarbær texti verður til. Hægt er að skoða heildarhópinn af tilraunakynslóðum á krækjunum:

Fyrir verðið kostaði það mig um 9 þúsund rúblur að leigja netþjóna með mismunandi getu frá þjálfun og frá undirbúningi til kynslóðar. Sérstök vonbrigði voru að þú getur ekki búið til allt samstundis. Það tekur mjög langan tíma að byrja og textinn myndast ekki eins hratt og við viljum, miðað við kostnað netþjónsins á klukkustund.
Taugakerfi YaLM 100B í reynd. 

Hvernig á að keyra YaLM án 200Gb GPU vinnsluminni?

Þú þarft að bæta deepspeed zero offload við stillinguna. Fyrir þá sem vita hvað við erum að tala um verður mjög auðvelt að gera það. Fyrir aðra er þetta alls ekki léttvægt verkefni. Það er mikilvægt að vita að afhleðsla getur verið annað hvort í CPU vinnsluminni eða NVMe. Þú getur gleymt NVMe í augnablikinu, vegna þess að. verið er að vinna mjög mikið magn af gögnum og diskurinn ræður ekki við það. Zero offload CPU er raunverulegri. Satt, til þess þarftu að hafa 200+ Gb CPU vinnsluminni á lager, sem er heldur ekki ódýrt. Og einn texti verður búinn til í um 20-40 mínútur, þar sem ekki hefur enn verið hægt að samsíða hann á tveimur skjákortum. Eins og sjá má á skjáskotinu hér að neðan var aðeins eitt skjákort með í kynslóðinni og þá aðeins fjórðungur minnsins. Það á eftir að koma í ljós hvers vegna öll 24 GB eru ekki notuð,
Taugakerfi YaLM 100B í reynd.Jæja, að lokum mun ég segja að það er hægt að keyra jafnvel á einum RTX 3070 TI. En það er ekkert sérstakt vit í þessu, vegna þess. NVMe mun ekki leyfa þér að vinna fljótt úr 150 GB af gögnum í skiptum, sem eru í viðauka 96 GB af vinnsluminni.
Taugakerfi YaLM 100B í reynd.

Leggja saman

Auðvitað mun ég samt reyna að finna bestu sjósetningarleiðina. En hingað til hef ég komist að þeirri niðurstöðu að YaLM 100b sé of dýrt / of hægt fyrir mín verkefni. Fyrir sama pening mun fólk skrifa miklu meira og miklu betur. En ég held að það sé tímabundið, við sjáum til. Ef þú þarft hjálp við að ræsa, setja upp Yalm eða vilt sjá niðurstöðurnar á samhengisdæmunum þínum skaltu skrifa í póstinn eða símskeyti.

pskucherov
Rate author
Add a comment

  1. Olha

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

    Reply
  2. Данила

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

    Reply
  3. Дмитрий

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

    Reply