کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کرتے ہوئے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کرتے ہوئے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز

کئی دہائیوں سے، Amazon نے مشین لرننگ (ML) کا آغاز اور اختراع کیا ہے، جو اپنے صارفین کے لیے خوشگوار تجربات لے کر آیا ہے۔ ابتدائی دنوں سے، ایمیزون نے مختلف استعمال کے معاملات جیسے کہ کتاب کی سفارشات، تلاش، اور دھوکہ دہی کا پتہ لگانے کے لیے ایم ایل کا استعمال کیا ہے۔ باقی صنعت کی طرح، تیز ہارڈ ویئر کی ترقی نے ایمیزون ٹیموں کو نیورل نیٹ ورکس اور ڈیپ لرننگ (DL) کا استعمال کرتے ہوئے ماڈل آرکیٹیکچرز کو آگے بڑھانے کی اجازت دی ہے۔

ایمیزون سرچ کے اندر ایم 5 پروگرام ایمیزون کے لیے دریافت سیکھنے کی حکمت عملی کا مالک ہے اور کثیر لسانی، ملٹی لوکل، ملٹی اینٹی، ملٹی ٹاسک، اور ملٹی موڈل جیسے ٹیکسٹ، امیج اور ویڈیو میں بڑے پیمانے پر ماڈلز تیار کرتا ہے۔ M5 پروگرام لاگت کی اصلاح پر سخت کنٹرول برقرار رکھتے ہوئے ایمیزون بھر میں سینکڑوں ایم ایل ٹیموں کو عالمگیر سرایت اور بڑے پیمانے پر فاؤنڈیشن ماڈل پیش کر رہا ہے۔ اس کو حاصل کرنے کے لیے، M5 ٹیم لاگت کو کم کرنے کے لیے باقاعدگی سے نئی تکنیکوں کا جائزہ لیتی ہے۔

بہت سی ایم ایل تنظیموں کی طرح، ایکسلریٹر بڑے پیمانے پر ڈی ایل ٹریننگ اور انفرنس کو تیز کرنے کے لیے استعمال ہوتے ہیں۔ جب AWS نے پہلی ریلیز کے ساتھ مقصد سے بنایا ہوا ایکسلریٹر لانچ کیا۔ AWS Inferentia 2020 میں، M5 ٹیم نے تیزی سے شروع کیا پیداواری کام کے بوجھ کو زیادہ مؤثر طریقے سے تعینات کرنے کے لیے ان کا استعمال کریں۔، لاگت کی بچت اور تاخیر کو کم کرنا۔ پچھلے سال AWS نے اپنا آغاز کیا۔ AWS ٹرینیم ایکسلریٹر، جو اگلی نسل کے ڈی ایل ماڈلز کی تیاری اور تعمیر کے لیے فی قیمت کارکردگی کو بہتر بناتے ہیں۔ اس پوسٹ میں، ہم اس بات پر تبادلہ خیال کرتے ہیں کہ M5 کس طرح اپنے ماڈلز کو تربیت دینے کی لاگت کو 30% تک کم کرنے میں کامیاب رہا، اور راستے میں سیکھے گئے کچھ بہترین طریقوں کا اشتراک کریں۔

ٹرینیم کی مثالیں۔

مقصد سے بنائے گئے ایکسلریٹروں میں ترقی کے ساتھ، Amazon AWS Inferentia اور Trainium کی شکل میں زبردست ایکسلریٹر بھی فراہم کرتا ہے۔ جیسا کہ ان کے ناموں سے ظاہر ہوتا ہے، یہ چپس بالترتیب تخمینہ اور تربیتی کام کے بوجھ کی ضروریات سے تجاوز کرنے کے لیے موزوں ہیں۔ فاؤنڈیشن ماڈلز کی بڑے پیمانے پر تربیت کے لیے جو سائز میں اربوں پیرامیٹرز تک پہنچتے ہیں، Trainium Trn1 اور Trn1n مثالیں۔ ان کی خصوصیات کی وجہ سے مثالی انتخاب ہیں۔ Trn1 مثالیں جدید ترین کے ذریعہ تقویت یافتہ ہیں۔ نیورون کور-v2، اور ایکسلریٹر کمپیوٹ اور میموری کی کافی مقدار ہے۔ نیٹ ورکنگ بینڈوڈتھ (1 Gbs) کی زیادہ مقدار کے لیے بھی Trn1,600n مثالوں کا انتخاب کیا جا سکتا ہے، لہذا لاگت کی اصلاح کو ذہن میں رکھتے ہوئے کارکردگی کی تربیت کے لیے مثالی طور پر موزوں ہیں۔

