ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.

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

ජූනි මස අවසානයේදී Yandex
විසින් YaLM 100B ලෙස හඳුන්වන බිලියන 100 පරාමිති සහිත ස්නායු ජාලයක් මහජනතාවට නිකුත් කරන ලදී . එය පොදු වසමෙහි ඇති විශාලතම GPT වැනි ස්නායුක ජාලය වේ. ඔවුන් ඉගැන්වූ ආකාරය, හොඳම උදාහරණ පෙන්වූ ආකාරය සහ නියුරෝනයට ඇති හැකියාව ගැන එය කියයි. නමුත් එය ප්රායෝගිකව එතරම් හොඳ සහ නිවසේදී අදාළද? ලිපිය මේ ගැන නිශ්ශබ්දයි, එපමනක් නොව, එය ධාවනය කර පරීක්ෂා කිරීම එතරම් පහසු නැත, මන්ද දළ වශයෙන් 200 Gb GPU RAM අවශ්‍ය වේ. Habré පිළිබඳ
මෙම ප්‍රකාශය තත්වය වඩාත් නිවැරදිව හෙළි කරයි
.

Yandex හි, එවැනි සියලු දක්ෂ පුද්ගලයින් යැයි කියනු ලබන අතර, ඔවුන් සාමාන්‍ය ආකාරයක් පළ කළේ නැත. ලොකු මොඩල් එකකට api නෑ, සාමාන්‍ය මිනිස්සුන්ට (Google Colab වල) රෙඩිමේඩ් ස්ට්‍රිප්ඩ් ඩවුන් මාධ්‍යයක් හෝ පොඩි මොඩල් එකක් නෑ. ආකෘතිය සකසන්නේ කෙසේද, පෙළ උත්පාදනය කරන්නේ කෙසේද යන්න පිළිබඳ උදාහරණයක් ලබා නොදේ. ලිපිය නර්ඩ්ස් සඳහා සූක්ෂ්ම කරුණු කිහිපයක් දක්වන අතර එය එයයි. බැංකුව “C” අකුරෙන් එය කළ ආකාරය දෙස සමීපව බැලීම සහ එයම කිරීම ප්රමාණවත්ය. මෙම ආකෘතිය කුණු කූඩයට විසි කිරීමට අනුකම්පාවක් වූ අසාර්ථක අත්හදා බැලීම් වලින් එකක් පමණක් බව මට හැඟීමක් ඇති විය, එබැවින් එය Yandex නිර්මාණය කරන විශිෂ්ට මාදිලි පෙන්වීමට විවෘත මූලාශ්‍රයේ පළ කරන ලද අතර එපමනක් නොව, එය විවෘත මූලාශ්‍රය වේ!

යාල්ම් ධාවනය කරන්නේ කෙසේද යන්න හෝ අන්තර්ජාලය හරහා උත්සාහ කරන්නේ කෙසේද යන්න පිළිබඳව අන්තර්ජාලයේ ප්‍රශ්න රාශියක් ඇත, නමුත් මේ සඳහා පිළිතුරු නොමැත. මෙම ප්‍රශ්න අසන ලද පරිශීලකයින් අතර මම ද සිටිමි. ඒවගේම ඒක හොයාගන්න සෙට් වෙන්න. මූල්‍ය රොබෝවරුන් සඳහා පෙළ උත්පාදනය කිරීමට මට ක්‍රමයක් අවශ්‍ය වූ බැවින්. ඒ නිසා ඔවුන්ට වටිනාකම් පමණක් නොව, මුල්‍ය වාර්තා මත පදනම්ව පාඨයෙන් ඒ ගැන අදහස් දැක්වීමටද හැකිය. සාරාංශයක් ලෙස, එය මූල්‍ය විශ්ලේෂකයින් කරන දෙයට සමාන වනු ඇත, කෘතිම බුද්ධිය භාවිතයෙන් පමණි. යල්ම ධාවනය කිරීමට ක්රම දෙකක් තිබේ.
වලාකුළෙහි සේවාදායකයක් කුලියට ගන්න200+ Gb GPU RAM සමඟින් හෝ කේතය වෙනස් කර ගැඹුරු වේග ශුන්‍ය ඕෆ්ලෝඩ් සමඟ ධාවනය කරන්න (GPU අනුක්‍රමිකව ස්නායු ජාලයේ කොටසක් සකසන විට සහ ඉතිරිය CPU RAM හෝ NVMe හි ගබඩා කර ඇති විට). පළමු එක ඉතා මිල අධිකයි, පැයකට රූබල් 2500 ක් හෝ මසකට මිලියන 1.7 ක් පමණ වේ. දෙවන නොදන්නා නිසා ගබඩාවේ ඇති කේතය සපයා නැත,
ගබඩාවේ නිකුතුවේ ඉඟි පමණි , එය කිරීමට අපහසු නැත. අපි සරලව පටන් ගනිමු.

YaLM 100B දියත් කිරීමේ උපදෙස්

1. අපි 200 GB GPU RAM කුලියට ගනිමු, උදාහරණයක් ලෙස මෙහි .

ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.

