Frugality درستگی پر پورا اترتا ہے: AWS Trainium کے ساتھ GPT NeoX اور Pythia ماڈلز کی سستی تربیت | ایمیزون ویب سروسز

Frugality درستگی پر پورا اترتا ہے: AWS Trainium کے ساتھ GPT NeoX اور Pythia ماڈلز کی سستی تربیت | ایمیزون ویب سروسز

زبان کے بڑے ماڈل (یا LLMs) روزمرہ کی گفتگو کا موضوع بن چکے ہیں۔ ان کا فوری اختیار 100 ملین صارفین تک پہنچنے کے لیے درکار وقت کی مقدار سے ظاہر ہوتا ہے، جو "4.5 سال از فیس بک" سے محض "ChatGPT کے ذریعے 2 ماہ" کی کم ترین سطح پر آ گیا ہے۔ ایک جنریٹو پری ٹرینڈ ٹرانسفارمر (GPT) پیشین گوئی کرنے کے لیے causal autoregressive updates کا استعمال کرتا ہے۔ اسپیچ ریکگنیشن، ٹیکسٹ جنریشن، اور سوالوں کے جواب دینے جیسے کاموں کی مختلف قسمیں ان ماڈل آرکیٹیکچرز کی شاندار کارکردگی کا مظاہرہ کرتی ہیں۔ کئی حالیہ ماڈلز جیسے نووکس, فالکن, لاما GPT فن تعمیر کو ریڑھ کی ہڈی کے طور پر استعمال کریں۔ LLMs کی تربیت کے لیے بہت زیادہ کمپیوٹ وقت درکار ہوتا ہے، جس پر لاکھوں ڈالر خرچ ہوتے ہیں۔ اس پوسٹ میں، ہم GPT کے تربیتی طریقہ کار کا خلاصہ کریں گے۔ نووکس on AWS ٹرینیم، ایک مقصد سے بنایا ہوا مشین لرننگ (ML) ایکسلریٹر گہری سیکھنے کی تربیت کے لیے موزوں ہے۔ ہم اس بات کا خاکہ پیش کریں گے کہ کس طرح ہم نے لاگت سے مؤثر طریقے سے (3.2 M ٹوکن/$) ایسے ماڈلز کو AWS Trainium کے ساتھ بغیر کسی ماڈل کے معیار کو کھوئے تربیت دی۔

حل جائزہ

GPT NeoX اور Pythia ماڈل

GPT NeoX اور پائیہیا NeoX میں تقریباً 20 بلین پیرامیٹرز اور Pythia میں 6.9 بلین کے ساتھ Eleuther-AI کے اوپن سورس کازل لینگویج ماڈل ہیں۔ دونوں ڈیکوڈر ماڈلز ہیں جو Chat GPT3 جیسے آرکیٹیکچرل ڈیزائن کی پیروی کرتے ہیں۔ تاہم، ان میں کئی اضافے بھی ہیں، جنہیں لاما جیسے حالیہ ماڈلز میں بھی بڑے پیمانے پر اپنایا گیا ہے۔ خاص طور پر، ان کے پاس سر کے طول و عرض میں جزوی گردش کے ساتھ گردشی پوزیشنی ایمبیڈنگ (ROPE) ہے۔ اصل ماڈلز (NeoX اور Pythia 6.9B) کھلے عام دستیاب پر تربیت یافتہ ہیں۔ ڈیٹاسیٹ کا ڈھیر ڈپلیکیشن کے ساتھ اور میگاٹرون اور ڈیپ اسپیڈ بیک اینڈ کا استعمال۔

ہم AWS Trainium پر مبنی Trn1 مثالوں پر ان ماڈلز کی پری ٹریننگ اور فائن ٹیوننگ کا مظاہرہ کرتے ہیں نیوران NeMo کتب خانہ. تصور کے ثبوت اور فوری تولید کو قائم کرنے کے لیے، ہم GPT2 بائٹ پیئر انکوڈنگ (BPE) ٹوکنائزر کا استعمال کرتے ہوئے ایک چھوٹا ویکیپیڈیا ڈیٹاسیٹ سبسیٹ ٹوکنائزڈ استعمال کریں گے۔