ایکسلریٹر استعمال کرنے کے لیے، آپ کو ان کو سپورٹ کرنے کے لیے ایک سافٹ ویئر پرت کی ضرورت ہے۔ Trn اور Inf چپس کے ساتھ، AWS نیوران SDK PyTorch XLA کی مدد سے ایمیزون کے مقصد سے بنائے گئے ایکسلریٹر کو کھولتا ہے۔ PyTorch XLA PyTorch کے شوقین موڈ کو سست موڈ گراف پر مبنی نفاذ میں تبدیل کرتا ہے۔ یہ گراف پھر استعمال کیے جاتے ہیں اور ایکسلریٹر کے ساتھ استعمال کرنے کے لیے مزید مرتب کیے جاتے ہیں۔ PyTorch Neuron (Neuron SDK کا حصہ) PyTorch صارفین کو اس قابل بناتا ہے کہ وہ اپنے ماڈلز کو Trainium NeuronCores پر کوڈ کی چند سطروں کے ساتھ تربیت دیں۔

ماڈل اور کام کا بوجھ

ایم 5 ٹیم ایمیزون بھر میں مختلف ٹیموں کو خوشی لانے میں مدد کرنے کے لیے بنیادی ماڈلز اور عالمگیر نمائندگی کو تربیت دیتی ہے اور تعینات کرتی ہے۔ Amazon.com گاہکوں. ایسا ہی ایک ماڈل ٹیکسٹ انکوڈر ماڈل ہے جس کے بعد ملٹی لیئر پرسیپٹرون (MLP) ہوتا ہے جس میں واضح یا مضمر خصوصیت کے تعاملات ہیں جن کی وضاحت عصبی نیٹ ورک کے فن تعمیر کے ذریعے سینکڑوں ملین قابل تربیت پیرامیٹرز کے ساتھ کی گئی ہے۔ اس ماڈل کو اربوں ٹوکنز پر تربیت دی جاتی ہے، اور اسے آف لائن بیچ انفرنس سیٹنگ میں لاکھوں سرایت کرنے کے لیے استعمال کیا جاتا ہے۔ یہ ایمبیڈنگز گاہک کو درپیش ٹائر-1 ایمیزون سروس کے لیے ان پٹ ہیں۔

پیداواری پائپ لائن کا بنیادی ڈھانچہ استعمال کرتا ہے۔ AWS بیچ ساتھ منصفانہ حصہ قطار میں لگانے کی حکمت عملی، ماڈل ٹریننگ کے لئے کمپیوٹ کے طور پر EFA- فعال ملٹی نوڈ trn1.32xlarge کلسٹر کا استعمال کرتے ہوئے فنکشنل طور پر، پروڈکشن پائپ لائن انکریمنٹل ماڈل ٹریننگ، تربیت یافتہ ماڈل کی تشخیص، اور تربیت یافتہ ماڈل پر آف لائن بیچ کا اندازہ انجام دیتی ہے، یہ سب PyTorch کو بنیادی DL لائبریری کے طور پر استعمال کرتی ہے۔

اہداف

اپنے صارفین کو خوش کرنا ایک اولین اصول ہے۔ پائپ لائن کی کسٹمر کا سامنا کرنے والی نوعیت کے پیش نظر، یہ ضروری ہے کہ تمام سروس لیول ایگریمنٹس (SLAs) کو بغیر کسی رد و بدل کے پورا کیا جائے۔ ہم نے اپنی موجودہ GPU پروڈکشن پائپ لائن کو اپنانے اور اسے Trainium میں منتقل کرنے کے لیے قبولیت کے دو اہم معیارات کی نشاندہی کی:

  • ماڈل کا معیار - ہمارے ماڈلز کا معیار صارفین کے تجربے کو براہ راست متاثر کرتا ہے۔ ہم چاہتے ہیں کہ GPU اور Trainium کے درمیان ماڈل کے معیار میں 0.1% سے کم فرق ہو۔
  • ٹریننگ تھرو پٹ - ہم اپنے صارفین کو تازہ ترین تجربہ فراہم کرنے کے لیے وقتاً فوقتاً اپنے ماڈلز کو تربیت دیتے ہیں۔ ہم تقاضا کرتے ہیں کہ ہمارے پروڈکشن SLAs کو پورا کرنے کے لیے پہلے سے طے شدہ مدت (جیسے 1 ہفتہ) کے اندر ماڈل کنورجنسی حاصل کی جائے۔

