نيورل نيٽورڪ YaLM 100B عملي طور تي.

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

جون جي آخر ۾، Yandex
100 بلين پيرا ميٽرز سان گڏ هڪ نيورل نيٽورڪ جاري ڪيو جنهن کي YaLM 100B سڏيو ويندو آهي عوام لاءِ . اهو عوامي ڊومين ۾ سڀ کان وڏو GPT جهڙو نيرل نيٽورڪ آهي. اهو ٻڌائي ٿو ته انهن ڪيئن سيکاريو، بهترين مثال ڏيکاريا ۽ نيورون ڪهڙي قابل آهي. پر ڇا اهو عمل ۾ ايترو سٺو آهي ۽ گهر تي لاڳو آهي؟ مضمون هن جي باري ۾ خاموش آهي، ان کان علاوه، ان کي هلائڻ ۽ چيڪ ڪرڻ ايترو آسان ناهي، ڇاڪاڻ ته تقريبا 200 Gb جي GPU رام جي ضرورت آهي. هبري تي
هي تبصرو صورتحال کي بلڪل صحيح طور تي ظاهر ڪري ٿو
.

مبينا طور تي، Yandex ۾، اهي سڀئي سمارٽ ماڻهو، ۽ انهن هڪ عام ڪيئن پوسٽ به نه ڪيو. وڏي ماڊل لاءِ ڪو به ايپ نه آهي، عام ماڻهن لاءِ (گوگل ڪولاب ۾) ڪو به تيار ٿيل اسٽريٽڊ-ڊائون وچولي يا ننڍو ماڊل ناهي. ڪو به مثال نه ڏنو ويو آهي ته ماڊل ڪيئن ٺاهجي، ٽيڪسٽ ڪيئن ٺاهي. اهو صرف آهي ته مضمون nerds لاء nuances جي هڪ جوڙو اشارو آهي ۽ بس آهي. اهو ڪافي آهي ته هڪ ويجهي نظر وٺو ته بينڪ اهو ڪيئن ڪيو اکر “سي” سان ۽ ساڳيو ڪريو. مون کي اهو تاثر مليو ته هي ماڊل صرف انهن ناڪام تجربن مان هڪ آهي جيڪو ڪچري ۾ اڇلائڻ لاءِ افسوس جوڳو هو، تنهن ڪري ان کي اوپن سورس ۾ پوسٽ ڪيو ويو ته ڏيکاريو ته Yandex ڪهڙا عظيم ماڊل ٺاهي ٿو، ۽ ان کان علاوه، اهو کليل ذريعو آهي!

انٽرنيٽ تي ڪيترا ئي سوال آهن ته ڪيئن هلائجي يالم يا آن لائن ڪوشش ڪجي، پر ان جا ڪي به جواب نه آهن. مان انهن صارفين مان هو جن انهن سوالن کان پڇيو. ۽ ان کي سمجهڻ جي باري ۾ مقرر. جيئن ته مون کي واقعي جي ضرورت هئي مالي روبوٽس لاءِ نصوص پيدا ڪرڻ لاءِ. ته جيئن اهي مالي رپورٽن جي بنياد تي نه رڳو قدرن جي اڳڪٿي ڪري سگهن، پر متن ۾ ان تي تبصرو پڻ ڪن. جوهر ۾، اهو ساڳيو ٿيندو جيڪو مالي تجزيه نگار ڪندا آهن، صرف مصنوعي ذهانت جي استعمال سان. يالم کي هلائڻ جا ٻه طريقا آهن.
ڪلائوڊ ۾ سرور ڪرائي200+ Gb GPU ريم سان يا ڪوڊ کي تبديل ڪريو ۽ ڊيپ اسپيڊ صفر آف لوڊ سان هلايو (جڏهن GPU ترتيب سان نيورل نيٽ ورڪ جي حصي کي پروسيس ڪري ٿو، ۽ باقي سي پي يو ريم يا NVMe ۾ محفوظ ٿيل آهي). پهرين هڪ تمام مهانگو آهي، اٽڪل 2500 روبل في ڪلاڪ يا 1.7 ملين في مهيني. ٻيو نامعلوم، ڇاڪاڻ ته مخزن ۾ ڪوڊ مهيا نه ڪيو ويو آهي، صرف
مخزن جي مسئلي ۾ اشارو آهي ، جيڪو ڪرڻ ڏکيو ناهي. اچو ته سادو شروع ڪريون.

YaLM 100B لانچ جون هدايتون

