व्यवहारे तंत्रिकाजालम् YaLM 100B।

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

जूनमासस्य अन्ते Yandex
इत्यनेन YaLM 100B इति नामकं 100 अरबं मापदण्डैः सह एकं तंत्रिकाजालं जनसामान्यं प्रति प्रकाशितम् . सार्वजनिकक्षेत्रे एतत् बृहत्तमं जीपीटी-सदृशं तंत्रिकाजालम् अस्ति । ते कथं पाठितवन्तः, उत्तम-उदाहरणानि दर्शितवन्तः, न्यूरॉन् किं कर्तुं समर्थः इति विषये कथयति । परन्तु किं व्यवहारे एतावत् उत्तमं गृहे च प्रयोज्यम् ? लेखः एतस्य विषये मौनम् अस्ति, अपि च, एतत् चालयितुं परीक्षितुं च एतावत् सुलभं नास्ति, यतः प्रायः 200 Gb GPU RAM आवश्यकम् अस्ति । हाब्रे इत्यस्य विषये
एषा टिप्पणी स्थितिं सर्वाधिकं समीचीनतया प्रकाशयति
|

कथितं यत्, Yandex मध्ये, एतादृशाः सर्वे स्मार्टाः जनाः, ते च सामान्यं How-to अपि न पोस्ट कृतवन्तः। विशालस्य मॉडलस्य कृते api नास्ति, सामान्यजनानाम् कृते (Google Colab इत्यत्र) सज्जं stripped-down मध्यमं वा लघु मॉडलं वा नास्ति। मॉडल् कथं स्थापयितव्यम्, पाठः कथं जनयितव्यः इति विषये कोऽपि उदाहरणं न दत्तम् । इदं केवलं लेखः nerds कृते द्वे द्वे सूक्ष्मतायां सूचयति तत् एव। “C” अक्षरेण बैंकेन कथं कृतम् इति समीपतः अवलोक्य तथैव कर्तुं पर्याप्तम्। मम धारणा अभवत् यत् एतत् मॉडलं केवलं असफलप्रयोगेषु अन्यतमम् अस्ति यत् कचरे क्षिप्तुं दुःखदम् आसीत्, अतः एतत् Open Source इत्यत्र प्रकाशितम् यत् दर्शयितुं यत् Yandex किं किं महान् मॉडल् निर्माति, अपि च, इदं open source अस्ति!

अन्तर्जालस्य उपरि yalm कथं चालनीयम् अथवा ऑनलाइन अपि प्रयत्नः करणीयः इति बहु प्रश्नाः सन्ति, परन्तु एतस्य उत्तराणि नास्ति। एतान् प्रश्नान् पृष्टवन्तः उपयोक्तृषु अहम् अपि आसम्। तथा तस्य चिन्तनं कर्तुं प्रवृत्तः। यतः मम वास्तविकरूपेण वित्तीयरोबोट्-कृते पाठाः जनयितुं एकः उपायः आवश्यकः आसीत् । यथा ते न केवलं मूल्यानां पूर्वानुमानं कर्तुं शक्नुवन्ति, अपितु तस्य विषये पाठे टिप्पणीं कर्तुं शक्नुवन्ति, वित्तीयप्रतिवेदनानां आधारेण। सारतः वित्तीयविश्लेषकाः यत् कुर्वन्ति तथा एव भविष्यति, केवलं कृत्रिमबुद्धिप्रयोगेन । यल्मं चालयितुं द्वौ उपायौ स्तः।
मेघे एकं सर्वरं किरायेण गृह्यताम्200+ Gb GPU RAM इत्यनेन सह अथवा कोडं परिवर्त्य deepspeed zero offload इत्यनेन सह चालयन्तु (यदा GPU क्रमेण तंत्रिकाजालस्य भागं संसाधयति, शेषं च CPU RAM अथवा NVMe इत्यत्र संगृहीतं भवति)। प्रथमं अतीव महत्, प्रायः २५०० रूबल प्रतिघण्टा अथवा १७ लक्षं प्रतिमासं । अविज्ञातद्वितीयं यतः भण्डारे कोडः न प्रदत्तः, केवलं
भण्डारस्य मुद्दे संकेतं ददाति , यत् कर्तुं न कठिनम् । सरलम् आरभ्यताम्।

YaLM 100B लॉन्च निर्देश

1. वयं 200 GB GPU RAM भाडेन दद्मः, उदाहरणार्थम् अत्र .

