Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عی

Amazon SageMaker متفاوت کلسٹرز کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں

یہ پوسٹ Mobileye سے Chaim Rand کے ساتھ مل کر لکھی گئی ہے۔

کچھ مشین لرننگ (ML) کام کے بوجھ، جیسے کہ کمپیوٹر وژن ماڈلز کی تربیت یا کمک سیکھنے میں، اکثر GPU- یا عصبی نیٹ ورک ماڈل ٹریننگ کے ایکسلریٹر-انتہائی کام کو ڈیٹا پری پروسیسنگ کے CPU-انتہائی کام کے ساتھ ملانا شامل ہوتا ہے، جیسے امیج کو بڑھانا۔ جب دونوں قسم کے کام ایک ہی مثال کی قسم پر چلتے ہیں، تو ڈیٹا پری پروسیسنگ CPU پر رکاوٹ بن جاتی ہے، جس سے GPU کا استعمال کم ہوتا ہے۔ یہ مسئلہ وقت کے ساتھ بدتر ہوتا جاتا ہے کیونکہ GPUs کی نئی نسلوں کا تھرو پٹ CPUs کی نسبت تیز رفتاری سے بڑھتا ہے۔

اس مسئلے کو حل کرنے کے لیے، جولائی 2022 میں، ہم شروع کے لیے متضاد کلسٹرز ایمیزون سیج میکر ماڈل ٹریننگ، جو آپ کو تربیتی ملازمتیں شروع کرنے کے قابل بناتی ہے جو ایک ہی کام میں مختلف مثالوں کی اقسام کو استعمال کرتی ہے۔ یہ ڈیٹا پری پروسیسنگ پائپ لائن کے حصوں کو آف لوڈ کرنے کی اجازت دیتا ہے۔ کمپیوٹ کے لیے موزوں مثال کی قسمیں، جبکہ ڈیپ نیورل نیٹ ورک (DNN) کا کام جاری رہتا ہے۔ GPU یا ایکسلریٹڈ کمپیوٹنگ مثال کی اقسام. ہمارے بینچ مارکس CPU کے پابند TensorFlow کمپیوٹر وژن ماڈل ٹریننگ میں متضاد کلسٹرز کو فعال کرنے کے بعد 46% تک قیمت کی کارکردگی کا فائدہ دکھاتے ہیں۔

اسی طرح کے استعمال کے معاملے کے لیے، موبائلائیایک خود مختار گاڑیوں کی ٹیکنالوجیز ڈیولپمنٹ کمپنی کے پاس یہ اشتراک کرنا تھا:

ایک سے زیادہ مثالوں کی اقسام (سی پی یو اور جی پی یو/ایم ایل ایکسلریٹر) پر چلانے کے لیے سی پی یو سے منسلک گہری سیکھنے والے کمپیوٹر وژن ماڈل ٹریننگ کو منتقل کرکے، tf.data.service جس پر مبنی حل ہم نے بنایا ہے، ہم نے ٹریننگ کا وقت 40% کم کیا جبکہ ٹریننگ کی لاگت کو 30% تک کم کیا۔ ہم متضاد کلسٹرز کے بارے میں پرجوش ہیں جو ہمیں ایمیزون سیج میکر پر اس حل کو چلانے کی اجازت دیتا ہے۔

- AI انجینئرنگ، Mobileye

اس پوسٹ میں، ہم مندرجہ ذیل موضوعات پر گفتگو کرتے ہیں:

  • کس طرح متفاوت کلسٹرز CPU کی رکاوٹوں کو دور کرنے میں مدد کرتے ہیں۔
  • متضاد کلسٹرز اور دیگر متبادلات کب استعمال کریں۔
  • PyTorch اور TensorFlow میں حوالہ کے نفاذ
  • کارکردگی کے معیار کے نتائج
  • Mobileye میں متضاد کلسٹرز