مندرجہ ذیل حصوں میں، ہم اس معیار سے پیچھے ہٹ کر کام کرنے کے اپنے سفر، اور Amazon پیمانے پر پیداواری کام کے بوجھ کو سپورٹ کرنے کے لیے اپنے سیکھنے کا اشتراک کرتے ہیں۔

تربیتی اسکرپٹ

ماڈل ٹریننگ کے ساتھ شروع کرنے سے پہلے، ہمیں ٹریننگ اسکرپٹ میں تبدیلیاں کرنے کی ضرورت ہے تاکہ اسے XLA کے مطابق بنایا جا سکے۔ ماڈل کے سائز کو دیکھتے ہوئے، ہم ماڈل کو تربیت دینے کے لیے ڈسٹری بیوٹڈ ڈیٹا متوازی (DDP) استعمال کرتے ہیں۔ DDP ہمیں بغیر کسی کوڈ میں تبدیلی کے، ماڈل ٹریننگ چلانے کے لیے استعمال ہونے والی مشینوں کی تعداد کو بڑھا کر ماڈل ٹریننگ کے تھرو پٹ کو بڑھانے کی اجازت دیتا ہے۔ ہم نے میں دی گئی ہدایات پر عمل کیا۔ نیورون پائی ٹارچ ایم ایل پی ٹریننگ ٹیوٹوریل ہماری تربیتی اسکرپٹس میں XLA مخصوص تعمیرات شامل کرنے کے لیے۔ یہ کوڈ تبدیلیاں لاگو کرنے کے لیے سیدھی ہیں۔ ذیل میں مشق سے کچھ اہم تکنیکی سیکھنے ہیں جنہوں نے ہمارے ماڈل تھرو پٹ کو بہت بہتر بنایا:

  • xm.mark_step() کی جگہ کا تعین - xm.mark_step() سستی سے جمع کیے گئے حسابی گراف کو مرتب اور چلاتا ہے۔ دعوت دینا mark_step بہت زیادہ بار چھوٹے گرافس کی ایک بڑی تعداد کی طرف لے جائے گا، جب کہ اسے بہت کم بار استعمال کرنے سے چند، لیکن بڑے گراف ہوں گے۔ آپ کی درخواست پر منحصر ہے، آپ کی ماڈل ٹریننگ کا تھرو پٹ اور عمل درآمد آپ کی پلیسمنٹ کی بنیاد پر مختلف ہوگا۔ xm.mark_step(). ہمارا نفاذ ایک جگہ رکھتا ہے۔ xm.mark_step() ایک آگے اور پیچھے پاس کے بعد، اور ایک اصلاحی قدم کے بعد۔
  • XLA ملٹی پروسیسنگ ڈیوائس لوڈر کے ساتھ ڈیٹا لوڈر ریپنگ - یہ ایک اہم قدم ہے جسے آسانی سے یاد کیا جا سکتا ہے۔ ملٹی پروسیسنگ ڈیوائس لوڈر torch_xla.distributed.parallel_loader.MpDeviceLoader ہر XLA ڈیوائس پر ٹریننگ ڈیٹا لوڈ کرتا ہے جس میں پہلے سے لوڈ کرنے کے اختیارات ہوتے ہیں اور تھرو پٹ کو بہتر بنانے کے لیے ڈیوائس کے ساتھ ڈیٹا لوڈنگ کو اوورلیپ کرتے ہیں۔ ڈیوائس لوڈر بھی پکارتا ہے۔ xm.mark_step() اور اس لیے میزبان سے ڈیوائس پر ڈیٹا لوڈ کرنے کے لیے گراف بنانے کے قابل ہے۔

