Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عی

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔

چونکہ پوری صنعت میں AI کو اپنانے میں تیزی آرہی ہے، صارفین ایسے نفیس ماڈلز بنا رہے ہیں جو گہری سیکھنے میں نئی ​​سائنسی کامیابیوں سے فائدہ اٹھاتے ہیں۔ یہ اگلی نسل کے ماڈلز آپ کو قدرتی لینگویج پروسیسنگ (NLP)، کمپیوٹر ویژن، اسپیچ ریکگنیشن، طبی تحقیق، سائبرسیکیوریٹی، پروٹین کی ساخت کی پیشن گوئی، اور بہت سے دوسرے شعبوں میں جدید ترین، انسان نما کارکردگی حاصل کرنے کی اجازت دیتے ہیں۔ . مثال کے طور پر، GPT-3، OPT، اور BLOOM جیسے بڑے لینگوئج ماڈلز انسانوں جیسی باریکیوں کے ساتھ متن کا ترجمہ، خلاصہ، اور لکھ سکتے ہیں۔ کمپیوٹر ویژن اسپیس میں، ٹیکسٹ ٹو امیج ڈفیوژن ماڈل جیسے DALL-E اور Imagen ہمارے ارد گرد کی دنیا سے بصری اور زبان کی سمجھ کی اعلی سطح کے ساتھ قدرتی زبان سے فوٹو ریئلسٹک تصاویر بنا سکتے ہیں۔ یہ ملٹی موڈل ماڈلز مختلف ڈاون اسٹریم کاموں کے لیے بھرپور خصوصیات اور مخصوص ڈومینز کے لیے ان کو ٹھیک کرنے کی صلاحیت فراہم کرتے ہیں، اور یہ ہمارے صارفین کے لیے طاقتور کاروباری مواقع فراہم کرتے ہیں۔

یہ گہرے سیکھنے کے ماڈل سائز کے لحاظ سے بڑھتے رہتے ہیں، اور عام طور پر مختلف کاموں، جیسے تصویر کی تخلیق، متن کا خلاصہ، زبان کا ترجمہ، اور بہت کچھ کے لیے ماڈل کی کارکردگی کو پیمانہ کرنے کے لیے اربوں ماڈل پیرامیٹرز پر مشتمل ہوتے ہیں۔ افراد کو ہائپر پرسنلائزڈ تجربہ فراہم کرنے کے لیے ان ماڈلز کو اپنی مرضی کے مطابق بنانے کی بھی ضرورت ہے۔ نتیجے کے طور پر، مختلف بہاو کے کاموں کے لیے ان ماڈلز کو فائن ٹیوننگ کرکے ماڈلز کی ایک بڑی تعداد تیار کی جارہی ہے۔ AI ایپلیکیشنز کے لیٹنسی اور تھرو پٹ اہداف کو پورا کرنے کے لیے، GPU مثالوں کو CPU مثالوں پر ترجیح دی جاتی ہے (کمپیوٹیشنل پاور GPUs کی پیشکش کو دیکھتے ہوئے)۔ تاہم، GPU مثالیں مہنگی ہیں اور اگر آپ 10 سے زیادہ ماڈلز تعینات کر رہے ہیں تو لاگت میں اضافہ ہو سکتا ہے۔ اگرچہ یہ ماڈل ممکنہ طور پر مؤثر AI ایپلی کیشنز لا سکتے ہیں، لیکن ان کے سائز اور ماڈلز کی تعداد کی وجہ سے ان ڈیپ لرننگ ماڈلز کو لاگت سے مؤثر طریقے سے پیمانہ کرنا مشکل ہو سکتا ہے۔

ایمیزون سیج میکر ملٹی ماڈل اینڈ پوائنٹس (MMEs) ڈیپ لرننگ ماڈلز کی ایک بڑی تعداد کو تعینات کرنے کے لیے ایک قابل توسیع اور سرمایہ کاری مؤثر طریقہ فراہم کرتے ہیں۔ MMEs Zendesk، Veeva، اور AT&T جیسے صارفین کے درمیان سینکڑوں CPU پر مبنی ماڈلز کی میزبانی کے لیے ایک مقبول ہوسٹنگ انتخاب ہیں۔ پہلے، آپ کے پاس سینکڑوں ڈیپ لرننگ ماڈلز کو تعینات کرنے کے لیے محدود اختیارات تھے جن کے لیے GPUs کے ساتھ تیز رفتار کمپیوٹ کی ضرورت تھی۔ آج، ہم GPU کے لیے MME سپورٹ کا اعلان کرتے ہیں۔ اب آپ سیج میکر اینڈ پوائنٹ کے پیچھے ہزاروں ڈیپ لرننگ ماڈلز لگا سکتے ہیں۔ MMEs اب ایک GPU کور پر ایک سے زیادہ ماڈلز چلا سکتے ہیں، ایک سے زیادہ ماڈلز میں ایک اینڈ پوائنٹ کے پیچھے GPU مثالیں شیئر کر سکتے ہیں، اور آنے والی ٹریفک کی بنیاد پر ماڈلز کو متحرک طور پر لوڈ اور ان لوڈ کر سکتے ہیں۔ اس کے ساتھ، آپ لاگت کو نمایاں طور پر بچا سکتے ہیں اور قیمت کی بہترین کارکردگی حاصل کر سکتے ہیں۔