واک تھرو

پہلے سے ٹوکنائزڈ ویکیپیڈیا ڈیٹاسیٹ کو ڈاؤن لوڈ کریں جیسا کہ دکھایا گیا ہے:

export DATA_DIR=~/examples_datasets/gpt2 mkdir -p ${DATA_DIR} && cd ${DATA_DIR} wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-vocab.json
wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-merges.txt
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.bin . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.idx . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/license.txt . --no-sign-request

NeoX 20B اور Pythia 6.9B دونوں ہی جزوی گردش کے ساتھ ROPE کا استعمال کرتے ہیں، مثال کے طور پر، سر کے 25% جہتوں کو گھماتے ہیں اور باقی کو غیر گھمایا جاتا ہے۔ AWS ٹرینیم ایکسلریٹر پر جزوی گردش کو مؤثر طریقے سے نافذ کرنے کے لیے، گھومنے اور نہ گھومنے والے طول و عرض کو جوڑنے کے بجائے، ہم غیر گھومنے والے طول و عرض کے لیے صفر تعدد کو شامل کرتے ہیں اور پھر سر کے طول و عرض کے مکمل سیٹ کو گھماتے ہیں۔ اس آسان چال نے ہمیں AWS Trainium پر تھرو پٹ (فی سیکنڈ پروسیس شدہ ترتیب) کو بہتر بنانے میں مدد کی۔

تربیتی مراحل

ٹریننگ چلانے کے لیے، ہم SLURM مینیجڈ ملٹی نوڈ Amazon Elastic Compute Cloud (ایمیزون EC2) Trn1 کلسٹر، ہر نوڈ کے ساتھ جس میں trn1.32xl مثال ہو۔ ہر ایک trn1.32xl 16 ایکسلریٹر ہیں جن میں فی ایکسلریٹر دو کارکن ہیں۔ تازہ ترین ڈاؤن لوڈ کرنے کے بعد نیوران NeMo پیکیج، فراہم کردہ استعمال کریں نیا اور pythia کے بہتر ہائپر پیرامیٹر کے ساتھ پری ٹریننگ اور فائن ٹیوننگ اسکرپٹس اور چار نوڈ ٹریننگ کے لیے درج ذیل کو انجام دیں۔

  1. مرتب کریں: گرافس بنانے اور محفوظ کرنے کے لیے تین ٹرین تکرار کے ساتھ ماڈل کو پہلے سے مرتب کریں:
    sbatch --nodes 4 compile.slurm ./neoX_20B_slurm.sh

  2. چلائیں: پہلے مراحل سے کیش شدہ گراف لوڈ کر کے تربیت کو انجام دیں۔
    sbatch --nodes 4 run.slurm ./neoX_20B_slurm.sh

  3. نتائج کی نگرانی کریں۔
    tensorboard --logdir=nemo_experiments/megatron_neox

Pythia 6.9B ماڈل کو تبدیل کرنے کے لیے بھی انہی اقدامات پر عمل کرنے کی ضرورت ہے۔ neox_20B_slurm.sh by pythia_6.9B_slurm.sh.

پری ٹریننگ اور فائن ٹیوننگ کے تجربات

ہم AWS Trainium پر GPT-NeoX اور Pythia ماڈلز کی پری ٹریننگ کا مظاہرہ کرتے ہیں نیوران NeMo 10k تکرار کے لیے لائبریری، اور 1k مراحل کے لیے ان ماڈلز کی فائن ٹیوننگ بھی دکھائیں۔ پری ٹریننگ کے لیے، ہم NeMo کے اندر GPT2 BPE ٹوکنائزر استعمال کرتے ہیں اور اسی کی پیروی کرتے ہیں۔ تشکیل جیسا کہ اصل ماڈل میں استعمال ہوتا ہے۔ AWS Trainium پر فائن ٹیوننگ کے لیے چند پیرامیٹرز کی تبدیلی کی ضرورت ہوتی ہے (جیسے لفظ کے سائز کی تقسیم کا عنصر)، جو Megatron بمقابلہ NeMo فرق اور GPU بمقابلہ AWS Trainium تبدیلیوں کو ایڈجسٹ کرنے کے لیے فائن ٹیوننگ اسکرپٹس میں فراہم کیے گئے ہیں۔ نوڈس کی مختلف تعداد کے ساتھ ملٹی نوڈ تقسیم شدہ ٹریننگ تھرو پٹ ٹیبل-1 میں دکھایا گیا ہے۔

