Ekainaren amaieran, Yandex
-ek YaLM 100B izeneko 100.000 milioi parametro dituen neurona sare bat kaleratu zuen jendaurrean . Domeinu publikoko GPT antzeko sare neuronal handiena da. Nola irakatsi zuten, adibiderik onenak erakutsi eta neurona zertarako gai den kontatzen du. Baina hain ona al da praktikan eta etxean aplikagarria? Artikulua isilik dago honi buruz, gainera, ez da hain erraza exekutatu eta egiaztatzea, gutxi gorabehera 200 Gb GPU RAM behar baitira. Habré-ri buruzko
iruzkin honek egoera erakusten du zehatzen
.
Ustez, Yandex-en, horrelako pertsona adimentsu guztiak, eta ez zuten nola egin normal bat ere argitaratu. Ez dago eredu handi baterako apirik, ez dago jende arruntentzako prest egindako eredu ertain edo txikirik (Google Colab-en). Ez da adibiderik ematen eredua nola konfiguratu, testua nola sortu. Besterik da artikuluak nerdentzako ñabardura pare bat adierazten dituela eta kitto. Nahikoa da “C” hizkiarekin bankuak nola egin duen gertutik ikustea eta gauza bera egitea. Eredu hau zakarrontzira botatzea pena izan zen esperimentu porrotetako bat besterik ez dela iruditu zitzaidan, beraz Open Source-n argitaratu zen Yandex-ek zein eredu bikainak sortzen dituen erakusteko, eta gainera, kode irekia da!
Interneten galdera asko daude yalm exekutatu edo sarean probatu ere, baina ez dago erantzunik. Galdera hauek egin zituzten erabiltzaileen artean nengoen. Eta asmatzen hasi. Finantza robotentzako testuak sortzeko modu bat behar nuenez. Baloreak ez ezik, testuan ere komentatu ditzaten, finantza-txostenetan oinarrituta. Funtsean, finantza analistek egiten dutenaren berdina izango da, adimen artifiziala erabiliz soilik. Bi modu daude yalm exekutatzeko.
Alokatu zerbitzari bat hodeian200 Gb-ko GPU RAMarekin edo kodea aldatu eta abiadura zero deskargarekin exekutatu (GPUak sekuentzialki sare neuronalaren zati bat prozesatzen duenean, eta gainerakoa CPU RAM edo NVMe-n gordetzen denean). Lehenengoa oso garestia da, 2500 errublo orduko edo 1,7 milioi hilean. Bigarren ezezaguna, zeren biltegian kodea ez da ematen,
biltegiaren gaiari buruzko iradokizunak bakarrik , eta hori ez da zaila. Has gaitezen sinplea.
- YaLM 100B abiarazteko jarraibideak
- 1. 200 GB GPU RAM alokatzen dugu, adibidez hemen .
- 2. Klonatu biltegia YaLM-rekin
- 3. Deskargatu kontrol-puntuak (ereduaren oinarrizko prestakuntza-informazioa)
- 4. Instalatu nvidia – docker2
- 5. YaLMrako edukiontzi bat eraikitzea
- 6. Edukiak prestatu
- 6.1 Kontrol-puntuak
- 6.2 Bideo-txartelak
- 7. Exekutatu docker edukiontzia
- 8. Exekutatu adibidea YaLM 100B-tik
- 9. Lanaren emaitzak
- Nola exekutatu YaLM 200 Gb GPU RAM gabe?
- Laburbilduz
YaLM 100B abiarazteko jarraibideak
1. 200 GB GPU RAM alokatzen dugu, adibidez hemen .
Gutxienez 200 GB-ko bideo-memoria behar dituzu. 8×40 = 320 GB. Hau bakarrik egokitzen da. 200 baino gutxiago ezinezkoa da, gehiago posible da. Geziak CPU RAM adierazten du, ez diogu begiratzen. Edonor izan daiteke.
300 GB inguruko diskoa adierazten dugu, beraz, ordezko eta ahal izanez gero disko azkar batekin, zeren. dozenaka gigabyte datu transferituko dira bertara eta bertatik.
Iturburuetan sortzean, hautatu Ubuntu ML (Machine Learning). Hau derrigorrezkoa da bideo-txartelak konfiguratuta egon daitezen eta ez da ezer instalatu behar.
Zerbitzari bat sortzean, kuotak dituzten ñabardurak daude, baliteke ekipamendua erabilgarri ez dagoela sentitzea, baina egia esan kuotak handitu besterik ez dituzu ezarpenetan. Zerbitzaria aktibatu ondoren (5-10 minutu behar izan ditzake), konektatu zerbitzarira ssh bidez edo zuzenean zerbitzariaren orrialdeko web kontsolan eta exekutatu komandoa.
nvidia-smi
Emaitza bideo-txartelak, gidariaren bertsioa eta cuda dituen taula bat izan behar du. Honela gutxi gorabehera.
Gidariaren bertsioaren goiburuan eta non. Ezkerreko aldean gailuaren zenbakiak daude, erdian gailuaren memoriaren tamaina. Informazio hori ez baduzu, zerbitzaria iturri oker batetik bildu duzu. Ubuntu ML (Machine Learnong) beharrezkoa da, goian azaldu bezala.
2. Klonatu biltegia YaLM-rekin
sudo git clone https://github.com/yandex/YaLM-100B/ yalm
cd yalm
Klonatu zure etxeko karpetan, gero docker konfigurazioa editatu beharrik ez izateko. Beste nonbait klonatuz gero,
joan hona eta gehitu bidea klonatu den tokira.
3. Deskargatu kontrol-puntuak (ereduaren oinarrizko prestakuntza-informazioa)
sudo chmod +x ./download/download.sh
sudo bash ./download/download.sh
Honek ordubete inguru beharko du. Denbora alferrik ez galtzeko, ssh konexio berri bat sortzen dugu eta paraleloan docker edukiontzi bat eraikitzen hasten gara.
4. Instalatu nvidia – docker 2
Docker normala ez da egokia,
nvidia-docker2 behar da .
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#setting-up-nvidia-container-toolkit
5. YaLMrako edukiontzi bat eraikitzea
cd yalm
sudo chmod +x ./docker/*
sudo bash ./docker/build.sh
Ordubete ingurukoa ere bada.
Bizitza hack. Kontrol-puntuak deskargatu, docker instalatu eta edukiontzi bat eraiki dezakezu zerbitzari merke batean bideo-txartel batekin. Denborarekin berdina izango da, apur bat aurreztu ahal izateko. Zerbitzari merke batean muntatu ondoren, ezabatzen dugu, eta borroka zerbitzari bat sortzen dugu zerbitzari merke bateko disko bat erabiliz. Orduan ez duzu gehiegi ordainduko muntaketaren zain eta kontrol-puntuak ponpatzeko denbora.
6. Edukiak prestatu
6.1 Kontrol-puntuak
Kontrol-puntuak deskargatu ondoren, konfigurazioetan sartu behar dituzu. Bi modu daude, parametroak zuzentzea edo kontrol-puntuak transferitzea. Edonon espero da kontrol-puntuak proiektuaren direktorio nagusian egongo direla, hurrenez hurren, deskargatutakoa goiko deskarga karpetatik transferitu behar da. Exekutatu yalm karpetan egotea
mv ./download/yalm100b_checkpoint ./
Edo aldatu fitxategien bideak adibideko fitxategietan
https://github.com/yandex/YaLM-100B/blob/c91b7d7fe8dbf39c9e307d6d324446d0df136a23/examples/generate_interactive.sh#L8-L9
6.2 Bideo-txartelak
Bideo-txartelak behar bezala ezarrita daudela egiaztatzen dugu. Zortzi bideo-txartel badituzu, ez da ezer aldatu behar. Zenbakia desberdina bada, lerro hauek aldatzen ditugu
Bigarren lerroan, erabilitako gailuen zenbakiak (jada martxan jarri duzun nvidia-smi-n ikus ditzakezu). Laugarrenean, haien kopurua.
7. Exekutatu docker edukiontzia
yalm karpetan egonda, exekutatu komandoa
sudo bash ./docker/run.sh
Dena ondo badago, zure etxeko direktorioko yalm karpetara joan behar duzun edukiontzi batera eramango zaitu.
cd ~/yalm
8. Exekutatu adibidea YaLM 100B-tik
Adibideetako bat martxan jartzeko prest gaude. Hemen azaltzen dira
.
chmod +x ./examples/generate_interactive.sh
./examples/generate_interactive.sh
Pazientzia izan, beste 10-15 minutu itxaron behar da GPT eredua sortu eta kontrolguneetako pisuak kargatu arte.
Eraikuntza amaitzen denean, MegatronML-k testua sortzeko testuinguru bat sartzeko eskatuko dizu. Kontuz idazten duzunean. Zenbait kasutan, errore bat gertatzen da, programa huts egiten du eta muntaia berriro hasi behar duzu. Horregatik, hobe da fitxategi batetik testua hartzen duten adibideak erabiltzea.
9. Lanaren emaitzak
Interesgarria dirudi. Jakina, hauek adibide onak besterik ez dira. Proba lagin ezberdinetan egin nuen. Espero bezala, zenbat eta testuinguru hobea izan, orduan eta testu esanguratsuagoa sortuko da. Belaunaldi esperimentalen multzo osoa esteketan ikus daiteke:
Prezioari dagokionez, 9 mila errublo inguru kostatu zitzaizkidan gaitasun desberdinetako zerbitzariak alokatzea prestakuntzatik eta prestatzetik belaunaldira arte. Etsipen berezia izan zen ezin duzula dena berehala sortu. Oso denbora luzea behar da hasteko eta testua ez da nahi bezain azkar sortzen, zerbitzariak orduko kostua kontuan hartuta.
Nola exekutatu YaLM 200 Gb GPU RAM gabe?
Deepspeed zero offload gehitu behar duzu konfigurazioari. Zertaz ari garen dakitenentzat oso erraza izango da egitea. Beste batzuentzat, hau ez da batere lan hutsala. Garrantzitsua da jakitea deskarga CPU RAM edo NVMe-n izan daitekeela. Momentu honetan NVMe buruz ahaztu dezakezu, zeren. oso datu kopuru handia prozesatzen ari da eta diskoak ezin dio aurre egin. Zero deskargako CPU errealagoa da. Egia da, horretarako 200 Gb + CPU RAM eduki behar dituzu stockean, eta hori ere ez da merkea. Eta testu bat sortuko da 20-40 bat minutuz, oraindik ezin izan baita paralelizatu bi bideo-txarteletan. Beheko pantaila-argazkian ikus dezakezun bezala, bideo-txartel bakarrak parte hartu zuen belaunaldian, eta gero memoriaren laurdenerako bakarrik. Ikusteko dago zergatik ez diren erabiltzen 24 GB guztiak,
Beno, bukatzeko, RTX 3070 TI batean ere exekutatu daitekeela esango dut. Baina honek ez du zentzu berezirik, zeren. NVMe-k ez dizu aukera emango trukean 150 GB datuak azkar prozesatu, 96 GB RAMaren eranskinean daudenak.
Laburbilduz
Jakina, oraindik saiatuko naiz abiarazte bide egokienak aurkitzen. Baina orain arte YaLM 100b garestiegia / motelegia dela ondorioztatu dut nire zereginetarako. Diru berarekin, jendeak askoz gehiago eta askoz hobeto idatziko du. Baina uste dut behin-behinekoa dela, ikusiko dugu. yalm abiarazteko, konfiguratzeko laguntza behar baduzu edo zure testuinguruko adibideen emaitzak ikusi nahi badituzu, idatzi posta edo telegramara.
Статья на Мега актуальную тему! Спасибо.
Крутая статья! Спасибо автору!
СПАСИБО !!!
три дня эту информацию искал
нет подобного о RuGPT3 и Порфириче?