اس پوسٹ میں، ہم دکھاتے ہیں کہ GPU پر SageMaker MMEs کے ساتھ ایک سے زیادہ ڈیپ لرننگ ماڈل کیسے چلائے جائیں۔

سیج میکر ایم ایم ایز

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

مندرجہ ذیل خاکہ سیج میکر ایم ایم ای کے فن تعمیر کو واضح کرتا ہے۔

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

GPU سپورٹ کے ساتھ SageMaker MMEs

GPU کے ساتھ SageMaker MMEs استعمال کرتے ہوئے کام کرتے ہیں۔ NVIDIA ٹرائٹن انفرنس سرور. NVIDIA Triton Inference Server ایک اوپن سورس انفرنس سرونگ سافٹ ویئر ہے جو انفرنس سرونگ کے عمل کو آسان بناتا ہے اور اعلی انفرنس کارکردگی فراہم کرتا ہے۔ Triton تمام بڑے ٹریننگ اور انفرنس فریم ورک کو سپورٹ کرتا ہے، جیسے TensorFlow, NVIDIA® TensorRT™, PyTorch, MXNet, Python, ONNX, XGBoost, Scikit-learn, RandomForest, OpenVINO, custom C++، اور مزید۔ یہ اعلی کارکردگی کا اندازہ حاصل کرنے کے لیے ڈائنامک بیچنگ، کنکرنٹ رنز، پوسٹ ٹریننگ کوانٹائزیشن، اور بہترین ماڈل کنفیگریشن پیش کرتا ہے۔ مزید برآں، NVIDIA Triton Inference Server کو لاگو کرنے کے لیے بڑھا دیا گیا ہے۔ MME API معاہدہ، MME کے ساتھ ضم کرنے کے لیے۔

مندرجہ ذیل خاکہ ایک MME ورک فلو کو واضح کرتا ہے۔

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عی

ورک فلو کے مراحل درج ذیل ہیں:

  1. SageMaker MME کو استعمال کرنے والے کسی خاص ماڈل کے لیے HTTP درخواست کی درخواست موصول ہوتی ہے۔ TargetModel پے لوڈ کے ساتھ درخواست میں۔
  2. سیج میکر ٹریفک کو اختتامی نقطہ کے پیچھے صحیح مثال کی طرف لے جاتا ہے جہاں ٹارگٹ ماڈل لوڈ ہوتا ہے۔ سیج میکر ایم ایم ای کے پیچھے تمام ماڈلز کے ٹریفک پیٹرن کو سمجھتا ہے اور درخواستوں کو ہوشیاری سے روٹ کرتا ہے۔
  3. SageMaker اختتامی نقطہ کے پیچھے ماڈل مینجمنٹ کا خیال رکھتا ہے، ماڈل کو متحرک طور پر کنٹینر کی میموری پر لوڈ کرتا ہے، اور بہترین قیمت کی کارکردگی دینے کے لیے GPU مثالوں کے مشترکہ بیڑے سے ماڈل کو اتارتا ہے۔
  4. سیج میکر متحرک طور پر ایمیزون S3 سے ماڈلز کو مثال کے اسٹوریج والیوم میں ڈاؤن لوڈ کرتا ہے۔ اگر طلب کردہ ماڈل مثال کے اسٹوریج والیوم پر دستیاب نہیں ہے تو، ماڈل کو انسٹینس اسٹوریج والیوم پر ڈاؤن لوڈ کیا جاتا ہے۔ اگر مثال کے طور پر سٹوریج والیوم صلاحیت تک پہنچ جاتا ہے، تو SageMaker کسی بھی غیر استعمال شدہ ماڈل کو سٹوریج والیوم سے حذف کر دیتا ہے۔
  5. SageMaker ماڈل کو NVIDIA Triton کنٹینر کی میموری پر GPU ایکسلریٹڈ مثال پر لوڈ کرتا ہے اور تخمینہ کی درخواست کو پورا کرتا ہے۔ GPU کور ایک مثال میں تمام ماڈلز کے ذریعہ شیئر کیا جاتا ہے۔ اگر ماڈل پہلے سے ہی کنٹینر میموری میں لوڈ ہے، تو اس کے بعد کی درخواستیں تیزی سے پیش کی جاتی ہیں کیونکہ SageMaker کو اسے دوبارہ ڈاؤن لوڈ کرنے اور لوڈ کرنے کی ضرورت نہیں ہے۔
  6. SageMaker MME کے اختتامی نقطہ پر ٹریفک کی تشکیل کا خیال رکھتا ہے اور بہترین قیمت کی کارکردگی کے لیے GPU مثالوں پر بہترین ماڈل کاپیاں برقرار رکھتا ہے۔ یہ ٹریفک کو اس مثال تک پہنچاتا رہتا ہے جہاں ماڈل لوڈ ہوتا ہے۔ اگر مثال کے وسائل زیادہ استعمال کی وجہ سے صلاحیت تک پہنچ جاتے ہیں، تو SageMaker زیادہ استعمال ہونے والے ماڈلز کو لوڈ کرنے کے لیے وسائل کو خالی کرنے کے لیے کنٹینر سے کم استعمال شدہ ماڈلز اتارتا ہے۔

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