ماڈل ٹینسر متوازی پائپ لائن متوازی مثالوں کی تعداد لاگت ($/گھنٹہ) تسلسل کی لمبائی عالمی بیچ کا سائز تھرو پٹ (sq/sec) لاگت کے ذریعے کا تناسب (ٹوکن/$)
Pythia 6.9B 8 1 1 7.59 2048 256 10.4 10,102,387
8 1 4 30.36 2048 256 35.8 8,693,881
NeoX 20B 8 4 4 30.36 2048 16384 13.60 3,302,704
8 4 8 60.72 2048 16384 26.80 3,254,134
8 4 16 121.44 2048 16384 54.30 3,296,632
8 4 32 242.88 2048 16384 107.50 3,263,241
8 4 64 485.76 2048 16384 212.00 3,217,708

ٹیبل 1. نوڈس کی بدلتی تعداد کے ساتھ 500 مراحل تک کی تربیت کے لیے GPT NeoX اور Pythia ماڈلز کے اوسط تھرو پٹ کا موازنہ کرنا۔ دی trn1.32xl کی قیمت فی گھنٹہ مؤثر 3 سالہ محفوظ شرح پر مبنی ہے۔

اس کے بعد، ہم AWS Trainium پر ماڈل ٹریننگ کے نقصان کی رفتار کا بھی جائزہ لیتے ہیں اور P4d (Nvidia A100 GPU cores) کلسٹر پر متعلقہ رن سے اس کا موازنہ کرتے ہیں۔ تربیت کے نقصان کے ساتھ ساتھ، ہم مفید اشارے کا موازنہ بھی کرتے ہیں جیسے کہ گریڈینٹ نارم، جو کہ ٹریننگ کی پیشرفت کی نگرانی کے لیے ہر ٹریننگ کے اعادہ میں شمار کیے جانے والے ماڈل گریڈینٹ کا 2-معمول ہے۔ تربیت کے نتائج تصویر-1، 2 میں اور تصویر-20 میں NeoX 3B کی فائن ٹیوننگ میں دکھائے گئے ہیں۔

ہر قدم کی تربیت کے دوران تمام کارکنوں (بائیں) اور تدریجی معیار (دائیں) میں تربیتی نقصان کا اوسط ہوتا ہے۔

شکل 1. ہر قدم کی تربیت کے دوران تمام کارکنوں (بائیں) اور تدریجی معیار (دائیں) میں تربیتی نقصان کا اوسط ہوتا ہے۔ NeoX 20B کو GPU پر چھوٹے وکی ڈیٹاسیٹ کے ساتھ 4 نوڈس پر تربیت دی جاتی ہے اور اسی ٹریننگ ہائپر پیرامیٹرز (عالمی بیچ سائز=256) کے ساتھ ٹرینیم۔ GPU BF16 اور پہلے سے طے شدہ مخلوط-پریسیئن استعمال کر رہا ہے جبکہ AWS Trainium اسٹاکسٹک راؤنڈنگ کے ساتھ مکمل BF16 استعمال کر رہا ہے۔ GPU اور AWS Trainium کے لیے نقصان اور گریڈیئنٹ نارمل ٹریجیکٹرز مماثل ہیں۔

تربیت کے نقصان کا اوسط تمام کارکنوں (بائیں) اور تدریجی معیار (دائیں) میں ہر قدم کی تربیت پر ہوتا ہے (پائیتھیا)۔