ඔබට සම්පූර්ණ වීඩියෝ මතකයෙන් අවම වශයෙන් 200 GB වත් අවශ්‍ය වේ. 8×40 = 320 GB. මේක විතරයි ගැලපෙන්නේ. 200 ට අඩුවෙන් කළ නොහැක්කකි, ඊට වඩා වැඩි විය හැකිය. ඊතලය CPU RAM පෙන්නුම් කරයි, අපි එය දෙස බලන්නේ නැත. ඇය ඕනෑම කෙනෙක් විය හැක.

අපි ගිගාබයිට් 300 ක පමණ තැටියක් දක්වන්නෙමු, ඒ නිසා අමතර සහ වඩාත් වේගවත් තැටියක් සමඟ, මන්ද. ගිගාබයිට් දස ගණනක දත්ත එයට මාරු කරනු ලැබේ.

ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව. මූලාශ්‍ර නිර්මාණය කිරීමේදී, Ubuntu ML (Machine Learning) තෝරන්න. වීඩියෝ කාඩ්පත් වින්යාස කර ඇති අතර අතිරේකව කිසිවක් ස්ථාපනය කිරීම අවශ්ය නොවන පරිදි මෙය අනිවාර්ය වේ.

සේවාදායකයක් නිර්මාණය කිරීමේදී, කෝටා සමඟ සූක්ෂ්මතා ඇත, උපකරණ නොමැති බව ඔබට හැඟීමක් ඇති විය හැකිය, නමුත් ඇත්ත වශයෙන්ම ඔබට අවශ්‍ය වන්නේ සැකසුම් තුළ කෝටා වැඩි කිරීමයි. සේවාදායකය සක්‍රිය වූ පසු (එය විනාඩි 5-10ක් ගත විය හැක), ssh හරහා හෝ සෘජුවම සේවාදායක පිටුවේ ඇති වෙබ් කොන්සෝලය වෙත සම්බන්ධ වී විධානය ක්‍රියාත්මක කරන්න.

nvidia-smi

ප්රතිඵලය වීඩියෝ කාඩ්පත්, ධාවක අනුවාදය සහ cuda සමඟ වගුවක් විය යුතුය. ආසන්න වශයෙන් මේ වගේ.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව. ධාවක අනුවාද ශීර්ෂයේ සහ කොහෙද. වම් පැත්තේ උපාංග අංක ඇත, මධ්යයේ උපාංග මතකයේ ප්රමාණය වේ. ඔබට මෙම තොරතුරු නොමැති නම්, ඔබ වැරදි මූලාශ්‍රයකින් සේවාදායකය එකතු කර ඇත. ඉහත විස්තර කර ඇති පරිදි Ubuntu ML (Machine Learnong) අවශ්‍ය වේ.

2. YaLM සමඟ ගබඩාව ක්ලෝන කරන්න

sudo git clone 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. YLM සඳහා බහාලුමක් තැනීම

cd yalm
sudo 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#L9-L8-L8-L8-

6.2 වීඩියෝ කාඩ්පත්

වීඩියෝ කාඩ්පත් නිවැරදිව සකසා ඇත්දැයි අපි පරීක්ෂා කරමු. ඔබට වීඩියෝ කාඩ්පත් අටක් තිබේ නම්, කිසිවක් වෙනස් කිරීමට අවශ්ය නොවේ. අංකය වෙනස් නම්, අපි මෙම රේඛා වෙනස් කරමු
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව. දෙවන පේළියේ, භාවිතා කරන උපාංගවල අංක (ඔබට දැනටමත් දියත් කර ඇති nvidia-smi හි ඒවා දෙස බැලිය හැකිය). හතරවෙනි, ඔවුන්ගේ සංඛ්යාව.

7. ඩොකර් කන්ටේනරය ධාවනය කරන්න

yalm ෆෝල්ඩරයේ සිටීම, විධානය ක්රියාත්මක කරන්න

sudo bash ./docker/run.sh

සෑම දෙයක්ම හරි නම්, ඔබ ඔබේ නිවසේ නාමාවලියෙහි යාල්ම් ෆෝල්ඩරය වෙත යා යුතු බහාලුමක් වෙත ගෙන යනු ඇත.

cd ~/yalm

8. YaLM 100B වෙතින් උදාහරණය ධාවනය කරන්න

අපි එක් උදාහරණයක් දියත් කිරීමට සූදානම්. ඒවා මෙහි විස්තර කර
ඇත .

chmod +x ./උදාහරණ/
generate_interactive.sh ./examples/generate_interactive.sh

ඉවසිලිවන්ත වන්න, GPT ආකෘතිය නිර්මාණය කර මුරපොලවල් වලින් බර පැටවෙන තෙක් තවත් විනාඩි 10-15 ක් බලා සිටීමට ඉතිරිව ඇත.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.