حل جائزہ

اس پوسٹ میں، ہم آپ کو دکھاتے ہیں کہ کمپیوٹر وژن کے استعمال کے کیس کے ساتھ GPU کے ساتھ SageMaker MMEs کی نئی خصوصیات کیسے استعمال کی جائیں۔ مظاہرے کے مقاصد کے لیے، ہم ایک ResNet-50 convolutional neural network pre-trained ماڈل استعمال کرتے ہیں جو تصاویر کو 1,000 زمروں میں درجہ بندی کر سکتا ہے۔ ہم مندرجہ ذیل کام کرنے کے طریقہ پر تبادلہ خیال کرتے ہیں:

  • SageMaker MMEs پر NVIDIA Triton inference کنٹینر استعمال کریں، مختلف Triton ماڈل فریم ورک بیک اینڈ جیسے PyTorch اور TensorRT کا استعمال کرتے ہوئے
  • ResNet-50 ماڈلز کو بہتر TensorRT انجن فارمیٹ میں تبدیل کریں اور اسے SageMaker MME کے ساتھ تعینات کریں۔
  • ایم ایم ای کے لیے آٹو اسکیلنگ کی پالیسیاں مرتب کریں۔
  • استعمال کرتے ہوئے مثال اور انووکیشن میٹرکس کے بارے میں بصیرت حاصل کریں۔ ایمیزون کلاؤڈ واچ

ماڈل نمونے بنائیں

یہ سیکشن Triton Inference Server ماڈل کنفیگریشنز کا استعمال کرتے ہوئے SageMaker MME پر تعینات کیا جانے والا ResNet-50 پری ٹرینڈ ماڈل تیار کرنے کے مراحل سے گزرتا ہے۔ آپ مرحلہ وار نوٹ بک آن کا استعمال کرتے ہوئے تمام مراحل کو دوبارہ پیش کر سکتے ہیں۔ GitHub کے.

اس پوسٹ کے لیے، ہم دو ماڈلز کے ساتھ تعیناتی کا مظاہرہ کرتے ہیں۔ تاہم، آپ سینکڑوں ماڈل تیار اور تعینات کر سکتے ہیں۔ ماڈلز ایک ہی فریم ورک کا اشتراک کر سکتے ہیں یا نہیں کر سکتے ہیں۔

ایک PyTorch ماڈل تیار کریں۔

سب سے پہلے، ہم ٹارچ ویژن ماڈل پیکیج کا استعمال کرتے ہوئے پہلے سے تربیت یافتہ ResNet50 ماڈل لوڈ کرتے ہیں۔ ہم ماڈل کو ماڈل ڈاٹ پی ٹی فائل کے طور پر TorchScript آپٹمائزڈ اور سیریلائز فارمیٹ میں محفوظ کرتے ہیں۔ TorchScript ResNet50 ماڈل کا فارورڈ پاس مثال کے ان پٹس کے ساتھ ایگزیر موڈ میں مرتب کرتا ہے، اس لیے ہم RGB امیج کی ایک مثال 224 x 224 ڈائمینشن کے تین رنگین چینلز کے ساتھ پاس کرتے ہیں۔