شکل 2. ہر قدم کی تربیت کے دوران تمام کارکنوں (بائیں) اور تدریجی معیار (دائیں) میں تربیتی نقصان کا اوسط ہوتا ہے۔ شکل-1 میں GPT NeoX کی طرح، Pythia 6.9B کو GPU پر چھوٹے وکی ڈیٹاسیٹ کے ساتھ 4 نوڈس پر تربیت دی گئی ہے اور اسی ٹریننگ ہائپر پیرامیٹرز کے ساتھ ٹرینیم (عالمی بیچ سائز = 256)۔ GPU اور Trainium کے لیے نقصان اور گریڈیئنٹ نارمل ٹریکجٹریز مماثل ہیں۔

GPU اور AWS Trainium پر فائن ٹیوننگ GPT NeoX 20B ماڈل تمام ورکرز (بائیں) اور گریڈیئنٹ نارم (دائیں) میں تربیتی نقصان کے ساتھ اوسطاً۔

شکل 3. GPU اور AWS Trainium پر فائن ٹیوننگ GPT NeoX 20B ماڈل تمام ورکرز (بائیں) اور گریڈیئنٹ نارم (دائیں) میں تربیتی نقصان کے ساتھ اوسطاً۔ ایک چھوٹا سا ویکی ڈیٹا سیٹ فائن ٹیوننگ کے مظاہرے کے لیے استعمال کیا جاتا ہے۔ GPU اور AWS Trainium کے لیے نقصان اور گریڈیئنٹ نارمل ٹریجیکٹرز مماثل ہیں۔

اس پوسٹ میں، ہم نے AWS ڈیپ لرننگ ہارڈویئر پر LLMs کی سستی تربیت دکھائی۔ ہم نے GPT NeoX 20B اور Pythia 6.9B ماڈلز کو AWS Trn1 پر Neuron NeMo لائبریری کے ساتھ تربیت دی۔ AWS Trainium کے ساتھ 20 بلین ماڈلز کے لیے نارملائزڈ تھرو پٹ تقریباً 3.2M ٹوکنز/$ خرچ کیے گئے ہیں۔ AWS Trainium پر لاگت سے موثر تربیت کے ساتھ، ہم اسی طرح کے ماڈل کی درستگی حاصل کرتے ہیں، جو کہ تربیت کے قدموں میں کمی اور گریڈیئنٹ نارمل ٹریکٹری سے واضح ہے۔ ہم نے AWS Trainium پر NeoX 20B ماڈل کے لیے دستیاب چیک پوائنٹس کو بھی ٹھیک بنایا ہے۔ AWS Trainium پر NeMo Megatron کے ساتھ تقسیم شدہ تربیت کے بارے میں اضافی معلومات کے لیے، دیکھیں NeMo Megatron کے لیے AWS نیوران حوالہ. لاما ماڈل کی ٹھیک ٹیوننگ شروع کرنے کا ایک اچھا ذریعہ یہاں پایا جا سکتا ہے، Llama2 فائن ٹیوننگ. منظم AWS ٹرینیم آن کے ساتھ شروع کرنے کے لیے ایمیزون سیج میکردیکھ، AWS Trainium اور Amazon SageMaker کے ساتھ اپنے ML ماڈلز کو تربیت دیں۔.


مصنفین کے بارے میں

Frugality meets Accuracy: Cost-efficient training of GPT NeoX and Pythia models with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.گوراو گپتا فی الحال Amazon Web Services (AWS) AI لیبز میں ایک اپلائیڈ سائنٹسٹ ہے۔ ڈاکٹر گپتا نے یو ایس سی ویٹربی سے پی ایچ ڈی مکمل کی۔ اس کی تحقیقی دلچسپیاں ترتیب وار ڈیٹا ماڈلنگ، جزوی تفریق مساوات سیکھنے، مشین لرننگ کے لیے انفارمیشن تھیوری، فریکشنل ڈائنامیکل ماڈلز، اور پیچیدہ نیٹ ورکس پر محیط ہیں۔ وہ فی الحال LLMs کے تربیتی رویے، PDEs کے ساتھ وژن ماڈلز، معلوماتی نظریاتی ملٹی موڈیلیٹی ماڈلز پر لاگو اور ریاضی کے مسائل پر کام کر رہا ہے۔ ڈاکٹر گپتا کی اعلیٰ جرائد/کانفرنسز جیسے نیوریپس، آئی سی ایل آر، آئی سی ایم ایل، نیچر، آئی ای ای ای کنٹرول سوسائٹی، اے سی ایم سائبر فزیکل سوسائٹی میں اشاعتیں ہیں۔