ٹرینیم کے لیے تالیف

روایتی طور پر، GPUs کے ساتھ ماڈل ڈویلپمنٹ سائیکل میں ماڈل یا ٹریننگ اسکرپٹ میں تبدیلیاں کرنا اور اسے براہ راست GPU ڈیوائس پر چلانا شامل ہوتا ہے۔ ایکسلریٹر جیسے ٹرینیم جو ایکس ایل اے استعمال کرتے ہیں ان کو ایک اضافی قدم کی ضرورت ہوتی ہے اس سے پہلے کہ ماڈل ٹریننگ ایکسلریٹر پر چلائی جا سکے۔ XLA کمپیوٹیشن گرافس کو مرتب کرنے کے بعد ہی چلایا جا سکتا ہے۔ عام طور پر، اس تالیف کو انجام دینے کے دو طریقے ہیں: Ahead of Time (AOT)، جہاں آپ پہلے تمام گرافس کو ٹریس اور مرتب کرتے ہیں اور پھر انہیں چلاتے ہیں، یا Just In Time (JIT)، جہاں گرافس کو ٹریس کیا جاتا ہے، مرتب کیا جاتا ہے، اور چلایا جاتا ہے۔ سامنا کر رہے ہیں. نیوران SDK ان دونوں کو باکس سے باہر فراہم کرتا ہے۔ عام طور پر، AOT تالیف پہلے کی جاتی ہے۔ اس تالیف کے بعد گراف چلائے جاتے ہیں۔ اگر نئے گرافس کا سامنا ہوتا ہے تو، نیورون رن ٹائم ان کو چلانے سے پہلے JIT کی تالیف کا مطالبہ کرتا ہے۔ AOT تالیف کرنے کے لیے، نیوران SDK فراہم کرتا ہے۔ neuron_parallel_compile، ایک تالیف کی افادیت جو ٹریننگ اسکرپٹ کے ٹرائل رن سے گراف نکالتی ہے اور متوازی AOT تالیف کرتی ہے۔

AOT کی تالیف کا ایک اہم پہلو اس بات کو یقینی بنانا ہے کہ تربیت کے دوران کوئی نیا حسابی گراف نہ بنایا جائے۔ نئے کمپیوٹیشن گرافس کا ایک ذریعہ (اور اس وجہ سے دوبارہ کمپائلیشنز) ماڈل ٹریننگ کے دوران ٹریننگ بیچز کی متحرک شکلیں ہیں۔ ہم نے پایا کہ جامد شکلوں اور فکسڈ سائز کے بیچوں کا استعمال ٹریننگ کے وقت کی تالیفات کو ختم کرتا ہے اور ماڈل کی درستگی پر کسی اثر کے بغیر ٹریننگ تھرو پٹ کو بہت بہتر بناتا ہے۔ تربیت پر اس طرح کی رکاوٹوں کو نافذ کرتے ہوئے، ہم نے مشاہدہ کیا کہ AOT تالیف کے دوران تمام گرافس کو ٹریس کرنے کے لیے ماڈل ٹریننگ کے صرف 4-5 مراحل، ماڈل کی توثیق کا ایک مرحلہ، اور ماڈل کو ایک بار چیک کرنا ضروری ہے۔ یہ نوٹ کرنا ضروری ہے کہ نیوران SDK مسلسل تیار ہو رہا ہے، اور مستقبل میں متحرک شکلوں کو بھی سپورٹ کرے گا۔

مزید برآں، مرتب شدہ گرافس میں محفوظ کیے جاتے ہیں۔ نیوران پرسسٹنٹ کیشے ڈسک پر یا ایک میں ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) بالٹی۔ یہ خاص طور پر پیداواری کام کے بوجھ کے لیے مفید ہے جہاں ماڈل فن تعمیر اور تربیت کی ترتیب تبدیل نہیں ہوتی ہے۔ لہذا، تالیف کا اوور ہیڈ صرف ایک بار خرچ ہوتا ہے۔ کیشے کا استعمال اتنا ہی آسان ہے جتنا کہ ماحول کا جھنڈا ترتیب دینا:

export NEURON_COMPILE_CACHE_URL="s3://BUCKET/KEY"

نیوران کمپائلر بھی تین فراہم کرتا ہے۔ مرتب کرنے والے کی سطح کی اصلاح کے اختیارات (O1, O2, O3) تالیف کے وقت اور ماڈل رن تھرو پٹ کو متوازن کرنے کے لیے۔ O1 کمپیوٹ گراف پر بنیادی اصلاح کو قابل بناتا ہے اور تالیف کے وقت کو کم سے کم کرتا ہے، O3 زیادہ تالیف کے وقت کی قیمت پر بہتر ماڈل رن تھرو پٹ فراہم کرتا ہے، اور O2 (پہلے سے طے شدہ آپشن) دونوں کے درمیان توازن ہے۔ ہمارے استعمال کے معاملے کے لیے، ہم نے O1 آپٹیمائزیشن کا استعمال کیا اور تالیف کے وقت میں 86% کمی کا مشاہدہ کیا جس میں ماڈل کی درستگی کے میٹرکس میں کوئی تبدیلی نہیں کی گئی، جبکہ پہلے سے طے شدہ آپٹیمائزیشن (O5) کے مقابلے تھرو پٹ میں تقریباً 7–2% کمی کا مشاہدہ کیا۔ استعمال کے معاملے پر منحصر ہے، آپ اصلاح کی مختلف سطحوں کا انتخاب کر سکتے ہیں۔

خلاصہ کرنے کے لیے، ہم نے تالیف کے لیے درج ذیل جھنڈے استعمال کیے:

NEURON_CC_FLAGS="--target trn1 --auto-cast all --auto-cast-type bf16 --model-type transformer --optlevel O1"

چیک پوائنٹ کی مطابقت

جب تالیف کامیابی سے مکمل ہو جاتی ہے، تو ہم اپنے ماڈلز کو ٹرینیئم پر تربیت دینے کے لیے آگے بڑھ سکتے ہیں۔ جیسا کہ پہلے ذکر کیا گیا ہے، ہم اپنے ماڈلز کو بتدریج تربیت دیتے ہیں، یعنی ہم پہلے سے تربیت یافتہ ماڈل چیک پوائنٹ لوڈ کرتے ہیں اور نئے ڈیٹا کے ساتھ تربیت جاری رکھتے ہیں۔ PyTorch اور PyTorch XLA چیک پوائنٹ انٹرآپریبلٹی کے ذریعے ایکسلریٹر کے درمیان ہموار منتقلی کی اجازت دیتے ہیں۔ GPU اور Trainium کے درمیان منتقل ہونے کی لچک کی وجہ سے ہم بغیر کسی رکاوٹ کے پچھلے GPU ماڈل کو لوڈ کرنے اور Trainium مشینوں پر ٹرین کرنے کے قابل بنا۔ یہ اس بات کو یقینی بنانے کے لیے اہم تھا کہ ہم اپنے ماڈل کو پہلے سے بہترین تربیت یافتہ ماڈل کے ساتھ شروع کر سکتے ہیں بغیر کسی پیداواری وقت یا ماڈل کی درستگی میں کمی کے۔

چونکہ GPU ماڈل معیاری PyTorch ماڈل کی بچت کی افادیت کا استعمال کرتے ہوئے محفوظ کیا گیا تھا، ہم ٹرینیم آلات پر GPU ماڈل لوڈ کرنے کے لیے PyTorch چیک پوائنٹ لوڈنگ یوٹیلیٹی استعمال کرنے کے قابل تھے۔

مثال کے طور پر، GPU/CPU پر، آپ مندرجہ ذیل کوڈ کے ساتھ ماڈل کو محفوظ کر سکتے ہیں:

torch.save(model.state_dict(), PATH)

پھر آپ ماڈل کو ٹرینیم پر واپس لوڈ کرتے ہیں:

import torch_xla.core.xla_model as xm
xla_device = xm.xla_device()
model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(xla_device)

اسی طرح، آپ مندرجہ ذیل کوڈ کے ساتھ ٹرینیم پر ماڈل کو محفوظ کر سکتے ہیں:

import torch_xla.core.xla_model as xm
# automatically moves the data to CPU for the master device
xm.save(model.state_dict(), PATH) 