व्यवहारे तंत्रिकाजालम् YaLM 100B।

भवद्भ्यः न्यूनातिन्यूनं २०० GB कुल-वीडियो-स्मृतिः आवश्यकी अस्ति । 8×40 = 320 जीबी। केवलं एषः एव उपयुक्तः भवति। २०० तः न्यूनम् असम्भवम्, अधिकं सम्भवम्। बाणः CPU RAM इति सूचयति, वयं तत् न पश्यामः । सा कोऽपि भवितुम् अर्हति।

वयं प्रायः 300 GB इत्यस्य डिस्कं सूचयामः, येन स्पेयर इत्यनेन सह तथा च प्राधान्येन द्रुतडिस्केन सह, यतः। दशशः गीगाबाइट् दत्तांशः तस्मात् स्थानान्तरितः भविष्यति ।

व्यवहारे तंत्रिकाजालम् YaLM 100B।स्रोतेषु निर्माणं कुर्वन् उबण्टु ML (Machine Learning) इति चिनोतु । एतत् अनिवार्यं यत् विडियो कार्ड् विन्यस्तं भवति तथा च अतिरिक्तं किमपि संस्थापनस्य आवश्यकता नास्ति।

सर्वरं निर्माय, कोटाभिः सह सूक्ष्मताः सन्ति, भवन्तः एतादृशी भावनां प्राप्नुवन्ति यत् उपकरणं उपलब्धं नास्ति, परन्तु वस्तुतः भवन्तः केवलं सेटिंग्स् मध्ये कोटां वर्धयितुं शक्नुवन्ति सर्वरस्य सक्रियीकरणानन्तरं (५-१० मिनिट् यावत् समयः भवितुं शक्नोति), ssh मार्गेण अथवा सर्वरपृष्ठे प्रत्यक्षतया जालकन्सोल् मध्ये सर्वरेण सह संयोज्य आदेशं निष्पादयन्तु ।

न्विडिया-स्मि

परिणामः विडियो कार्ड्, चालकसंस्करणं, cuda च सहितं सारणी भवेत् । अनुमानतः एवं।
व्यवहारे तंत्रिकाजालम् YaLM 100B।चालकसंस्करणशीर्षके कुत्र च । वामभागे यन्त्रसङ्ख्याः सन्ति, केन्द्रे यन्त्रस्मृतेः परिमाणः अस्ति । यदि भवतां समीपे एषा सूचना नास्ति तर्हि भवता सर्वरं गलत् स्रोतः संगृहीतम् अस्ति । उबण्टु एमएल (Machine Learnong) आवश्यकम्, यथा उपरि वर्णितम्।

2. YaLM इत्यनेन भण्डारं क्लोन् कुर्वन्तु

सुदो गिट क्लोन https://github.com/yandex/YaLM-100B/ yalm
cd yalm

स्वस्य गृहपुटे क्लोन् कुर्वन्तु येन पश्चात् docker config सम्पादयितुं न प्रयोजनम् । यदि अन्यत्र क्लोन कृतं तर्हि
अत्र गत्वा यत्र क्लोन कृतं तत्र मार्गं योजयन्तु।

3. चेकपोस्ट्स् डाउनलोड् कुर्वन्तु (मूलभूतप्रतिरूपप्रशिक्षणसूचना) .

sudo chmod +x ./डाउनलोड/डाउनलोड .sh
sudo bash ./डाउनलोड/डाउनलोड.sh

एतत् प्रायः एकघण्टां यावत् समयः स्यात् । व्यर्थं समयं नष्टं न कर्तुं वयं नूतनं ssh संयोजनं रचयामः तथा च समानान्तरे वयं docker container इत्यस्य निर्माणं आरभामः ।

4. nvidiadocker संस्थापयन्तु 2

सामान्यं docker उपयुक्तं नास्ति,
nvidia-docker2 आवश्यकम् अस्ति .
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#nvidia-container-toolkit-सेटिंग्-अप

5. YaLM कृते पात्रस्य निर्माणम्