1. اسان 200 GB GPU رام ڪرائي تي ڏيون ٿا، مثال طور هتي .

نيورل نيٽورڪ YaLM 100B عملي طور تي.

توھان کي ضرورت آھي گھٽ ۾ گھٽ 200 GB ڪل وڊيو ميموري. 8×40 = 320 GB. صرف هي هڪ مناسب آهي. 200 کان گهٽ ناممڪن آهي، وڌيڪ ممڪن آهي. تير سي پي يو ريم ڏانهن اشارو ڪري ٿو، اسان ان کي نه ڏسندا آهيون. هوءَ ڪنهن کي به ٿي سگهي ٿي.

اسان جي باري ۾ 300 GB جي هڪ ڊسڪ اشارو آهي، ته جيئن هڪ اضافي ۽ ترجيحي هڪ تيز ڊسڪ سان، ڇاڪاڻ ته. ڏهن گيگا بائيٽ ڊيٽا ان ڏانهن منتقل ڪئي ويندي.

نيورل نيٽورڪ YaLM 100B عملي طور تي.جڏهن ذريعن ۾ ٺاهيو، چونڊيو Ubuntu ML (مشين لرننگ). اهو لازمي آهي ته جيئن وڊيو ڪارڊ ترتيب ڏنل آهن ۽ اضافي طور تي انسٽال ڪرڻ جي ضرورت ناهي.

جڏهن سرور ٺاهي رهيا آهيو، ڪوٽا سان گڏ nuances آهن، توهان محسوس ڪري سگهون ٿا ته سامان موجود نه آهي، پر حقيقت ۾ توهان کي صرف سيٽنگون ۾ ڪوٽا وڌائڻ جي ضرورت آهي. سرور چالو ٿيڻ کان پوءِ (اهو 5-10 منٽ وٺي سگھي ٿو)، سرور سان ڳنڍيو ssh ذريعي يا سڌو ويب ڪنسول ۾ سرور پيج تي ۽ ڪمانڊ تي عمل ڪريو.

nvidia-smi

نتيجو هڪ ٽيبل هجڻ گهرجي وڊيو ڪارڊ، ڊرائيور ورشن ۽ ڪدا سان. لڳ ڀڳ هن وانگر.
نيورل نيٽورڪ YaLM 100B عملي طور تي.ڊرائيور ورزن ۾ هيڊر ۽ ڪٿي. کاٻي پاسي ڊوائيس نمبر آهن، مرڪز ۾ ڊوائيس ميموري جي ماپ آهي. جيڪڏهن توهان وٽ اها معلومات نه آهي، ته پوء توهان غلط ذريعن کان سرور گڏ ڪيو آهي. Ubuntu ML (مشين لرننگ) گهربل آهي، جيئن مٿي بيان ڪيو ويو آهي.

2. YaLM سان مخزن کي ڪلون ڪريو

sudo git کلون https://github.com/yandex/YaLM-100B/ yalm
cd yalm

پنھنجي گھر جي فولڊر کي ڪلون ڪريو تنھنڪري توھان کي ڊاڪر جي ترتيب کي بعد ۾ تبديل ڪرڻ جي ضرورت نه آھي. جيڪڏهن ڪنهن ٻئي هنڌ ڪلون ٿيل آهي، ته پوءِ
هتي وڃو ۽ رستو شامل ڪريو جتي ڪلون ڪيو ويو آهي.

3. چيڪ پوسٽون ڊائون لوڊ ڪريو (بنيادي ماڊل ٽريننگ ڄاڻ)

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

اهو اٽڪل هڪ ڪلاڪ وٺندو. بيڪار وقت ضايع نه ڪرڻ لاء، اسان هڪ نئون ssh ڪنيڪشن ٺاهيندا آهيون ۽ متوازي ۾ اسان هڪ ڊاکر ڪنٽينر ٺاهڻ شروع ڪندا آهيون.

4. انسٽال ڪريو nvidiadocker 2

عام ڊاکر مناسب ناهي،
nvidia-docker2 جي ضرورت آهي .
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#setting-up-nvidia-container-toolkit

5. YaLM لاءِ ڪنٽينر ٺاهڻ