اور ماڈل کو واپس GPU/CPU پر لوڈ کریں:

model = MyModel(*args, **kwargs)
model.load_state_dict(torch.load(PATH))
model.to(device) # can be any device

درحقیقت، چونکہ ہم ماڈل ٹریننگ کے لیے ڈی ڈی پی استعمال کرتے ہیں، اس لیے ماڈل لوڈنگ پچھلی چوکی کو تربیت دینے کے لیے استعمال ہونے والی مشینوں کی تعداد کے بارے میں نادانستہ ہے۔ یہ ہمیں Trn1 فلیٹ کو افقی طور پر اسکیل کرنے کی اجازت دیتا ہے جس میں کوڈ میں کوئی تبدیلی یا ماڈل ٹریننگ پر منفی اثرات نہیں ہوتے۔ یہ PyTorch پر مبنی چوکیاں براہ راست استعمال کی جا سکتی ہیں یا یہاں تک کہ AWS Inferentia2 یا دیگر ایکسلریٹروں پر استنباطی استعمال کے کیسز کے لیے ٹارچ اسکرپٹ بھی کی جا سکتی ہیں۔

آپریشنل استحکام

اس بات پر کافی زور نہیں دیا جا سکتا کہ پیداوار میں کام کے بوجھ کو پورا کرنے کے لیے متعدد SLAs کی ضرورت ہوتی ہے۔ ہمارے استعمال کے معاملے کے لیے، ماڈل کوالٹی اور ٹریننگ تھرو پٹ SLAs کے علاوہ، یہ ضروری ہے کہ پروڈکشن پائپ لائن آپریشنل طور پر مستحکم ہو، یعنی ماڈل ٹریننگ، تشخیص، اور تخمینہ کے دوران کم سے کم وقت اور رکاوٹیں۔

جیسا کہ موجودہ GPU پر مبنی پائپ لائن کے ساتھ، ہم نے پائپ لائن کو فعال طور پر مستحکم بنانے کے لیے متعدد میکانزم شامل کیے ہیں۔ ماڈل ٹریننگ شروع کرنے سے پہلے، ہم مشینوں کی صحت کا اندازہ لگانے کے لیے متعدد سینیٹی ٹیسٹ چلاتے ہیں۔ ان ٹیسٹوں میں عام طور پر تیز رفتار آلات کی صحت کی تصدیق کے لیے ٹینسر کے سادہ آپریشن شامل ہوتے ہیں۔ ہم نے مشاہدہ کیا ہے کہ تقسیم شدہ تربیت کے لیے، مثالوں کے درمیان اجتماعی رابطے کی تصدیق کے لیے ٹیسٹ چلانا بھی ضروری ہے۔ ہم نے استعمال کیا۔ NCCOM ٹیسٹ سویٹ اس کو حاصل کرنے کے لیے نیوران SDK سے، مختلف قسم کے آپریشنز چلا رہے ہیں جیسے آل-گیدر، آل-ریڈوس، اور کم-سکیٹر۔

یہاں تک کہ ہم نے جن تجاویز کا ذکر کیا ہے ان پر عمل کرنے کے بعد بھی، ہم نے مشاہدہ کیا ہے کہ کسی بھی پائپ لائن میں عارضی مسائل ناگزیر ہیں، قطع نظر کہ بنیادی ایکسلریٹر۔ کسی بھی تربیتی پائپ لائن میں لچک پیدا کرنے کے لیے، ہم تجویز کرتے ہیں کہ ان ممکنہ مسائل کو حل کرنے کے لیے دوبارہ کوشش کرنے والے میکانزم کی تعمیر کریں۔ ہم استعمال کرتے ہیں AWS بیچ خودکار دوبارہ کوششیں۔ ماڈل ٹریننگ کے دوران عارضی ناکامی کا سامنا کرنے والی ملازمتوں کی دوبارہ کوشش کرنا۔ اگر تربیت کے اختتام پر کسی ناکامی کا سامنا کرنا پڑتا ہے تو یہ دوبارہ شروع کرنا مہنگا پڑ سکتا ہے۔ اس مسئلے کا مقابلہ کرنے کے لیے، ہم نے پہلے سے تربیت یافتہ ماڈل چیک پوائنٹ کو لوڈ کرنے اور اس مقام سے تربیت جاری رکھنے کے لیے اپنے تربیتی اسکرپٹ کو ڈھال لیا ہے۔ اس فعالیت کے ساتھ، ہم کم سے کم اوور ہیڈ کے ساتھ ناکام تربیتی ملازمتوں کو جارحانہ طور پر دوبارہ شروع کرنے کے قابل ہیں۔