پھر ہمیں ٹرائٹن انفرنس سرور کے لیے ماڈل تیار کرنے کی ضرورت ہے۔ مندرجہ ذیل کوڈ PyTorch فریم ورک بیک اینڈ کے لیے ماڈل ریپوزٹری کو دکھاتا ہے۔ ٹریٹن پیشین گوئیاں پیش کرنے کے لیے ماڈل ریپوزٹری میں رکھی ہوئی model.pt فائل کا استعمال کرتا ہے۔

resnet
├── 1
│   └── model.pt
└── config.pbtxt

ماڈل ترتیب دینے کی فائل config.pbtxt ماڈل کا نام بتانا ضروری ہے (resnet)، پلیٹ فارم اور پسدید کی خصوصیات (pytorch_libtorch), max_batch_size (128)، اور ڈیٹا کی قسم کے ساتھ ان پٹ اور آؤٹ پٹ ٹینسرز (TYPE_FP32) معلومات. اس کے علاوہ، آپ وضاحت کر سکتے ہیں instance_group اور dynamic_batching اعلی کارکردگی کا اندازہ حاصل کرنے کے لیے خصوصیات۔ درج ذیل کوڈ دیکھیں:

name: "resnet"
platform: "pytorch_libtorch"
max_batch_size: 128
input {
  name: "INPUT__0"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "OUTPUT__0"
  data_type: TYPE_FP32
  dims: 1000
}

TensorRT ماڈل تیار کریں۔

NVIDIA TensorRT اعلی کارکردگی کے گہرے سیکھنے کے تخمینے کے لیے ایک SDK ہے، اور اس میں ایک گہری لرننگ انفرنس آپٹیمائزر اور رن ٹائم شامل ہے جو کم تاخیر اور انفرنس ایپلی کیشنز کے لیے ہائی تھرو پٹ فراہم کرتا ہے۔ ہم کمانڈ لائن ٹول استعمال کرتے ہیں۔ trtexec سے ایک TensorRT سیریلائزڈ انجن تیار کرنا او این این ایکس ماڈل کی شکل. ResNet-50 پہلے سے تربیت یافتہ ماڈل کو NVIDIA TensorRT میں تبدیل کرنے کے لیے درج ذیل مراحل کو مکمل کریں:

  1. پہلے سے تربیت یافتہ ResNet-50 ماڈل کو استعمال کرتے ہوئے ONNX فارمیٹ میں برآمد کریں۔ torch.onnx.یہ مرحلہ ماڈل کو ایک بار چلاتا ہے تاکہ نمونے کے ان پٹ کے ساتھ اس کے رن کو ٹریس کیا جا سکے اور پھر ٹریس شدہ ماڈل کو مخصوص فائل میں برآمد کیا جا سکے۔ model.onnx.
  2. سے TensorRT انجن پلان بنانے کے لیے trtexec استعمال کریں۔ model.onnx فائل آپ فلوٹنگ پوائنٹ کمپیوٹیشن کی درستگی کو اختیاری طور پر کم کر سکتے ہیں، یا تو انہیں صرف 16-بٹ فلوٹنگ پوائنٹ میں چلا کر، یا فلوٹنگ پوائنٹ ویلیو کو کوانٹائز کر کے تاکہ حسابات 8-بٹ انٹیجرز کا استعمال کر کے کیے جا سکیں۔

درج ذیل کوڈ TensorRT ماڈل کے لیے ماڈل ریپوزٹری ڈھانچہ دکھاتا ہے:

resnet
├── 1
│   └── model.plan
└── config.pbtxt

TensorRT ماڈل کے لیے، ہم وضاحت کرتے ہیں۔ tensorrt_plan پلیٹ فارم اور ان پٹ کے طور پر 224 x 224 طول و عرض کی تصویر کی Tensor وضاحتیں، جس میں رنگین چینلز ہیں۔ 1,000 ڈائمینشنز والا آؤٹ پٹ ٹینسر قسم کا ہے۔ TYPE_FP32, مختلف آبجیکٹ کیٹیگریز کے مطابق۔ درج ذیل کوڈ دیکھیں:

name: "resnet"
platform: "tensorrt_plan"
max_batch_size: 128
input {
  name: "input"
  data_type: TYPE_FP32
  dims: 3
  dims: 224
  dims: 224
}
output {
  name: "output"
  data_type: TYPE_FP32
  dims: 1000
}
model_warmup {
    name: "bs128 Warmup"
    batch_size: 128
    inputs: {
        key: "input"
        value: {
            data_type: TYPE_FP32
            dims: 3
            dims: 224
            dims: 224
            zero_data: false
        }
    }
}