سي ڊي يالم
سودو chmod +x ./docker/*
sudo bash ./docker/build.sh

اهو پڻ هڪ ڪلاڪ بابت آهي.

لائف هيڪ. توھان ڊائون لوڊ ڪري سگھوٿا چيڪ پوسٽون، ڊاڪر انسٽال ڪريو ۽ ھڪ وڊيو ڪارڊ سان سستو سرور تي ڪنٽينر ٺاھيو. اهو وقت ۾ ساڳيو ٿيندو، تنهنڪري توهان ٿورو بچائي سگهو ٿا. هڪ سستو سرور تي اسيمبليء کان پوء، اسان ان کي ختم ڪريون ٿا، ۽ هڪ سستو سرور مان ڊسڪ استعمال ڪندي هڪ جنگي سرور ٺاهيو. پوءِ توهان اسيمبليءَ جو انتظار ڪرڻ ۽ چيڪ پوسٽن کي پمپ ڪرڻ جو وقت وڌيڪ نه ڏيندا.

6. مواد تيار ڪريو

6.1 چيڪ پوائنٽس

چيڪ پوسٽن جي ڊائون لوڊ ٿيڻ کان پوء، توهان کي انهن کي ترتيب ڏيڻ جي ضرورت آهي. اتي ٻه طريقا آهن، صحيح پيٽرول يا منتقلي چيڪ پوائنٽ. هر جڳهه اهو توقع آهي ته چيڪ پوسٽون پروجيڪٽ جي مکيه ڊاريڪٽري ۾ هونديون، ترتيب سان، جيڪو ڊائون لوڊ ڪيو ويو آهي، مٿي ڏنل ڊائون لوڊ فولڊر مان منتقل ڪيو وڃي. yalm فولڊر تي عمل ڪرڻ

mv./download/yalm100b_checkpoint ./

يا مثال فائلن ۾ فائلن جا رستا تبديل ڪريو
https://github.com/yandex/YaLM-100B/blob/c91b7d7fe8dbf39c9e307d6d324446d0df136a23/examples/generate_interactive.sh#L8-L9

6.2 وڊيو ڪارڊ

اسان چيڪ ڪريو ٿا ته وڊيو ڪارڊ صحيح طور تي مقرر ڪيا ويا آهن. جيڪڏهن توهان وٽ اٺ ويڊيو ڪارڊ آهن، پوء ڪجھ به تبديل ڪرڻ جي ضرورت ناهي. جيڪڏهن انگ مختلف آهي، ته پوءِ اسان انهن لائينن کي تبديل ڪريون ٿا
نيورل نيٽورڪ YaLM 100B عملي طور تي.ٻئي لڪير ۾، استعمال ٿيل ڊوائيسز جا نمبر (توهان انهن کي nvidia-smi ۾ ڏسي سگهو ٿا، جيڪو توهان اڳ ۾ ئي شروع ڪيو آهي). چوٿين ۾، انهن جو تعداد.

7. ڊاڪر ڪنٽينر کي هلائڻ

yalm فولڊر ۾ رهيو، حڪم تي عمل ڪريو

sudo bash ./docker/run.sh

جيڪڏهن سڀ ڪجهه ٺيڪ آهي، ته پوءِ توهان کي هڪ ڪنٽينر ڏانهن وٺي ويندو جنهن ۾ توهان کي پنهنجي گهر ڊاريڪٽري ۾ يالم فولڊر ڏانهن وڃڻو پوندو.

سي ڊي ~/yalm

8. YaLM 100B مان مثال هلايو

اسان هڪ مثال ڏيڻ لاء تيار آهيون. اهي
هتي بيان ڪيا ويا آهن .

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

صبر ڪر، باقي 10-15 منٽن تائين انتظار ڪرڻو پوندو جيستائين جي پي ٽي ماڊل ٺهي ۽ چيڪ پوسٽن مان وزن لوڊ ڪيو وڃي.
نيورل نيٽورڪ YaLM 100B عملي طور تي.

جڏهن تعمير ختم ٿي ويندي، MegatronML توهان کي متن پيدا ڪرڻ لاء هڪ حوالي سان داخل ڪرڻ لاء اشارو ڪندو. محتاط رھو جڏھن توھان ٽائپ ڪريو. ڪجهه حالتن ۾، هڪ غلطي ٿيندي آهي، پروگرام خراب ٿي ويندو آهي ۽ توهان کي ٻيهر اسيمبلي شروع ڪرڻ جي ضرورت آهي. تنهن ڪري، اهو بهتر آهي ته مثالن کي استعمال ڪرڻ لاء جيڪي فائل مان ٽيڪسٽ وٺو.

9. ڪم جا نتيجا

نيورل نيٽورڪ YaLM 100B عملي طور تي.
نيورل نيٽورڪ YaLM 100B عملي طور تي.دلچسپ لڳي ٿو. يقينا، اهي صرف سٺا مثال آهن. مون مختلف نمونن تي امتحان ورتو. جيئن توقع ڪئي ويندي، بهتر حوالي سان، وڌيڪ بامعني متن پيدا ڪيو ويندو. تجرباتي نسلن جو مڪمل سيٽ لنڪ تي ڏسي سگھجي ٿو:

قيمت لاء، ان جي قيمت 9 هزار روبل جي باري ۾ آهي مختلف ظرفيت جي سرورز کي ڪرائي تي ڏيڻ لاء تربيت ۽ تياري کان نسل تائين. هڪ خاص مايوسي اها هئي ته توهان فوري طور تي هر شي پيدا نٿا ڪري سگهو. اهو شروع ڪرڻ ۾ تمام گهڻو وقت وٺندو آهي ۽ متن جلدي پيدا نٿو ٿئي جيترو اسان چاهيون ٿا، سرور جي في ڪلاڪ جي قيمت ڏني وئي.
نيورل نيٽورڪ YaLM 100B عملي طور تي. 

200Gb GPU RAM کان سواءِ YaLM ڪيئن هلائجي؟

توهان کي ترتيب ڏيڻ ۾ ڊيپ اسپيڊ صفر آف لوڊ شامل ڪرڻ جي ضرورت آهي. انهن لاءِ جيڪي ڄاڻن ٿا ته اسان ڇا ڳالهائي رهيا آهيون، اهو ڪرڻ بلڪل آسان ٿيندو. ٻين لاء، اهو سڀ ڪجهه ننڍڙو ڪم ناهي. اهو ڄاڻڻ ضروري آهي ته آف لوڊ يا ته سي پي يو رام يا NVMe ۾ ٿي سگهي ٿو. توهان هن وقت NVMe جي باري ۾ وساري سگهو ٿا، ڇاڪاڻ ته. ڊيٽا جو هڪ تمام وڏو مقدار پروسيس ڪيو پيو وڃي ۽ ڊسڪ ان سان مقابلو نه ڪري سگهي. صفر آف لوڊ سي پي يو وڌيڪ حقيقي آهي. سچ، ان لاءِ توهان وٽ اسٽاڪ ۾ 200+ Gb CPU ريم هجڻ گهرجي، جيڪا پڻ سستي ناهي. ۽ ھڪڙو متن 20-40 منٽن لاء ٺاھيو ويندو، ڇاڪاڻ⁠تہ اھو اڃا تائين ممڪن نه آھي ته ان کي ٻن وڊيو ڪارڊ تي متوازي ڪرڻ. جئين توهان هيٺ ڏنل اسڪرين شاٽ ۾ ڏسي سگهو ٿا، صرف هڪ وڊيو ڪارڊ نسل ۾ شامل هو، ۽ پوء صرف ياداشت جي هڪ چوٿين لاء. اهو ڏسڻو آهي ته سڀ 24 GB ڇو استعمال نه ڪيا ويا آهن،
نيورل نيٽورڪ YaLM 100B عملي طور تي.خير، نتيجي ۾، مان چوندس ته اهو ممڪن آهي ته هڪ RTX 3070 TI تي به هلائڻ. پر هن ۾ ڪو خاص احساس نه آهي، ڇاڪاڻ ته. NVMe توهان کي جلدي پروسيس ڪرڻ جي اجازت نه ڏيندو 150 GB ڊيٽا جي سوپ ۾، جيڪي 96 GB جي رام جي ضميمه ۾ آهن.
نيورل نيٽورڪ YaLM 100B عملي طور تي.

اختصار ڪرڻ

يقينن، مان اڃا تائين بهترين لانچ رستا ڳولڻ جي ڪوشش ڪندس. پر هينئر تائين مان ان نتيجي تي پهتو آهيان ته YaLM 100b منهنجي ڪمن لاءِ تمام مهانگو / تمام سست آهي. ان ئي پئسي لاءِ ماڻهو گهڻو ڪجهه لکندا ۽ گهڻو بهتر. پر مان سمجهان ٿو ته اهو عارضي آهي، اسان ڏسنداسين. جيڪڏھن توھان کي شروع ڪرڻ ۾ مدد جي ضرورت آھي، يالم قائم ڪرڻ، يا توھان جي حوالي سان مثالن جا نتيجا ڏسڻ چاھيو ٿا، ميل يا ٽيليگرام ڏانھن لکو.

pskucherov
Rate author
Add a comment

  1. Olha

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

    Reply
  2. Данила

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

    Reply
  3. Дмитрий

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

    Reply