ගොඩනැගීම අවසන් වූ විට, පෙළ උත්පාදනය කිරීමට සන්දර්භයක් ඇතුළත් කිරීමට MegatronML ඔබෙන් විමසනු ඇත. ඔබ ටයිප් කරන විට ප්රවේශම් වන්න. ඇතැම් තත්වයන් යටතේ, දෝෂයක් සිදු වේ, වැඩසටහන බිඳ වැටෙන අතර ඔබ නැවත එකලස් කිරීම ආරම්භ කළ යුතුය. එමනිසා, ගොනුවකින් පෙළ ගන්නා උදාහරණ භාවිතා කිරීම වඩා හොඳය.

9. කාර්යයේ ප්රතිඵල

ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව. රසවත් බව පෙනේ. ඇත්ත වශයෙන්ම, මේවා හොඳ උදාහරණ පමණි. මම විවිධ සාම්පල මත පරීක්ෂණය පවත්වා ඇත. අපේක්ෂා කළ පරිදි, සන්දර්භය වඩා හොඳ වන තරමට, වඩාත් අර්ථවත් පෙළ ජනනය වනු ඇත. පර්යේෂණාත්මක පරම්පරාවල සම්පූර්ණ කට්ටලය සබැඳිවලින් නැරඹිය හැකිය:

මිල සඳහා, පුහුණුවේ සිට සහ සකස් කිරීමේ සිට පරම්පරාව දක්වා විවිධ ධාරිතාවයෙන් යුත් සේවාදායකයන් කුලියට ගැනීම සඳහා මට රුබල් 9 දහසක් පමණ වැය විය. විශේෂ බලාපොරොත්තු සුන්වීමක් වූයේ ඔබට සෑම දෙයක්ම ක්ෂණිකව උත්පාදනය කළ නොහැකි වීමයි. එය ආරම්භ කිරීමට ඉතා දිගු කාලයක් ගත වන අතර පැයකට සේවාදායකයේ පිරිවැය අනුව පෙළ අප කැමති තරම් ඉක්මනින් ජනනය නොවේ.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.  

200Gb GPU RAM නොමැතිව YaLM ධාවනය කරන්නේ කෙසේද?

ඔබ config එකට deepspeed zero offload එක් කිරීමට අවශ්‍යයි. අපි කතා කරන දේ දන්නා අයට එය කිරීම ඉතා පහසු වනු ඇත. අනෙක් අයට මෙය කිසිසේත්ම සුළුපටු කාර්යයක් නොවේ. ඕෆ්ලෝඩ් CPU RAM හෝ NVMe හි විය හැකි බව දැන ගැනීම වැදගත්ය. ඔබට මේ මොහොතේ NVMe ගැන අමතක විය හැක, මන්ද. ඉතා විශාල දත්ත ප්‍රමාණයක් සැකසෙමින් පවතින අතර තැටියට එය සමඟ සාර්ථකව කටයුතු කළ නොහැක. Zero offload CPU වඩා සැබෑ ය. ඇත්ත, මේ සඳහා ඔබට 200+ Gb CPU RAM තොගයක් තිබිය යුතු අතර එය ලාභදායී නොවේ. වීඩියෝ කාඩ්පත් දෙකකින් එය සමාන්තර කිරීමට තවමත් නොහැකි වී ඇති බැවින් එක් පෙළක් විනාඩි 20-40 ක් පමණ ජනනය වේ. පහත තිර පිටුවේ ඔබට පෙනෙන පරිදි, පරම්පරාවට සම්බන්ධ වී ඇත්තේ එක් වීඩියෝ කාඩ්පතක් පමණක් වන අතර පසුව මතකයෙන් හතරෙන් එකක් පමණි. සියලුම 24 GB භාවිතා නොකරන්නේ මන්දැයි සොයා බැලිය යුතුය.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව. හොඳයි, අවසාන වශයෙන්, එක් RTX 3070 TI එකක පවා ධාවනය කළ හැකි බව මම කියමි. නමුත් මෙහි විශේෂ අර්ථයක් නැත, මන්ද. 96 GB RAM හි උපග්‍රන්ථයේ ඇති swap හි 150 GB දත්ත ඉක්මනින් සැකසීමට NVMe ඔබට ඉඩ නොදේ.
ස්නායුක ජාලය YaLM 100B ප්රායෝගිකව.

සාරාංශ ගත

ඇත්ත වශයෙන්ම, මම තවමත් ප්‍රශස්ත දියත් කිරීමේ මාර්ග සොයා ගැනීමට උත්සාහ කරමි. නමුත් මේ වන විට මම YaLM 100b මගේ කාර්යයන් සඳහා මිල අධික / මන්දගාමී බව නිගමනය කර ඇත. එකම මුදල් සඳහා, මිනිසුන් වැඩි වැඩියෙන් හා වඩා හොඳ ලියනු ඇත. නමුත් මම හිතන්නේ එය තාවකාලිකයි, අපි බලමු. ඔබට දියත් කිරීම, යාල්ම් සැකසීම හෝ ඔබේ සන්දර්භය උදාහරණවල ප්‍රතිඵල දැකීමට අවශ්‍ය නම්, තැපෑලට හෝ විදුලි පණිවුඩයට ලියන්න.

pskucherov
Rate author
Add a comment

  1. Olha

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

    Reply
  2. Данила

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

    Reply
  3. Дмитрий

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

    Reply