ان لچکدار میکانزم کے ساتھ، ہم Trn98.5 پر اپنے کام کے بوجھ کے لیے 1% کامیابی کی شرح حاصل کرنے میں کامیاب ہوئے، جو کہ ہماری موجودہ GPU پائپ لائن کی کامیابی کی شرحوں کے مقابلے میں ہے۔

نتائج کی نمائش

اپنے ماڈلز کی درستگی کی توثیق کرنے کے لیے، ہم نے ایک ہی GPU چیک پوائنٹ سے دو ماڈلز شروع کیے، اور ایک کو ٹرینیم پر اور دوسرے کو موازنہ کرنے والے GPU پر تربیت دی۔ دونوں ماڈلز کو ایک ہی ٹریننگ ہائپر پیرامیٹرز کے ساتھ تربیت دی گئی تھی۔ میٹرکس کیلکولیشن کے لیے استعمال ہونے والا ڈیٹاسیٹ ایک ہولڈ آؤٹ ڈیٹاسیٹ ہے، اور ہم ہر N عالمی قدم پر اس ڈیٹاسیٹ پر ماڈل کی درستگی کا جائزہ لیتے ہیں۔ X-axis عالمی قدم ہے، اور Y-axis ماڈل کی درستگی ہے۔ ہم نے مندرجہ ذیل گراف میں ہر نقطہ پر ماڈل کی درستگی میں 0.1% سے کم فرق دیکھا۔

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عی

مزید برآں، ماڈل ٹریننگ کی لاگت کی تاثیر کا جائزہ لینے کے لیے، ہم ماڈل کنورجنس تک پہنچنے کے لیے لیے گئے وال کلاک کے وقت کا موازنہ کرنے کو ترجیح دیتے ہیں۔ ہمیں یقین ہے کہ یہ لاگت کی بچت کا زیادہ عملی نظریہ فراہم کرتا ہے جیسا کہ فی ٹوکن لاگت، حاصل شدہ FLOPS/ڈالر، اور دیگر عوامل کے مقابلے۔ trn1.32xl اور موازنہ کے تربیتی وقت پر غور کرنا ایمیزون لچکدار کمپیوٹ کلاؤڈ (Amazon EC2) مثالوں میں، ہم نے مشاہدہ کیا ہے کہ ٹرینیئم ماڈل کنورجنسی کے لیے 30% تک سستی قیمت پیش کرتا ہے۔

نتیجہ

آپ کے DL کام کے بوجھ کے لیے مختلف ایکسلریٹر کا جائزہ لیتے وقت بہت سے عوامل پر غور کرنا چاہیے۔ کچھ سب سے اہم ماڈل کا معیار، تھرو پٹ، لاگت اور دستیابی ہیں۔ یہ یقینی بنانا اہم ہے کہ آپ کے منتخب کردہ ایکسلریٹر کی بنیاد پر آپ کے ماڈل کے معیار اور تھرو پٹ کو قربان نہ کیا جائے۔

اناپورنا نیوران ٹیم کے ساتھ ہماری شراکت اور تعاون کی بدولت، Amazon Search M5 ٹیم ٹرینیم میں جا کر 30% تک لاگت بچانے میں کامیاب رہی ہے۔ ٹیم ٹرینیئم کو استعمال کرنے اور مارکیٹ میں موازنہ ایکسلریٹر کے ساتھ ماڈل کوالٹی اور تھرو پٹ برابری حاصل کرنے کے قابل ہے۔ چیک پوائنٹ انٹرآپریبلٹی اور XLA کی حمایت کے ساتھ کم سے کم کوڈ کی تبدیلیوں نے M5 کو اپنے کام کے بوجھ کے لیے ایک سے زیادہ ایکسلریٹر کے درمیان انتخاب کرنے کی اجازت دی ہے۔ اس نے M5 ٹیم کو ٹرینیم کی بڑی کمپیوٹ طاقت سے فائدہ اٹھانے اور Amazon.com کے صارفین کو خوش کرنے کے لیے ایکسلریٹر اگنوسٹک حل تیار کرنے کے قابل بنایا ہے۔ آپریشنل نقطہ نظر سے، Trainium Amazon پیمانے پر ٹائر-1 خدمات کی حمایت کرنے کے قابل ثابت ہوا ہے۔ ایم 5 ٹیم کم ترین قیمتوں پر ایمیزون کے لیے بہترین ماڈلز فراہم کرنے کے لیے مزید کام کے بوجھ کو ٹرینیم میں منتقل کرتی رہتی ہے۔