AWS کی۔ تیز رفتار کمپیوٹنگ مثال فیملی میں AWS کسٹم چپس کے ایکسلریٹر شامل ہیں (AWS Inferentia, AWS ٹرینیمNVIDIA (GPUs)، اور گاڈی ایکسلریٹر حبانا لیبز (ایک انٹیل کمپنی) سے۔ نوٹ کریں کہ اس پوسٹ میں، ہم GPU اور ایکسلریٹر کی اصطلاحات کو ایک دوسرے کے ساتھ استعمال کرتے ہیں۔

کس طرح متفاوت کلسٹرز ڈیٹا پروسیسنگ کی رکاوٹوں کو دور کرتے ہیں۔

ڈیٹا سائنسدان جو گہری سیکھنے کے ماڈلز کو تربیت دیتے ہیں ان کا مقصد تربیت کی لاگت کو زیادہ سے زیادہ کرنا اور تربیت کے وقت کو کم کرنا ہے۔ اس کو حاصل کرنے کے لیے، ایک بنیادی اصلاح کا مقصد اعلیٰ GPU استعمال کرنا ہے، جو کہ اس کے اندر سب سے مہنگا اور نایاب وسیلہ ہے۔ ایمیزون لچکدار کمپیوٹ کلاؤڈ (ایمیزون EC2) مثال۔ یہ ML ورک بوجھ کے ساتھ زیادہ چیلنجنگ ہو سکتا ہے جو کلاسک GPU-انتہائی نیورل نیٹ ورک ماڈل کے فارورڈ اور بیک ورڈ پروپیگیشن کو CPU-انتہائی کاموں کے ساتھ جوڑتا ہے، جیسے کہ ڈیٹا پروسیسنگ اور کمپیوٹر وژن میں اضافہ یا کمک سیکھنے میں ماحولیاتی تخروپن چلانا۔ یہ کام کا بوجھ سی پی یو کے پابند ہو کر ختم ہو سکتا ہے، جہاں زیادہ سی پی یو ہونے کے نتیجے میں زیادہ تھرو پٹ اور تیز رفتار اور سستی تربیت ملے گی کیونکہ موجودہ ایکسلریٹر جزوی طور پر بیکار ہیں۔ کچھ معاملات میں، CPU کی رکاوٹوں کو ایک اعلی CPU:GPU تناسب کے ساتھ دوسری مثال کی قسم میں تبدیل کر کے حل کیا جا سکتا ہے۔ تاہم، ایسے حالات ہیں جہاں مثال کے خاندان کے فن تعمیر، اسٹوریج، یا نیٹ ورکنگ پر انحصار کی وجہ سے دوسری مثال کی قسم میں تبدیل ہونا ممکن نہیں ہے۔

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

مثال کے طور پر، ایک طاقتور GPU مثال کی قسم پر غور کریں، ml.p4d.24xlarge (96 vCPU، 8 x NVIDIA A100 GPUs)، CPU: 12:1 کے GPU تناسب کے ساتھ۔ آئیے فرض کریں کہ آپ کی تربیتی ملازمت کو 20 vCPUs کی ضرورت ہے تاکہ ایک GPU کو 100% استعمال میں رکھنے کے لیے کافی ڈیٹا کو پہلے سے پروسیس کیا جا سکے۔ لہذا، تمام 8 GPUs کو 100% استعمال میں رکھنے کے لیے، آپ کو 160 vCPUs مثال کی قسم کی ضرورت ہے۔ تاہم، ml.p4d.24xlarge 64 vCPUs سے کم ہے، یا 40%، GPU کے استعمال کو 60% تک محدود کرتا ہے، جیسا کہ مندرجہ ذیل خاکہ کے بائیں طرف دکھایا گیا ہے۔ کیا ایک اور ml.p4d.24xlarge مثال شامل کرنے سے مدد ملے گی؟ نہیں، کیونکہ کام کا CPU:GPU تناسب وہی رہے گا۔

متضاد کلسٹرز کے ساتھ، ہم دو ml.c5.18xlarge (72 vCPU) شامل کر سکتے ہیں، جیسا کہ خاکہ کے دائیں طرف دکھایا گیا ہے۔ اس کلسٹر میں کل کل vCPU 210 (96+2*72) ہے، جس سے CPU:GPU تناسب 30:1 ہو جاتا ہے۔ ان میں سے ہر ایک کمپیوٹ کی اصلاح شدہ مثالوں کو ڈیٹا پری پروسیسنگ CPU-انتہائی کام کے ساتھ آف لوڈ کیا جائے گا، اور GPU کے موثر استعمال کی اجازت دے گا۔ ml.c5.18xlarge کی اضافی لاگت کے باوجود، GPU کا زیادہ استعمال تیز تر پروسیسنگ کی اجازت دیتا ہے، اور اس وجہ سے زیادہ قیمت کی کارکردگی کے فوائد حاصل ہوتے ہیں۔

متضاد کلسٹرز اور دیگر متبادلات کب استعمال کریں۔

اس سیکشن میں، ہم وضاحت کرتے ہیں کہ کس طرح سی پی یو کی رکاوٹ کی شناخت کی جائے، اور اس کو حل کرنے کے بارے میں بات کی جائے کہ مثال کی قسم اسکیل اپ بمقابلہ متضاد کلسٹرز۔

سی پی یو کی رکاوٹ کی نشاندہی کرنے کا فوری طریقہ سی پی یو اور جی پی یو کی نگرانی کرنا ہے۔ استعمال کی پیمائش میں سیج میکر کی تربیتی ملازمتوں کے لیے ایمیزون کلاؤڈ واچ. آپ ان خیالات تک رسائی حاصل کر سکتے ہیں۔ AWS مینجمنٹ کنسول ٹریننگ جاب پیج کے مثالی میٹرکس ہائپر لنک کے اندر۔ متعلقہ میٹرکس کا انتخاب کریں اور 5 منٹ سے 1 منٹ کی ریزولوشن پر سوئچ کریں۔ نوٹ کریں کہ پیمانہ 100% فی vCPU یا GPU ہے، لہذا 4 vCPUs/GPUs کے ساتھ استعمال کی شرح 400% تک زیادہ ہو سکتی ہے۔ مندرجہ ذیل اعداد و شمار CloudWatch میٹرکس سے ایسی ہی ایک مثال ہے، جہاں CPU تقریباً 100% استعمال ہوتا ہے، جو کہ CPU کی رکاوٹ کو ظاہر کرتا ہے، جبکہ GPU کو کم استعمال کیا جاتا ہے۔

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عی

تفصیلی تشخیص کے لیے، تربیتی ملازمتیں اس کے ساتھ چلائیں۔ ایمیزون سیج میکر ڈیبگر جب آپ SageMaker Python SDK کا استعمال کرتے ہوئے SageMaker تخمینہ کنندہ بناتے ہیں تو ایک پروفائلر کنفیگریشن شامل کر کے وسائل کے استعمال کی حیثیت، اعدادوشمار اور فریم ورک آپریشنز کو پروفائل کریں۔ تربیتی کام جمع کرانے کے بعد، نتیجے کا جائزہ لیں۔ پروفائلر رپورٹ CPU رکاوٹوں کے لیے۔

اگر آپ یہ نتیجہ اخذ کرتے ہیں کہ آپ کی ملازمت اعلی CPU:GPU کمپیوٹ تناسب سے فائدہ اٹھا سکتی ہے، تو پہلے اسی مثال کے خاندان میں کسی اور مثال کی قسم تک اسکیل کرنے پر غور کریں، اگر کوئی دستیاب ہو۔ مثال کے طور پر، اگر آپ اپنے ماڈل کو ml.g5.8xlarge (32 vCPUs، 1 GPU) پر تربیت دے رہے ہیں، تو ml.g5.16xlarge (64 vCPUs، 1 GPU) تک اسکیل کرنے پر غور کریں۔ یا، اگر آپ ملٹی-GPU مثال کے طور پر ml.g5.12xlarge (48 vCPUs، 4 GPUs) کا استعمال کرتے ہوئے اپنے ماڈل کی تربیت کر رہے ہیں، تو ml.g5.24xlarge (96 vCPUs، 4 GPUs) تک اسکیل کرنے پر غور کریں۔ سے رجوع کریں۔ G5 مزید تفصیلات کے لیے مثال کے طور پر خاندان کی تفصیلات۔

بعض اوقات، اسکیلنگ اپ ایک آپشن نہیں ہے، کیونکہ ایک ہی مثال کے خاندان میں اعلی vCPU:GPU تناسب کے ساتھ کوئی مثال کی قسم نہیں ہے۔ مثال کے طور پر، اگر آپ ماڈل کو ml.trn1.32xlarge، ml.p4d.24xlarge، یا ml.g5.48xlarge، آپ کو SageMaker ماڈل ٹریننگ کے لیے متضاد کلسٹرز پر غور کرنا چاہیے۔

اسکیل کرنے کے علاوہ، ہم یہ نوٹ کرنا چاہیں گے کہ متفاوت کلسٹر کے اضافی متبادل ہیں، جیسے NVIDIA ڈالی، جو GPU پر امیج پری پروسیسنگ کو آف لوڈ کرتا ہے۔ مزید معلومات کے لیے رجوع کریں۔ TensorFlow ڈیٹا سروس، NVIDIA DALI، اور دیگر طریقوں سے ڈیٹا پری پروسیسنگ رکاوٹوں پر قابو پانا.

فیصلہ سازی کو آسان بنانے کے لیے، درج ذیل فلو چارٹ کو دیکھیں۔

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عی

سیج میکر متضاد کلسٹرز کا استعمال کیسے کریں۔

تیزی سے شروع کرنے کے لیے، آپ اس پوسٹ کے حصے کے طور پر فراہم کردہ TensorFlow یا PyTorch مثالوں پر براہ راست جا سکتے ہیں۔

اس سیکشن میں، ہم آپ کو ایک سادہ مثال کے ساتھ سیج میکر متضاد کلسٹر کو استعمال کرنے کے طریقہ کے بارے میں بتاتے ہیں۔ ہم فرض کرتے ہیں کہ آپ پہلے ہی جانتے ہیں کہ SageMaker Python SDK اور تخمینہ لگانے والے کلاس کے ساتھ ماڈل کو کیسے تربیت دینا ہے۔ اگر نہیں تو رجوع کریں۔ SageMaker Python SDK کا استعمال جاری رکھنے سے پہلے

اس خصوصیت سے پہلے، آپ نے ٹریننگ جاب کی تخمینہ کار کلاس کو کے ساتھ شروع کیا۔ InstanceCount اور InstanceType پیرامیٹرز، جو واضح طور پر فرض کرتا ہے کہ آپ کے پاس صرف ایک مثال کی قسم ہے (ایک یکساں کلسٹر)۔ متضاد کلسٹرز کی رہائی کے ساتھ، ہم نے نیا متعارف کرایا sagemaker.instance_group.InstanceGroup کلاس یہ ایک مخصوص مثال کی قسم کی ایک یا زیادہ مثالوں کے گروپ کی نمائندگی کرتا ہے، جو منطقی کردار ادا کرنے کے لیے ڈیزائن کیا گیا ہے (جیسے ڈیٹا پروسیسنگ یا نیورل نیٹ ورک آپٹیمائزیشن۔ آپ کے دو یا زیادہ گروپ ہو سکتے ہیں، اور ہر مثال کے گروپ کے لیے ایک حسب ضرورت نام بتا سکتے ہیں، مثال قسم، اور ہر مثال کے گروپ کے لیے مثالوں کی تعداد۔ مزید معلومات کے لیے، رجوع کریں۔ SageMaker Python SDK کا استعمال اور لو لیول سیج میکر APIs کا استعمال.

مثال کے گروپوں کی وضاحت کرنے کے بعد، آپ کو سیج میکر کو پڑھنے کے لیے اپنی ٹریننگ اسکرپٹ میں ترمیم کرنے کی ضرورت ہے۔ تربیتی ماحول کی معلومات جس میں متضاد کلسٹر کنفیگریشن شامل ہے۔ کنفیگریشن میں موجودہ مثال کے گروپ، ہر گروپ میں موجودہ میزبان، اور موجودہ میزبان اپنی درجہ بندی کے ساتھ کس گروپ میں رہتا ہے جیسی معلومات پر مشتمل ہے۔ مثال کے گروپوں کو تربیت اور ڈیٹا پروسیسنگ کے کچھ کاموں کے لیے تفویض کرنے کے لیے آپ اپنے تربیتی اسکرپٹ میں منطق بنا سکتے ہیں۔ اس کے علاوہ، آپ کے تربیتی اسکرپٹ کو انٹر-انسٹینس گروپ کمیونیکیشن یا تقسیم شدہ ڈیٹا لوڈنگ میکانزم کا خیال رکھنے کی ضرورت ہے (مثال کے طور پر، tf.data.service TensorFlow یا عام میں gRPC کلائنٹ سرور) یا کوئی دوسرا فریم ورک (مثال کے طور پر، اپاچی چمک).

آئیے ایک متفاوت تربیتی کام شروع کرنے اور رن ٹائم کے وقت ماحولیات کی ترتیب کو پڑھنے کی ایک سادہ مثال کے ذریعے چلتے ہیں۔

  1. تربیتی کام کی وضاحت اور آغاز کرتے وقت، ہم SageMaker تخمینہ لگانے والے کے لیے دلیل کے طور پر استعمال ہونے والے دو مثالی گروپ تشکیل دیتے ہیں:
    from sagemaker.instance_group import InstanceGroup
    data_group = InstanceGroup("data_group", "ml.c5.18xlarge", 2)
    dnn_group = InstanceGroup("dnn_group", "ml.p4d.24xlarge", 1)
    
    from sagemaker.pytorch import PyTorch
    estimator = PyTorch(...,
        entry_point='launcher.py',
        instance_groups=[data_group, dnn_group]
    )
  2. انٹری پوائنٹ ٹریننگ اسکرپٹ پر (نام launcher.py)، ہم متضاد کلسٹر کنفیگریشن کو پڑھتے ہیں کہ آیا مثال پری پروسیسنگ یا DNN کوڈ کو چلائے گی:
    from sagemaker_training import environment
    env = environment.Environment()
    if env.current_instance_group == 'data_group': ...;

اس کے ساتھ، آئیے ان کاموں کا خلاصہ کرتے ہیں جو SageMaker آپ کی طرف سے کرتا ہے، اور وہ کام جن کے لیے آپ ذمہ دار ہیں۔

SageMaker مندرجہ ذیل کام انجام دیتا ہے:

  1. مثال گروپ کی تعریف کے مطابق مختلف مثال کی اقسام فراہم کریں۔
  2. تمام یا مخصوص مثال کے گروپوں پر ان پٹ چینلز کی فراہمی۔
  3. مثال کے طور پر تربیتی اسکرپٹ اور انحصار تقسیم کریں۔
  4. ایک مخصوص مثال کے گروپ پر ایک MPI کلسٹر قائم کریں، اگر وضاحت کی گئی ہو۔

آپ درج ذیل کاموں کے ذمہ دار ہیں:

  1. مثال کے گروپوں کی وضاحت کرنے کے لیے اپنی شروعاتی تربیتی ملازمت کے اسکرپٹ میں ترمیم کریں۔
  2. تقسیم شدہ ڈیٹا پائپ لائن کو لاگو کریں (مثال کے طور پر، tf.data.service).
  3. اپنے انٹری پوائنٹ اسکرپٹ میں ترمیم کریں (دیکھیں۔ launcher.py مثال کے طور پر نوٹ بک میں) ایک واحد انٹری پوائنٹ ہونا جو تمام مثالوں پر چلے گا، یہ معلوم کرے گا کہ یہ کس مثال کے گروپ میں چل رہا ہے، اور متعلقہ رویے کو متحرک کرے گا (جیسے ڈیٹا پروسیسنگ یا DNN آپٹیمائزیشن)۔
  4. جب ٹریننگ لوپ ختم ہو جائے، تو آپ کو یہ یقینی بنانا چاہیے کہ آپ کا انٹری پوائنٹ کا عمل تمام مثالوں کے گروپوں میں تمام مثالوں پر ختم ہو جاتا ہے۔ یہ ضروری ہے کیونکہ SageMaker کام کو مکمل کے طور پر نشان زد کرنے اور بلنگ بند کرنے سے پہلے تمام مثالوں کی پروسیسنگ مکمل ہونے کا انتظار کرتا ہے۔ دی launcher.py TensorFlow اور PyTorch مثال کے نوٹ بک میں اسکرپٹ جب DNN گروپ کی مثالیں اپنا کام ختم کرتی ہیں تو باہر نکلنے کے لیے سگنلنگ ڈیٹا گروپ انسٹینسز کا حوالہ نافذ کرتی ہے۔

SageMaker متفاوت کلسٹرز کے لیے مثالی نوٹ بک

اس سیکشن میں، ہم اس کا خلاصہ فراہم کرتے ہیں۔ مثال کے طور پر نوٹ بک TensorFlow اور PyTorch ML فریم ورک دونوں کے لیے۔ نوٹ بک میں، آپ نفاذ کی تفصیلات، کوڈ کے کام کرنے کے طریقہ کار کے بارے میں واک تھرو، کوڈ کے ٹکڑوں کو تلاش کر سکتے ہیں جنہیں آپ اپنے تربیتی اسکرپٹس، فلو ڈایاگرامس، اور لاگت کے موازنہ کے تجزیہ میں دوبارہ استعمال کر سکتے ہیں۔

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

tf.data.service پر مبنی تقسیم شدہ ڈیٹا لوڈر (TensorFlow) کا استعمال کرتے ہوئے متضاد کلسٹر

یہ نوٹ بک یہ ظاہر کرتا ہے کہ TensorFlow کا استعمال کرتے ہوئے SageMaker ٹریننگ کے لیے متفاوت کلسٹر کو کیسے نافذ کیا جائے tf.data.service پر مبنی تقسیم شدہ ڈیٹا پائپ لائن۔ ہم ایک گہری سیکھنے والے کمپیوٹر وژن ماڈل کو تربیت دیتے ہیں۔ Resnet50 جس کے لیے CPU-انتہائی ڈیٹا بڑھانے کی ضرورت ہے۔ یہ استعمال کرتا ہے۔ ہورووڈ کثیر GPU تقسیم شدہ ڈیٹا کے متوازی کے لیے۔

ہم کام کا بوجھ دو کنفیگریشنز میں چلاتے ہیں: سب سے پہلے ایک یکساں کلسٹر کے طور پر، سنگل ml.p4d.24xlarge مثال کے طور پر، معیاری استعمال کرتے ہوئے tf.data پائپ لائن جو CPU رکاوٹوں کو ظاہر کرتی ہے جس کی وجہ سے GPU کا استعمال کم ہوتا ہے۔ دوسرے رن میں، ہم SageMaker متفاوت کلسٹر کا استعمال کرتے ہوئے ایک مثال کی قسم سے دو مثالوں کے گروپوں میں تبدیل ہوتے ہیں۔ یہ رن کچھ ڈیٹا پروسیسنگ کو اضافی CPU مثالوں پر آف لوڈ کرتا ہے (استعمال کرتے ہوئے tf.data.service).

اس کے بعد ہم یکساں اور متفاوت کنفیگریشنز کا موازنہ کرتے ہیں اور قیمت کی کارکردگی کے اہم فوائد تلاش کرتے ہیں۔ جیسا کہ مندرجہ ذیل جدول میں دکھایا گیا ہے، متضاد کام (86ms/step) یکساں کام (2.2ms/step) سے 192 گنا زیادہ تیز ہے، جس سے ماڈل کو تربیت دینا 46% سستا ہے۔

مثال 1 (TF) ml.p4d.24xl ml.c5.18xl قیمت فی گھنٹہ* اوسط مرحلہ کا وقت لاگت فی قدم قیمت کی کارکردگی میں بہتری
یکساں 1 0 $37.688 192 MS $0.201 .
متفاوت۔ 1 2 $45.032 86 MS $0.108 46٪

* قیمت فی گھنٹہ us-east-1 پر مبنی ہے۔ سیج میکر آن ڈیمانڈ قیمتوں کا تعین

یہ سپیڈ اپ ڈیٹا گروپ کے ذریعے فراہم کردہ اضافی vCPU، اور تیز تر پری پروسیسنگ کے ذریعے ممکن ہوا ہے۔ دیکھیں نوٹ بک مزید تفصیلات اور گراف کے لیے۔

جی آر پی سی کلائنٹ سرور پر مبنی ڈسٹری بیوٹڈ ڈیٹا لوڈر (پی ٹارچ) کا استعمال کرتے ہوئے متضاد کلسٹر

یہ نوٹ بک جی آر پی سی کلائنٹ سرور پر مبنی ڈسٹری بیوٹڈ ڈیٹا لوڈر کا استعمال کرتے ہوئے سیج میکر ٹریننگ کے لیے متفاوت کلسٹر کا استعمال کرتے ہوئے ایک نمونہ ورک بوجھ کو ظاہر کرتا ہے۔ یہ مثال ایک واحد GPU استعمال کرتی ہے۔ ہم مندرجہ ذیل کی بنیاد پر PyTorch ماڈل استعمال کرتے ہیں۔ سرکاری MNIST مثال. ڈیٹا پری پروسیسنگ پر بھاری ہونے کے لیے ٹریننگ کوڈ میں ترمیم کی گئی ہے۔ ہم اس ماڈل کو یکساں اور متضاد کلسٹر طریقوں دونوں میں تربیت دیتے ہیں، اور قیمت کی کارکردگی کا موازنہ کرتے ہیں۔

اس مثال میں، ہم نے فرض کیا کہ کام کا بوجھ ایک سے زیادہ GPUs سے فائدہ نہیں اٹھا سکتا، اور اس کا انحصار ایک مخصوص GPU فن تعمیر (NVIDIA) پر ہے۔ V100)۔ ہم نے یکساں اور متفاوت تربیتی ملازمتیں چلائیں، اور قیمت کی کارکردگی کے اہم فوائد حاصل کیے، جیسا کہ درج ذیل جدول میں دکھایا گیا ہے۔ متفاوت جاب (1.19s/قدم) یکساں کام (6.5s/step) سے 0.18 گنا تیز رفتار ہے، جس سے ماڈل کو تربیت دینا 77% سستا ہے۔

مثال 2 (PT) ml.p3.2xl ml.c5.9xl قیمت فی گھنٹہ* اوسط مرحلہ کا وقت لاگت فی قدم قیمت کی کارکردگی میں بہتری
یکساں 1 0 $3.825 1193 MS $0.127 .
متفاوت۔ 1 1 $5.661 184 MS $0.029 77٪

* قیمت فی گھنٹہ us-east-1 پر مبنی ہے۔ سیج میکر آن ڈیمانڈ قیمتوں کا تعین

یہ اس لیے ممکن ہے کیونکہ زیادہ سی پی یو کی گنتی کے ساتھ، ہم ڈیٹا کو پری پروسیس کرنے کے لیے 32 ڈیٹا لوڈر ورکرز (8 کے مقابلے ml.p3.2xlarge کے ساتھ) استعمال کر سکتے ہیں اور GPU کو بار بار وقفوں پر استعمال ہونے والے 100% کے قریب رکھ سکتے ہیں۔ دیکھیں نوٹ بک مزید تفصیلات اور گراف کے لیے۔

Mobileye میں متضاد کلسٹرز

Mobileye، ایک Intel کمپنی، Advanced Driver Assistance Systems (ADAS) اور خود مختار گاڑیوں کی ٹیکنالوجیز تیار کرتی ہے جس کا مقصد نقل و حمل کی صنعت میں انقلاب برپا کرنا، سڑکوں کو محفوظ بنانا، اور زندگیاں بچانا ہے۔ یہ ٹیکنالوجیز جدید ترین کمپیوٹر وژن (CV) ماڈلز کا استعمال کرتے ہوئے فعال کی گئی ہیں جنہیں SageMaker کے استعمال سے تربیت دی جاتی ہے ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔ یہ ماڈل جدید ترین ڈیپ لرننگ نیورل نیٹ ورک تکنیک کا استعمال کرتے ہیں۔

ہم نے دیکھا کہ ہمارے CV ماڈلز میں سے ایک کے لیے، CPU میں رکاوٹ بنیادی طور پر بھاری ڈیٹا پری پروسیسنگ کی وجہ سے تھی جس کی وجہ سے GPUs کا استعمال نہیں کیا گیا۔ اس مخصوص کام کے بوجھ کے لیے، ہم نے متبادل حل تلاش کرنا شروع کیے، EC2 مثالوں کی بنیاد پر متفاوت کلسٹرز کے ساتھ تقسیم شدہ ڈیٹا پائپ لائن ٹیکنالوجیز کا جائزہ لیا، اور دونوں کے لیے حوالہ پر عمل درآمد کیا۔ TensorFlow اور پی ٹورچ. SageMaker متفاوت کلسٹر کا اجراء ہمیں SageMaker پر اس اور اسی طرح کے کام کے بوجھ کو چلانے کی اجازت دیتا ہے تاکہ قیمت کی کارکردگی میں بہتری کے فوائد حاصل کیے جا سکیں۔

خیال

متضاد کلسٹر خصوصیت کے آغاز کے ساتھ، سیج میکر آپ کے تربیتی کام میں مثال کی اقسام کو ملانے اور ملانے میں بہت زیادہ لچک پیش کرتا ہے۔ تاہم، اس خصوصیت کو استعمال کرتے وقت درج ذیل پر غور کریں:

  • متضاد کلسٹر کی خصوصیت سیج میکر کے ذریعے دستیاب ہے۔ پی ٹورچ اور TensorFlow فریم ورک کا تخمینہ لگانے والی کلاسز۔ تعاون یافتہ فریم ورک PyTorch v1.10 یا بعد کے اور TensorFlow v2.6 یا بعد کے ہیں۔
  • تمام مثال کے گروپ ایک ہی ڈوکر امیج کا اشتراک کرتے ہیں۔
  • تمام مثال کے گروپ ایک ہی تربیتی اسکرپٹ کا اشتراک کرتے ہیں۔ لہذا، آپ کی ٹریننگ اسکرپٹ میں ترمیم کی جانی چاہیے تاکہ یہ معلوم کیا جا سکے کہ یہ کس مثال کے گروپ سے تعلق رکھتا ہے اور اس کے مطابق فورک چلتا ہے۔
  • تربیتی مثالوں کے میزبان نام (مثال کے طور پر، alog-1، algo-2، اور اسی طرح) تصادفی طور پر تفویض کیے گئے ہیں، اور یہ ظاہر نہیں کرتے ہیں کہ وہ کس مثال کے گروپ سے تعلق رکھتے ہیں۔ مثال کا کردار حاصل کرنے کے لیے، ہم رن ٹائم کے دوران اس کی مثال گروپ کی رکنیت حاصل کرنے کی تجویز کرتے ہیں۔ لاگ ان کا جائزہ لیتے وقت بھی یہ متعلقہ ہے۔ کلاؤڈ واچکیونکہ لاگ اسٹریم کا نام [training-job-name]/algo-[instance-number-in-cluster]-[epoch_timestamp] میزبان نام ہے۔
  • تقسیم شدہ تربیتی حکمت عملی (عام طور پر ایک MPI کلسٹر) صرف ایک مثال کے گروپ پر لاگو کی جا سکتی ہے۔
  • سیج میکر۔ منظم گرم تالاب اور سیج میکر مقامی طرز فی الحال متضاد کلسٹر ٹریننگ کے ساتھ استعمال نہیں کیا جا سکتا۔

نتیجہ

اس پوسٹ میں، ہم نے سیج میکر ٹریننگ کے متفاوت کلسٹر فیچر کو کب اور کیسے استعمال کرنے کے بارے میں بات کی۔ ہم نے حقیقی دنیا کے استعمال کے معاملے پر قیمت کی کارکردگی میں 46 فیصد بہتری کا مظاہرہ کیا اور آپ کو تقسیم شدہ ڈیٹا لوڈر کے ساتھ تیزی سے شروع کرنے میں مدد کی (tf.data.service اور gRPC کلائنٹ سرور) کے نفاذ۔ آپ اپنی موجودہ ٹریننگ اسکرپٹس میں کم سے کم کوڈ تبدیلیوں کے ساتھ ان نفاذ کو استعمال کر سکتے ہیں۔

شروع کرنے کے لیے، ہماری کوشش کریں۔ مثال کے طور پر نوٹ بک. اس خصوصیت کے بارے میں مزید جاننے کے لیے، رجوع کریں۔ متفاوت کلسٹر کا استعمال کرتے ہوئے ٹرین.


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

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عیگلی ناچم ایک سینئر AI/ML ماہر حل آرکیٹیکٹ ہے جو EMEA Amazon مشین لرننگ ٹیم کے حصے کے طور پر کام کرتا ہے۔ Gili گہری سیکھنے کے ماڈلز کی تربیت کے چیلنجوں کے بارے میں پرجوش ہے، اور کس طرح مشین لرننگ دنیا کو بدل رہی ہے جیسا کہ ہم جانتے ہیں۔ اپنے فارغ وقت میں گیلی ٹیبل ٹینس کھیلنے سے لطف اندوز ہوتے ہیں۔

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عیہروشیش گنگور ایم ایل ٹریننگ اور AWS نیٹ ورکنگ دونوں میں مہارت کے ساتھ AI/ML سٹارٹ اپس کے لیے ایک پرنسپل سلوشن آرکیٹیکٹ ہے۔ وہ آٹونومس وہیکل، روبوٹکس، سی وی، این ایل پی، ایم ایل او پی ایس، ایم ایل پلیٹ فارم، اور روبوٹکس پروسیس آٹومیشن ٹیکنالوجیز میں اسٹارٹ اپس کی مدد کرتا ہے تاکہ وہ اپنے کاروبار کو AWS پر موثر اور مؤثر طریقے سے چلا سکے۔ AWS میں شامل ہونے سے پہلے، Hrushikesh نے بنیادی طور پر کلاؤڈ اور ڈیٹا پلیٹ فارم کے ارد گرد 20+ سال کا صنعتی تجربہ حاصل کیا۔

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عیگل اوشری۔ ایمیزون سیج میکر ٹیم میں ایک سینئر پروڈکٹ مینیجر ہے۔ اس کے پاس مشین لرننگ ٹولز، فریم ورک اور خدمات پر کام کرنے کا 7 سال کا تجربہ ہے۔

Amazon SageMaker متفاوت کلسٹرز PlatoBlockchain Data Intelligence کا استعمال کرتے ہوئے اپنی ماڈل ٹریننگ کی قیمت کی کارکردگی کو بہتر بنائیں۔ عمودی تلاش۔ عیچیم رینڈ ایک مشین لرننگ الگورتھم ڈویلپر ہے جو Intel کمپنی Mobileye میں خود مختار گاڑیوں کے حل کے لیے گہری سیکھنے اور کمپیوٹر ویژن ٹیکنالوجیز پر کام کر رہا ہے۔ اس کی جانچ پڑتال کریں بلاگز.

ٹائم اسٹیمپ:

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