ایمیزون S3 میں ماڈل کے نمونے اسٹور کریں۔

سیج میکر کو ماڈل کے نمونے کی توقع ہے۔ .tar.gz فارمیٹ انہیں ٹرائٹن کنٹینر کی ضروریات کو بھی پورا کرنا چاہئے جیسے ماڈل کا نام، ورژن، config.pbtxt فائلیں، اور مزید۔ tar ماڈل فائل پر مشتمل فولڈر بطور .tar.gz اور اسے Amazon S3 پر اپ لوڈ کریں:

!mkdir -p triton-serve-pt/resnet/1/
!mv -f workspace/model.pt triton-serve-pt/resnet/1/
!tar -C triton-serve-pt/ -czf resnet_pt_v0.tar.gz resnet
model_uri_pt = sagemaker_session.upload_data(path="resnet_pt_v0.tar.gz", key_prefix="resnet-mme-gpu")
!mkdir -p triton-serve-trt/resnet/1/
!mv -f workspace/model.plan triton-serve-trt/resnet/1/
!tar -C triton-serve-trt/ -czf resnet_trt_v0.tar.gz resnet
model_uri_trt = sagemaker_session.upload_data(path="resnet_trt_v0.tar.gz", key_prefix="resnet-mme-gpu")

اب جب کہ ہم نے ماڈل نمونے Amazon S3 پر اپ لوڈ کر دیے ہیں، ہم SageMaker MME بنا سکتے ہیں۔

ایم ایم ای کے ساتھ ماڈلز تعینات کریں۔

اب ہم ایک SageMaker MME پر دو مختلف فریم ورک بیک اینڈز (PyTorch اور TensorRT) کے ساتھ ایک ResNet-50 ماڈل تعینات کرتے ہیں۔

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

ہم استعمال کرتے ہیں AWS SDK برائے Python (Boto3) APIs تخلیق_ماڈل, create_endpoint_config، اور تخلیق_اینڈ پوائنٹ ایم ایم ای بنانے کے لیے۔

سرونگ کنٹینر کی وضاحت کریں۔

کنٹینر کی تعریف میں، کی وضاحت کریں۔ model_data_url S3 ڈائرکٹری کی وضاحت کرنے کے لیے جس میں وہ تمام ماڈلز شامل ہیں جنہیں SageMaker MME لوڈ کرنے اور پیشین گوئیاں پیش کرنے کے لیے استعمال کرتا ہے۔ سیٹ Mode کرنے کے لئے MultiModel اس بات کی نشاندہی کرنے کے لیے کہ SageMaker MME کنٹینر کی تفصیلات کے ساتھ اختتامی نقطہ تخلیق کرتا ہے۔ ہم نے کنٹینر کو ایک ایسی تصویر کے ساتھ سیٹ کیا ہے جو GPU کے ساتھ MMEs کی تعیناتی کی حمایت کرتا ہے۔ درج ذیل کوڈ دیکھیں:

container = {
"Image": ,
"ModelDataUrl": ,
"Mode": "MultiModel"
}

ایک ملٹی ماڈل آبجیکٹ بنائیں

کا استعمال کرتے ہوئے ماڈل بنانے کے لیے SageMaker Boto3 کلائنٹ کا استعمال کریں۔ create_model API ہم کنٹینر کی تعریف کو تخلیق ماڈل API کے ساتھ پاس کرتے ہیں۔ ModelName اور ExecutionRoleArn:

create_model_response = sm_client.create_model(
    ModelName=, ExecutionRoleArn=role, PrimaryContainer=container
)

MME کنفیگریشنز کی وضاحت کریں۔

کا استعمال کرتے ہوئے ایم ایم ای کنفیگریشنز بنائیں create_endpoint_config Boto3 API۔ میں ایک تیز رفتار GPU کمپیوٹنگ مثال کی وضاحت کریں۔ InstanceType (ہم g4dn.4xlarge مثال کی قسم استعمال کرتے ہیں)۔ ہم کم از کم دو مثالوں کے ساتھ اپنے اختتامی نقطوں کو ترتیب دینے کی تجویز کرتے ہیں۔ یہ SageMaker کو ماڈلز کے لیے متعدد دستیابی زونز میں پیشین گوئیوں کا ایک انتہائی دستیاب سیٹ فراہم کرنے کی اجازت دیتا ہے۔

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