خلاصہ یہ کہ M5 ٹیم ٹرینیم کو ایکسلریٹروں کے بیڑے میں شامل کرکے لاگت سے موثر، پیداواری درجے کی ML ٹریننگ انجام دینے میں کامیاب رہی ہے۔ ہم آپ کی حوصلہ افزائی کرتے ہیں کہ ٹرینیم اور دیگر نیوران ڈیوائسز جیسے AWS Inferentia پر ایک نظر ڈالیں تاکہ ML ورک بوجھ کے لیے مقصد سے بنائے گئے Amazon سلکان کے فوائد حاصل کریں۔ مختلف ماڈلز پر مشتمل بہت سے ٹیوٹوریلز میں سے ایک کے ساتھ آسانی سے شروعات کریں۔ لاما 2، ٹرینیم پر دستیاب ہے۔.


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

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیابھینندن پٹنی ایمیزون سرچ میں ایک سینئر سافٹ ویئر انجینئر ہے۔ وہ توسیع پذیر تقسیم شدہ گہری سیکھنے کی تربیت اور حقیقی وقت کا اندازہ لگانے کے لیے نظام کی تعمیر اور ٹولنگ پر توجہ مرکوز کرتا ہے۔

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیجیمز پارک ایمیزون ویب سروسز میں ایک حل آرکیٹیکٹ ہے۔ وہ Amazon.com کے ساتھ AWS پر ٹکنالوجی کے حل کو ڈیزائن کرنے، بنانے اور ان کی تعیناتی کے لیے کام کرتا ہے، اور اسے AI اور مشین لرننگ میں خاص دلچسپی ہے۔ فارغ وقت میں وہ نئی ثقافتوں، نئے تجربات، اور جدید ترین ٹیکنالوجی کے رجحانات کے ساتھ اپ ٹو ڈیٹ رہنے سے لطف اندوز ہوتا ہے۔ آپ اسے تلاش کر سکتے ہیں۔ لنکڈ.

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیجیری منیل ایمیزون سرچ میں سافٹ ویئر انجینئر ہے۔ وہ تقسیم شدہ تربیتی انفراسٹرکچر کی کارکردگی، مضبوطی اور اسکیلبلٹی کو بہتر بنانے پر کام کرتا ہے۔

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیکین ایس یو ایمیزون سرچ میں سافٹ ویئر انجینئر ہے۔ وہ تربیت کی کارکردگی کو بہتر بنانے اور قابل توسیع تربیتی ورک فلو پر کام کرتا ہے۔ کام سے باہر، وہ پیدل سفر اور ٹینس پسند کرتا ہے.

کس طرح Amazon Search M5 نے AWS Trainium کا استعمال کر کے LLM ٹریننگ لاگت کے لیے 30% کی بچت کی۔ ایمیزون ویب سروسز پلیٹو بلاکچین ڈیٹا انٹیلی جنس۔ عمودی تلاش۔ عیRJ ایمیزون کے اندر ایک انجینئر ہے۔ وہ تربیت کے لیے تقسیم شدہ نظاموں کے لیے نظام بناتا اور بہتر بناتا ہے اور ML Inference کے لیے تاخیر کو کم کرنے کے لیے اپنانے والے نظام کو بہتر بنانے پر کام کرتا ہے۔ کام سے باہر، وہ کھانے کی ترکیبیں بنانے کے لیے جنریٹو اے آئی کا استعمال کر رہا ہے۔

ٹائم اسٹیمپ:

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