Frugality meets Accuracy: Cost-efficient training of GPT NeoX and Pythia models with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.بین سنائیڈر AWS ڈیپ لرننگ کے ساتھ ایک اپلائیڈ سائنسدان ہے۔ اس کی تحقیقی دلچسپیوں میں بنیادی ماڈل، کمک سیکھنے، اور غیر مطابقت پذیر اصلاح شامل ہیں۔ کام سے باہر، وہ سائیکلنگ اور بیک کنٹری کیمپنگ سے لطف اندوز ہوتا ہے۔

Frugality meets Accuracy: Cost-efficient training of GPT NeoX and Pythia models with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.امیتھ (ر) ممدالہ AWS Annapurna Labs میں سینئر مشین لرننگ ایپلی کیشن انجینئرنگ ہے۔ ڈاکٹر ممیدالا نے اوہائیو اسٹیٹ یونیورسٹی سے اعلیٰ کارکردگی والے کمپیوٹنگ اور کمیونیکیشن میں پی ایچ ڈی مکمل کی۔ IBM ریسرچ میں اپنے دور کے دوران، ڈاکٹر ممیدالا نے کمپیوٹرز کی BlueGene کلاس میں حصہ ڈالا جس کی وجہ سے اکثر سب سے زیادہ طاقتور اور طاقتور سپر کمپیوٹرز کی ٹاپ500 درجہ بندی ہوتی ہے۔ اس منصوبے کو 2009 میں نیشنل میڈل آف ٹیکنالوجی اینڈ انوویشن سے نوازا گیا۔ فنانشل ہیج فنڈ میں ایک AI انجینئر کے طور پر ایک مختصر مدت کے بعد، ڈاکٹر ممیدالا نے اناپورنا لیبز میں شمولیت اختیار کی جس میں بڑی زبان کی ماڈل ٹریننگ پر توجہ دی گئی۔

Frugality meets Accuracy: Cost-efficient training of GPT NeoX and Pythia models with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.جون (لیوک) ہوان AWS AI Labs میں پرنسپل سائنسدان ہیں۔ ڈاکٹر ہوان AI اور ڈیٹا سائنس پر کام کرتے ہیں۔ انہوں نے معروف کانفرنسوں اور جرائد میں 180 سے زیادہ ہم مرتبہ نظرثانی شدہ مقالے شائع کیے ہیں۔ وہ 2009 میں NSF فیکلٹی ارلی کیرئیر ڈیولپمنٹ ایوارڈ کے وصول کنندہ تھے۔ AWS میں شامل ہونے سے پہلے، انہوں نے Baidu ریسرچ میں ایک ممتاز سائنسدان اور Baidu Big Data Laboratory کے سربراہ کے طور پر کام کیا۔ انہوں نے StylingAI Inc. کی بنیاد رکھی، جو ایک AI اسٹارٹ اپ ہے، اور 2019-2021 میں بطور CEO اور چیف سائنٹسٹ کام کیا۔ انڈسٹری میں آنے سے پہلے، وہ کنساس یونیورسٹی کے EECS ڈیپارٹمنٹ میں چارلس ای اور میری جین اسپر پروفیسر تھے۔

Frugality meets Accuracy: Cost-efficient training of GPT NeoX and Pythia models with AWS Trainium | Amazon Web Services PlatoBlockchain Data Intelligence. Vertical Search. Ai.شروتی کوپارکر AWS میں ایک سینئر پروڈکٹ مارکیٹنگ مینیجر ہے۔ وہ صارفین کو ان کی مشین لرننگ کی ضروریات کے لیے Amazon EC2 ایکسلریٹڈ کمپیوٹنگ انفراسٹرکچر کو دریافت کرنے، جانچنے اور اپنانے میں مدد کرتی ہے۔

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