create_endpoint_config_response = sm_client.create_endpoint_config(
    EndpointConfigName=,
    ProductionVariants=[
        {
            "InstanceType": "ml.g4dn.4xlarge",
            "InitialVariantWeight": 1,
            "InitialInstanceCount": 2,
            "ModelName": ,
            "VariantName": "AllTraffic",
        }
    ],
)

ایک ایم ایم ای بنائیں

پچھلے اختتامی نقطہ کی ترتیب کے ساتھ، ہم استعمال کرتے ہوئے ایک SageMaker MME بناتے ہیں۔ تخلیق_اینڈ پوائنٹ API SageMaker MME تخلیق کرتا ہے، ML compute instance g4dn.4xlarge لانچ کرتا ہے، اور ان پر PyTorch اور TensorRT ResNet-50 ماڈل تعینات کرتا ہے۔ درج ذیل کوڈ دیکھیں:

create_endpoint_response = sm_client.create_endpoint(
    EndpointName=, EndpointConfigName=
)

ایم ایم ای پر ٹارگٹ ماڈل کی درخواست کریں۔

اختتامی نقطہ بنانے کے بعد، ہم MME کو استعمال کرتے ہوئے ایک تخمینہ کی درخواست بھیج سکتے ہیں۔ invoke_enpoint API ہم وضاحت کرتے ہیں۔ TargetModel انووکیشن کال میں اور ہر ماڈل کی قسم کے لیے پے لوڈ میں پاس کریں۔ مندرجہ ذیل کوڈ PyTorch ماڈل اور TensorRT ماڈل کے لیے نمونہ کی درخواست ہے:

runtime_sm_client.invoke_endpoint(
    EndpointName=,
    ContentType="application/octet-stream",
    Body=json.dumps(pt_payload),
    TargetModel='resnet_pt_v0.tar.gz', #PyTorch Model
)
runtime_sm_client.invoke_endpoint(
    EndpointName=, 
    ContentType="application/octet-stream", 
    Body=json.dumps(trt_payload),
    TargetModel='resnet_trt_v0.tar.gz' #TensorRT Model
)

GPU MME کے لیے آٹو اسکیلنگ کی پالیسیاں ترتیب دیں۔

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

درج ذیل اسکیلنگ پالیسی میں، ہم کسٹم میٹرک استعمال کرتے ہیں۔ GPUUtilization میں TargetTrackingScalingPolicyConfiguration ترتیب اور سیٹ a TargetValue of 60.0 اس میٹرک کی ہدف کی قیمت کے لیے۔ یہ آٹو اسکیلنگ پالیسی تک اضافی مثالیں فراہم کرتی ہے۔ MaxCapacity جب GPU کا استعمال 60% سے زیادہ ہو۔

auto_scaling_client = boto3.client('application-autoscaling')

resource_id='endpoint/' +  + '/variant/' + 'AllTraffic' 
response = auto_scaling_client.register_scalable_target(
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount',
    MinCapacity=1,
    MaxCapacity=5
)

response = auto_scaling_client.put_scaling_policy(
    PolicyName='GPUUtil-ScalingPolicy',
    ServiceNamespace='sagemaker',
    ResourceId=resource_id,
    ScalableDimension='sagemaker:variant:DesiredInstanceCount', 
    PolicyType='TargetTrackingScaling',
    TargetTrackingScalingPolicyConfiguration={
        'TargetValue': 60.0, 
        'CustomizedMetricSpecification':
        {
            'MetricName': 'GPUUtilization',
            'Namespace': '/aws/sagemaker/Endpoints',
            'Dimensions': [
                {'Name': 'EndpointName', 'Value':  },
                {'Name': 'VariantName','Value': 'AllTraffic'}
            ],
            'Statistic': 'Average',
            'Unit': 'Percent'
        },
        'ScaleInCooldown': 600,
        'ScaleOutCooldown': 200 
    }
)

ہم استعمال کرتے ہیں GPUUtilization or InvocationsPerInstance اپنے MME کے لیے آٹو اسکیلنگ کی پالیسیاں ترتیب دینے کے لیے۔ مزید تفصیلات کے لیے دیکھیں ملٹی ماڈل اینڈ پوائنٹ کی تعیناتیوں کے لیے آٹو اسکیلنگ پالیسیاں مرتب کریں۔

GPU MMEs کے لیے CloudWatch میٹرکس