cd yalm सुडो
चमोद +x ./डॉकर/*
सुडो बैश ./डॉकर/बिल्ड.श

अपि प्रायः एकघण्टा अस्ति।

जीवन हैक। एकेन विडियोकार्डेन सह सस्ते सर्वरे चेकपॉइण्ट्स् डाउनलोड् कर्तुं, docker संस्थापयितुं, कन्टेनर् निर्मातुं च शक्नुवन्ति । कालेन एवमेव भविष्यति, अतः भवन्तः किञ्चित् रक्षणं कर्तुं शक्नुवन्ति। सस्ते सर्वरे संयोजनानन्तरं वयं तत् विलोपयामः, सस्तेन सर्वरेण डिस्कं उपयुज्य युद्धसर्वरं निर्मामः । तदा भवन्तः सभायाः प्रतीक्षायाः, निरीक्षणस्थानानां पम्पिंग्-करणस्य च समयं अधिकं न दास्यन्ति।

6. सामग्री तैयार करें

६.१ निरीक्षणस्थानानि

चेकपॉइण्ट्स् इत्यस्य डाउनलोड् समाप्तस्य अनन्तरं भवद्भिः तान् configs इत्यत्र स्खलितुं आवश्यकम् । द्वौ उपायौ स्तः, सम्यक् मापदण्डाः अथवा स्थानान्तरणपरीक्षास्थानानि । सर्वत्र अपेक्षितं यत् निरीक्षणस्थानानि क्रमशः परियोजनायाः मुख्यनिर्देशिकायां भविष्यन्ति, यत् अवतरणं कृतं तत् उपरिष्टात् डाउनलोड् फोल्डर् तः स्थानान्तरितव्यम्। yalm फोल्डर् मध्ये भवति execute

mv ./डाउनलोड/yalm100b_चेकपॉइंट ./ .

अथवा उदाहरणसञ्चिकासु सञ्चिकानां मार्गान् परिवर्तयन्तु
https://github.com/yandex/YaLM-100B/blob/c91b7d7fe8dbf39c9e307d6d324446d0df136a23/examples/generate_interactive.sh#L8-L9

६.२ विडियो कार्ड्स्

वयं पश्यामः यत् विडियो कार्ड्स् सम्यक् सेट् कृतम् अस्ति वा। यदि भवतः समीपे अष्टौ विडियो कार्ड्स् सन्ति तर्हि किमपि परिवर्तनस्य आवश्यकता नास्ति। यदि संख्या भिन्ना अस्ति, तर्हि वयं एताः रेखाः परिवर्तयामः
व्यवहारे तंत्रिकाजालम् YaLM 100B।द्वितीयपङ्क्तौ, प्रयुक्तानां यन्त्राणां संख्याः (भवन्तः तान् nvidia-smi इत्यत्र पश्यितुं शक्नुवन्ति, यत् भवान् पूर्वमेव प्रारब्धवान्) चतुर्थे तेषां संख्या ।

7. docker container चालयन्तु

yalm पुटे स्थित्वा आदेशं निष्पादयन्तु

सुदो बश ./डॉकर/रन.श

यदि सर्वं ठीकम् अस्ति तर्हि भवन्तः एकस्मिन् पात्रे नेष्यन्ते यस्मिन् भवन्तः स्वस्य गृहनिर्देशिकायां yalm पुटे गन्तव्यम् ।

cd ~/यलम्

8. YaLM 100B तः उदाहरणं चालयन्तु

वयं उदाहरणेषु एकं प्रक्षेपणार्थं सज्जाः स्मः। ते
अत्र वर्णिताः सन्ति .

chmod +x ./उदाहरणानि/अन्तरक्रियाशीलं_जनयति .sh ./उदाहरणानि/अन्तरक्रियाशीलं_जनयति.
sh

धैर्यं कुर्वन्तु, यावत् GPT मॉडल् न निर्मितं भवति तथा च चेकपोस्ट् तः भाराः लोड् न भवन्ति तावत् यावत् अपरं 10-15 निमेषं प्रतीक्षितुं अवशिष्यते।
व्यवहारे तंत्रिकाजालम् YaLM 100B।

यदा बिल्ड् समाप्तं भवति तदा MegatronML भवन्तं पाठं जनयितुं सन्दर्भं प्रविष्टुं प्रेरयिष्यति । टङ्कयन्ते सति सावधानाः भवन्तु। कतिपयपरिस्थितौ, त्रुटिः भवति, कार्यक्रमः क्रैश भवति तथा च भवद्भिः पुनः विधानसभां आरम्भः करणीयः । अतः सञ्चिकातः पाठं गृह्णन्ति इति उदाहरणानि उपयोक्तुं श्रेयस्करम् ।

9. कार्यस्य परिणामाः

व्यवहारे तंत्रिकाजालम् YaLM 100B।
व्यवहारे तंत्रिकाजालम् YaLM 100B।रोचकं दृश्यते। अवश्यं एते केवलं उत्तमाः उदाहरणानि एव सन्ति। अहं विभिन्नेषु नमूनासु परीक्षणं चालितवान्। यथा अपेक्षितं यथा यथा उत्तमः सन्दर्भः भवति तथा तथा अधिकः सार्थकः पाठः उत्पद्येत । प्रयोगात्मकपीढीनां पूर्णसमूहं लिङ्केषु द्रष्टुं शक्यते :

मूल्यस्य कृते प्रशिक्षणात् सज्जतायाः च पीढीपर्यन्तं भिन्नक्षमतायाः सर्वर-भाडायाः कृते मम प्रायः ९ सहस्ररूप्यकाणां व्ययः अभवत् । एकः विशेषः निराशा आसीत् यत् भवन्तः तत्क्षणमेव सर्वं जनयितुं न शक्नुवन्ति। आरम्भार्थं बहुकालं भवति तथा च पाठः यथा शीघ्रं वयं इच्छामः तथा न जनयति, प्रतिघण्टां सर्वरस्य मूल्यं दृष्ट्वा ।
व्यवहारे तंत्रिकाजालम् YaLM 100B। 

200Gb GPU RAM विना YaLM कथं चालयितुं शक्यते?

भवद्भिः config मध्ये deepspeed zero offload योजयितुं आवश्यकम् । ये जानन्ति यत् वयं किं वदामः तेषां कृते तत् कर्तुं अतीव सुलभं भविष्यति। अन्येषां कृते एतत् सर्वथा तुच्छं कार्यं न भवति । इदं ज्ञातुं महत्त्वपूर्णं यत् offload CPU RAM अथवा NVMe इत्यत्र वा भवितुम् अर्हति । भवान् अस्मिन् क्षणे NVMe विषये विस्मर्तुं शक्नोति, यतः… अतीव बृहत् परिमाणं दत्तांशं संसाधितं भवति तथा च डिस्कः तत् सहितुं न शक्नोति। शून्य ऑफलोड CPU अधिकं वास्तविकम् अस्ति। सत्यम्, एतदर्थं भवतः 200+ Gb CPU RAM स्टॉक् मध्ये भवितुम् आवश्यकम्, यत् अपि सस्तो नास्ति । तथा च एकः पाठः प्रायः २०-४० निमेषपर्यन्तं जनितः भविष्यति, यतः अद्यापि द्वयोः वीडियोकार्डयोः समानान्तरीकरणं कर्तुं न शक्यते। यथा अधः स्क्रीनशॉट् मध्ये द्रष्टुं शक्नुवन्ति, केवलं एकं विडियो कार्ड् जनरेशनमध्ये सम्मिलितम् आसीत्, ततः केवलं स्मृतिस्य चतुर्थांशस्य कृते एव । द्रष्टव्यं यत् सर्वे २४ जीबी किमर्थं न उपयुज्यन्ते,
व्यवहारे तंत्रिकाजालम् YaLM 100B।खैर, निष्कर्षे अहं वक्ष्यामि यत् एकस्मिन् RTX 3070 TI इत्यस्मिन् अपि चालयितुं शक्यते। अस्मिन् तु न विशेषः भावः, यतः। NVMe भवन्तं स्वैप् मध्ये 150 GB आँकडानां शीघ्रं संसाधनं कर्तुं न अनुमन्यते, ये 96 GB RAM इत्यस्य उपांगस्थाने सन्ति ।
व्यवहारे तंत्रिकाजालम् YaLM 100B।

सारांशतः

अवश्यं, अहम् अद्यापि इष्टतमान् प्रक्षेपणमार्गान् अन्वेष्टुं प्रयतस्ये। परन्तु एतावता अहं निष्कर्षं प्राप्तवान् यत् YaLM 100b मम कार्याणां कृते अतीव महत् / अतिमन्दम् अस्ति। समानधनस्य कृते जनाः बहु अधिकं बहु उत्तमं च लिखिष्यन्ति। परन्तु अहं मन्ये अस्थायी अस्ति, वयं पश्यामः। यदि भवन्तः प्रारम्भे, yalm स्थापनार्थं सहायतां इच्छन्ति, अथवा स्वसन्दर्भोदाहरणेषु परिणामान् द्रष्टुम् इच्छन्ति तर्हि मेल अथवा तारपत्रे लिखन्तु ।

pskucherov
Rate author
Add a comment

  1. Olha

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

    Reply
  2. Данила

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

    Reply
  3. Дмитрий

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

    Reply