SageMaker MMEs مانیٹر کرنے کے لیے درج ذیل مثال کی سطح کے میٹرکس فراہم کرتے ہیں:

  • لوڈ شدہ ماڈل کاؤنٹ - کنٹینرز میں بھری ہوئی ماڈلز کی تعداد
  • GPU استعمال - کنٹینرز کے ذریعہ استعمال ہونے والے GPU یونٹوں کا فیصد
  • GPUMemoryUtilization - کنٹینرز کے ذریعہ استعمال کردہ GPU میموری کا فیصد
  • ڈسک کا استعمال - کنٹینرز کے ذریعہ استعمال ہونے والی ڈسک کی جگہ کا فیصد

یہ میٹرکس آپ کو GPU مثال کے وسائل کے مؤثر استعمال کے لیے منصوبہ بندی کرنے کی اجازت دیتے ہیں۔ مندرجہ ذیل گراف میں، ہم دیکھتے ہیں GPUMemoryUtilization 38.3% تھی جب کنٹینر میں 16 سے زیادہ ResNet-50 ماڈل لوڈ کیے گئے تھے۔ ہر انفرادی CPU کور کے استعمال کا مجموعہ (CPUUtilization) 60.9% تھی، اور کنٹینرز کے ذریعے استعمال ہونے والی میموری کا فیصد (MemoryUtilization)9.36 فیصد تھا۔

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عی

SageMaker MMEs ماڈل انووکیشن لیول کی بصیرت حاصل کرنے کے لیے ماڈل لوڈنگ میٹرکس بھی فراہم کرتے ہیں:

  • ماڈل لوڈنگ ویٹ ٹائم - ماڈل کے ڈاؤن لوڈ یا لوڈ ہونے کے لیے وقت کا وقفہ
  • ماڈل ان لوڈنگ ٹائم - ماڈل کو کنٹینر سے اتارنے کے لیے وقت کا وقفہ
  • ماڈل ڈاؤن لوڈنگ ٹائم - ایمیزون S3 سے ماڈل ڈاؤن لوڈ کرنے کا وقت
  • ماڈل کیچ ہٹ - ماڈل کے لیے درخواستوں کی تعداد جو پہلے سے ہی کنٹینر پر بھری ہوئی ہیں۔

مندرجہ ذیل گراف میں، ہم مشاہدہ کر سکتے ہیں کہ ایک ماڈل کو ایک تخمینہ کی درخواست کا جواب دینے میں 8.22 سیکنڈ لگے (ModelLatency)، اور SageMaker اوور ہیڈز (OverheadLatency)۔ ہم اینڈ پوائنٹ API کال کی درخواست کرنے کے لیے کالز سے کسی بھی خرابی کی پیمائش بھی دیکھ سکتے ہیں، جیسے Invocation4XXErrors اور Invocation5XXErrors.

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عی

MME CloudWatch میٹرکس کے بارے میں مزید معلومات کے لیے، سے رجوع کریں۔ ملٹی ماڈل اینڈ پوائنٹ کی تعیناتیوں کے لیے کلاؤڈ واچ میٹرکس.

خلاصہ

اس پوسٹ میں، آپ نے GPU کے لیے نئے SageMaker ملٹی ماڈل سپورٹ کے بارے میں سیکھا، جو آپ کو تیز رفتار کمپیوٹ ہارڈ ویئر پر سیکڑوں ڈیپ لرننگ ماڈلز کی لاگت سے مؤثر طریقے سے میزبانی کرنے کے قابل بناتا ہے۔ آپ نے NVIDIA Triton Inference Server کو استعمال کرنے کا طریقہ سیکھا، جو مختلف فریم ورک بیک اینڈز کے لیے ایک ماڈل ریپوزٹری کنفیگریشن بناتا ہے، اور آٹو اسکیلنگ کے ساتھ MME کو کیسے تعینات کیا جائے۔ یہ خصوصیت آپ کو سینکڑوں ہائپر پرسنلائزڈ ماڈلز کو پیمانہ کرنے کی اجازت دے گی جو AI ایپلی کیشنز میں صارف کے منفرد تجربات کو پورا کرنے کے لیے ٹھیک بنائے گئے ہیں۔ آپ فرکشنل GPUs کا استعمال کرتے ہوئے اپنی انفرنس ایپلی کیشن کے لیے ضروری قیمت کی کارکردگی کو حاصل کرنے کے لیے بھی اس خصوصیت کا فائدہ اٹھا سکتے ہیں۔

GPU کے لیے MME سپورٹ کے ساتھ شروع کرنے کے لیے، دیکھیں GPU کے لیے ملٹی ماڈل اینڈ پوائنٹ سپورٹ.


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

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیدھول پٹیل AWS میں پرنسپل مشین لرننگ آرکیٹیکٹ ہے۔ انہوں نے تقسیم شدہ کمپیوٹنگ اور مصنوعی ذہانت سے متعلق مسائل پر بڑے اداروں سے لے کر درمیانے درجے کے اسٹارٹ اپس تک کی تنظیموں کے ساتھ کام کیا ہے۔ وہ گہری سیکھنے پر توجہ مرکوز کرتا ہے، بشمول NLP اور کمپیوٹر ویژن ڈومینز۔ وہ صارفین کو Amazon SageMaker پر اعلیٰ کارکردگی کے ماڈل کا اندازہ حاصل کرنے میں مدد کرتا ہے۔

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

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیسوربھ تریکنڈے Amazon SageMaker Inference کے لیے ایک سینئر پروڈکٹ مینیجر ہے۔ وہ صارفین کے ساتھ کام کرنے کا شوق رکھتا ہے اور مشین لرننگ کو جمہوری بنانے کے مقصد سے حوصلہ افزائی کرتا ہے۔ وہ پیچیدہ ایم ایل ایپلی کیشنز، ملٹی ٹیننٹ ایم ایل ماڈلز، لاگت کی اصلاح، اور ڈیپ لرننگ ماڈلز کی تعیناتی کو مزید قابل رسائی بنانے سے متعلق بنیادی چیلنجوں پر توجہ مرکوز کرتا ہے۔ اپنے فارغ وقت میں، سوربھ کو پیدل سفر کرنا، اختراعی ٹیکنالوجیز کے بارے میں سیکھنا، TechCrunch کی پیروی کرنا، اور اپنے خاندان کے ساتھ وقت گزارنا پسند ہے۔

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیدیپتی راگھا۔ ایمیزون سیج میکر ٹیم میں سافٹ ویئر ڈویلپمنٹ انجینئر ہے۔ اس کا موجودہ کام مشین لرننگ ماڈلز کو مؤثر طریقے سے میزبانی کرنے کے لیے خصوصیات بنانے پر مرکوز ہے۔ اپنے فارغ وقت میں، وہ سفر، پیدل سفر اور پودوں کو اگانے سے لطف اندوز ہوتی ہے۔

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

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیجیاہونگ لیو NVIDIA میں کلاؤڈ سروس پرووائیڈر ٹیم میں ایک حل آرکیٹیکٹ ہے۔ وہ مشین لرننگ اور AI سلوشنز کو اپنانے میں کلائنٹس کی مدد کرتا ہے جو NVIDIA ایکسلریٹڈ کمپیوٹنگ کو ان کی ٹریننگ اور انفرنس چیلنجز سے نمٹنے کے لیے فائدہ اٹھاتے ہیں۔ اپنے فارغ وقت میں، وہ اوریگامی، DIY پروجیکٹس، اور باسکٹ بال کھیلنا پسند کرتا ہے۔

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیایلیوتھ ٹریانا NVIDIA-AWS ٹیم میں ڈیولپر ریلیشنز مینیجر ہے۔ وہ Amazon ML/DL کام کے بوجھ، EC2 مصنوعات، اور AWS AI خدمات کو تیز کرنے کے لیے Amazon اور AWS پروڈکٹ لیڈروں، ڈویلپرز، اور سائنسدانوں کو NVIDIA تکنیکی ماہرین اور پروڈکٹ لیڈروں سے جوڑتا ہے۔ اس کے علاوہ، ایلیوتھ ایک پرجوش ماؤنٹین بائیکر، اسکیئر، اور پوکر کھلاڑی ہے۔

Amazon SageMaker ملٹی ماڈل اینڈ پوائنٹس PlatoBlockchain Data Intelligence کے ساتھ GPU پر متعدد ڈیپ لرننگ ماڈلز چلائیں۔ عمودی تلاش۔ عیمیکسیمیلیانو میکانٹی AWS میں اس وقت DynamoDB کے ساتھ ایک پرنسپل انجینئر ہے، میں re:Invent 2017 میں SageMaker کی لانچ ٹیم میں تھا اور اگلے 5 سال ہوسٹنگ پلیٹ فارم میں گزارے جس میں ہر قسم کے صارفین کو فیچرز کا سامنا ہے۔ اپنے فارغ وقت میں میں ونٹیج ویڈیوگیم کنسولز کو اکٹھا کرتا ہوں، مرمت کرتا ہوں اور ان کے ساتھ کھیلتا ہوں۔

ٹائم اسٹیمپ:

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