Design patterns for serial inference on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai.

ایمیزون سیج میکر پر سیریل انفرنس کے لیے ڈیزائن پیٹرن

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

مزید برآں، ان سیریل انفرنس پائپ لائنوں کو درج ذیل فراہم کرنا چاہیے:

  • لچکدار اور حسب ضرورت عمل درآمد (انحصار، الگورتھم، کاروباری منطق، وغیرہ)
  • پیداوار کے نفاذ کے لیے دہرائی جانے والی اور مستقل
  • بنیادی ڈھانچے کے انتظام کو کم سے کم کرکے غیر امتیازی بھاری لفٹنگ

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

مندرجہ ذیل جدول سیریل انفرنس، نفاذ کے تحفظات اور اختیارات کے لیے استعمال کے مختلف کیسز کا خلاصہ کرتا ہے۔ ان پر اس پوسٹ میں بحث کی گئی ہے۔

کیس کا استعمال کریں کیس کی تفصیل کا استعمال کریں۔ بنیادی تحفظات مجموعی طور پر عمل درآمد کی پیچیدگی تجویز کردہ نفاذ کے اختیارات نمونہ کوڈ آرٹفیکٹس اور نوٹ بک
سیریل انفرنس پائپ لائن (پری پروسیسنگ اور پوسٹ پروسیسنگ کے مراحل کے ساتھ) انفرنس پائپ لائن کو انفرنس پیدا کرنے کے لیے ایک تربیت یافتہ ماڈل کو استعمال کرنے سے پہلے آنے والے ڈیٹا کو پہلے سے پروسیس کرنے کی ضرورت ہوتی ہے، اور پھر جنریٹڈ انفرنسز کو پوسٹ پروسیس کرنے کی ضرورت ہوتی ہے، تاکہ وہ آسانی سے ڈاون اسٹریم ایپلی کیشنز کے ذریعے استعمال ہوسکیں۔ نفاذ میں آسانی لو سیج میکر انفرنس ٹول کٹ کا استعمال کرتے ہوئے انفرنس کنٹینر ایک تربیت یافتہ PyTorch ماڈل تعینات کریں۔
سیریل انفرنس پائپ لائن (پری پروسیسنگ اور پوسٹ پروسیسنگ کے مراحل کے ساتھ) انفرنس پائپ لائن کو انفرنس پیدا کرنے کے لیے ایک تربیت یافتہ ماڈل کو استعمال کرنے سے پہلے آنے والے ڈیٹا کو پہلے سے پروسیس کرنے کی ضرورت ہوتی ہے، اور پھر جنریٹڈ انفرنسز کو پوسٹ پروسیس کرنے کی ضرورت ہوتی ہے، تاکہ وہ آسانی سے ڈاون اسٹریم ایپلی کیشنز کے ذریعے استعمال ہوسکیں۔ ڈیکپلنگ، آسان تعیناتی، اور اپ گریڈ درمیانہ سیج میکر انفرنس پائپ لائن کسٹم کنٹینرز اور xgBoost کے ساتھ انفرنس پائپ لائن
سیریل ماڈل کا جوڑا انفرنس پائپ لائن کو ایک سے زیادہ ماڈلز کو ترتیب وار ترتیب دینے اور ترتیب دینے کی ضرورت ہوتی ہے، تاکہ ہر ماڈل حتمی تخمینہ پیدا کرنے سے پہلے پچھلے ایک سے پیدا ہونے والے تخمینہ کو بڑھا سکے۔ ڈیکپلنگ، آسان تعیناتی اور اپ گریڈ، ماڈل فریم ورک کے انتخاب میں لچک درمیانہ سیج میکر انفرنس پائپ لائن Scikit-learn اور Linear Learner کے ساتھ انفرنس پائپ لائن
سیریل انفرنس پائپ لائن (گروپ کی جانب سے ٹارگٹڈ ماڈل کی درخواست کے ساتھ) انفرنس پائپ لائن کو پہلے سے پروسیسنگ اور پوسٹ پروسیسنگ کے کاموں کے علاوہ، درخواست کی خصوصیات کی بنیاد پر یا لاگت کی اصلاح کے لیے، تعینات کردہ ماڈلز کے ایک گروپ سے مخصوص تخصیص کردہ ماڈل کو طلب کرنے کی ضرورت ہے۔ لاگت کی اصلاح اور حسب ضرورت ہائی ملٹی ماڈل اینڈ پوائنٹ (MMEs) کے ساتھ سیج میکر انفرنس پائپ لائن ایمیزون سیج میکر ملٹی ماڈل اینڈ پوائنٹس لائنر لرنر کا استعمال کرتے ہوئے

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

انفرنس کنٹینرز کا استعمال کرتے ہوئے سیریل انفرنس پائپ لائن

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

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

SageMaker MMS ایک Python اسکرپٹ کی توقع کرتا ہے جو ماڈل کو لوڈ کرنے، پری پروسیس ان پٹ ڈیٹا، ماڈل سے پیشین گوئیاں حاصل کرنے، اور آؤٹ پٹ ڈیٹا کو پوسٹ پروسیس کرنے کے لیے درج ذیل فنکشنز کو لاگو کرتا ہے۔

  • input_fn() - ان پٹ ڈیٹا کو ڈی سیریلائز کرنے اور پری پروسیسنگ کے لیے ذمہ دار
  • model_fn() - نمونے میں سے تربیت یافتہ ماڈل لوڈ کرنے کے لیے ذمہ دار ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)
  • predict_fn() - ماڈل سے نتائج پیدا کرنے کے لئے ذمہ دار
  • output_fn() - آؤٹ پٹ ڈیٹا کو سیریلائز کرنے اور پوسٹ پروسیسنگ کے لیے ذمہ دار

انفرنس کنٹینر کو اپنی مرضی کے مطابق بنانے کے تفصیلی اقدامات کے لیے، رجوع کریں۔ آپ کے اپنے انفرنس کنٹینر کو اپنانا.

انفرنس کنٹینرز سیریل انفرنس پائپ لائن کے استعمال کے معاملات کے لیے درج ذیل بنیادی تحفظات کے ساتھ ایک مثالی ڈیزائن پیٹرن ہیں:

  • اعلی ہم آہنگی - پروسیسنگ منطق اور متعلقہ ماڈل واحد کاروباری فعالیت کو آگے بڑھاتے ہیں اور اس کے ساتھ مل کر رہنے کی ضرورت ہے
  • کم مجموعی تاخیر - تخمینہ کی درخواست کرنے اور جواب موصول ہونے کے درمیان گزرا ہوا وقت

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

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

سیج میکر انفرنس پائپ لائن کا استعمال کرتے ہوئے سیریل انفرنس پائپ لائن

سیریل انفرنس پائپ لائن کے استعمال کے کیس کی ایک اور تبدیلی کے لیے پائپ لائن کے مختلف مراحل (جیسے ڈیٹا پری پروسیسنگ، انفرنس جنریشن، ڈیٹا پوسٹ پروسیسنگ، اور فارمیٹنگ اور سیریلائزیشن) کے درمیان واضح ڈیکپلنگ کی ضرورت ہوتی ہے۔ یہ مختلف وجوہات کی وجہ سے ہوسکتا ہے:

  • بند کرنا - پائپ لائن کے مختلف مراحل کا واضح طور پر متعین مقصد ہے اور اس میں شامل بنیادی انحصار کی وجہ سے علیحدہ کنٹینرز پر چلانے کی ضرورت ہے۔ اس سے پائپ لائن کو اچھی طرح سے منظم رکھنے میں بھی مدد ملتی ہے۔
  • فریم ورک - پائپ لائن کے مختلف مراحل میں مخصوص موزوں فریم ورک کا استعمال کیا جاتا ہے (جیسے اسکِٹ یا اسپارک ایم ایل) اور اس لیے انہیں علیحدہ کنٹینرز پر چلانے کی ضرورت ہے۔
  • وسائل کی تنہائی - پائپ لائن کے مختلف مراحل میں وسائل کی کھپت کے تقاضے مختلف ہوتے ہیں اور اس لیے مزید لچک اور کنٹرول کے لیے علیحدہ کنٹینرز پر چلانے کی ضرورت ہوتی ہے۔

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

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

ml9154-inference-pipeline

سیج میکر انفرنس پائپ لائن 2-15 کنٹینرز کی ایک لکیری ترتیب پر مشتمل ہوتی ہے جو ڈیٹا پر انفرنسز کی درخواستوں پر کارروائی کرتی ہے۔ انفرنس پائپ لائن پہلے سے تربیت یافتہ سیج میکر بلٹ ان الگورتھم یا ڈوکر کنٹینرز میں پیک کردہ حسب ضرورت الگورتھم استعمال کرنے کا اختیار فراہم کرتی ہے۔ کنٹینرز کی میزبانی اسی بنیادی مثال پر کی جاتی ہے، جس سے مجموعی تاخیر کو کم کرنے اور لاگت کو کم کرنے میں مدد ملتی ہے۔

مندرجہ ذیل کوڈ کا ٹکڑا دکھاتا ہے کہ کس طرح متعدد پروسیسنگ مراحل اور ماڈلز کو ایک سیریل انفرنس پائپ لائن بنانے کے لیے ملایا جا سکتا ہے۔

ہم اسپارک ML اور XGBoost پر مبنی ماڈلز کی تعمیر اور ان کی وضاحت کرکے شروعات کرتے ہیں جنہیں ہم پائپ لائن کے حصے کے طور پر استعمال کرنے کا ارادہ رکھتے ہیں:

from sagemaker.model import Model
from sagemaker.pipeline_model import PipelineModel
from sagemaker.sparkml.model import SparkMLModel
sparkml_data = 's3://{}/{}/{}'.format(s3_model_bucket, s3_model_key_prefix, 'model.tar.gz')
sparkml_model = SparkMLModel(model_data=sparkml_data)
xgb_model = Model(model_data=xgb_model.model_data, image=training_image)

اس کے بعد ماڈلز کو پائپ لائن ماڈل کی تعریف کے اندر ترتیب سے ترتیب دیا جاتا ہے:

model_name = 'serial-inference-' + timestamp_prefix
endpoint_name = 'serial-inference-ep-' + timestamp_prefix
sm_model = PipelineModel(name=model_name, role=role, models=[sparkml_model, xgb_model])

اس کے بعد قیاس پائپ لائن کو ریئل ٹائم انفرنس کے لیے ایک اینڈ پوائنٹ کے پیچھے میزبان ML مثالوں کی قسم اور تعداد بتا کر تعینات کیا جاتا ہے:

sm_model.deploy(initial_instance_count=1, instance_type='ml.c4.xlarge', endpoint_name=endpoint_name)

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

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

سیریل ماڈل کا جوڑا سیج میکر انفرنس پائپ لائن کا استعمال کرتے ہوئے

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

آئیے سیریل ماڈل کے جوڑ سے متعلق ایک مخصوص مثال پر غور کریں جہاں ہمیں صارف کی اپ لوڈ کردہ تصاویر کو مخصوص تھیمز یا عنوانات کی بنیاد پر گروپ کرنے کی ضرورت ہے۔ یہ پائپ لائن تین ایم ایل ماڈلز پر مشتمل ہو سکتی ہے:

  • ماڈل 1 - کسی تصویر کو بطور ان پٹ قبول کرتا ہے اور تصویر کے ریزولوشن، واقفیت اور مزید کی بنیاد پر تصویر کے معیار کا جائزہ لیتا ہے۔ اس کے بعد یہ ماڈل تصویر کے معیار کو بڑھانے کی کوشش کرتا ہے اور پروسیس شدہ تصاویر کو اگلے ماڈل (ماڈل 2) کو ایک خاص معیار کی حد کو پورا کرنے کے لیے بھیجتا ہے۔
  • ماڈل 2 - ماڈل 1 کے ذریعے تصدیق شدہ تصاویر کو قبول کرتا ہے اور کارکردگی کا مظاہرہ کرتا ہے۔ تصویری شناخت تصاویر میں اشیاء، مقامات، لوگوں، متن، اور دیگر حسب ضرورت اعمال اور تصورات کی شناخت کرنے کے لیے۔ ماڈل 2 سے آؤٹ پٹ جس میں شناخت شدہ اشیاء شامل ہیں ماڈل 3 کو بھیجی جاتی ہے۔
  • ماڈل 3 - ماڈل 2 سے آؤٹ پٹ کو قبول کرتا ہے اور نیچرل لینگویج پروسیسنگ (NLP) کے کام انجام دیتا ہے جیسے کہ تھیمز کی بنیاد پر تصاویر کو ایک ساتھ گروپ کرنے کے لیے ٹاپک ماڈلنگ۔ مثال کے طور پر، تصاویر کو مقام یا شناخت شدہ لوگوں کی بنیاد پر گروپ کیا جا سکتا ہے۔ آؤٹ پٹ (گروپنگ) کلائنٹ کی درخواست کو واپس بھیج دیا جاتا ہے۔

مندرجہ ذیل خاکہ ایک حوالہ نمونہ کی وضاحت کرتا ہے کہ سیج میکر انفرنس پائپ لائن کا استعمال کرتے ہوئے سیریل ماڈل کے جوڑے پر میزبانی کے متعدد ML ماڈلز کو کیسے نافذ کیا جائے۔

ml9154-ماڈل کا جوڑا

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

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

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

سیریل انفرنس پائپ لائن (ایک گروپ کی طرف سے ٹارگٹ ماڈل کی درخواست کے ساتھ) سیج میکر انفرنس پائپ لائن کا استعمال کرتے ہوئے

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

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

ml9154-mme

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

ایک سے زیادہ ماڈل نمونے ایک S3 بالٹی میں برقرار ہیں۔ جب ایک مخصوص ماڈل کی درخواست کی جاتی ہے، SageMaker اسے متحرک طور پر اختتامی نقطہ کی میزبانی کرنے والے کنٹینر پر لوڈ کرتا ہے۔ اگر ماڈل پہلے سے ہی کنٹینر کی میموری میں لوڈ ہے، تو درخواست زیادہ تیز ہے کیونکہ SageMaker کو Amazon S3 سے ماڈل ڈاؤن لوڈ کرنے کی ضرورت نہیں ہے۔ اگر مثال کے طور پر میموری کا استعمال زیادہ ہے اور ایک نئے ماڈل کی درخواست کی گئی ہے اور اس وجہ سے اسے لوڈ کرنے کی ضرورت ہے، غیر استعمال شدہ ماڈلز کو میموری سے اتار دیا جاتا ہے۔ تاہم، اتارے گئے ماڈل مثال کے سٹوریج والیوم میں رہتے ہیں، اور S3 بالٹی سے دوبارہ ڈاؤن لوڈ کیے بغیر، بعد میں دوبارہ کنٹینر کی میموری میں لوڈ کیے جا سکتے ہیں۔

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

پائپ لائن ہوسٹنگ کے اختیارات

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

اب آپ NVIDIA Triton Inference Server استعمال کر سکتے ہیں تاکہ متضاد کمپیوٹ کی ضروریات کے لیے SageMaker پر اندازہ لگانے کے لیے ماڈل پیش کریں۔ اس کو دیکھو Amazon SageMaker میں NVIDIA Triton Inference Server کے ساتھ تیز اور توسیع پذیر AI تعینات کریں۔ مزید تفصیلات کے لئے.

نتیجہ

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

ہم آپ سے اس بارے میں سننے کے منتظر ہیں کہ آپ سیریل انفرنس پائپ لائنز کا استعمال کرتے ہوئے کون سے کیسز بنا رہے ہیں۔ اگر آپ کے سوالات یا آراء ہیں، تو براہ کرم انہیں تبصروں میں شیئر کریں۔


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

Design patterns for serial inference on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. راہول شرما AWS ڈیٹا لیب میں ایک سینئر سولیوشن آرکیٹیکٹ ہے، جو AWS کے صارفین کو AI/ML سلوشنز ڈیزائن اور بنانے میں مدد کرتا ہے۔ AWS میں شامل ہونے سے پہلے، راہول نے کئی سال فنانس اور انشورنس کے شعبے میں گزارے ہیں، جس سے صارفین کو ڈیٹا اور تجزیاتی پلیٹ فارم بنانے میں مدد ملتی ہے۔

Design patterns for serial inference on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. آنند پرکاش AWS ڈیٹا لیب میں ایک سینئر سولیوشن آرکیٹیکٹ ہے۔ آنند صارفین کو AI/ML، ڈیٹا اینالیٹکس، اور ڈیٹا بیس سلوشنز کو ڈیزائن اور بنانے میں مدد کرنے پر توجہ مرکوز کرتا ہے تاکہ ان کی پیداوار کے راستے کو تیز کیا جا سکے۔

Design patterns for serial inference on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. دھول پٹیل AWS میں پرنسپل مشین لرننگ آرکیٹیکٹ ہے۔ انہوں نے تقسیم شدہ کمپیوٹنگ اور مصنوعی ذہانت سے متعلق مسائل پر بڑے اداروں سے لے کر درمیانے درجے کے اسٹارٹ اپس تک کی تنظیموں کے ساتھ کام کیا ہے۔ وہ NLP اور کمپیوٹر ویژن ڈومینز سمیت گہری سیکھنے پر توجہ مرکوز کرتا ہے۔ وہ صارفین کو SageMaker پر اعلیٰ کارکردگی کے ماڈل کا اندازہ حاصل کرنے میں مدد کرتا ہے۔

Design patterns for serial inference on Amazon SageMaker PlatoBlockchain Data Intelligence. Vertical Search. Ai. سوربھ تریکنڈے Amazon SageMaker Inference کے لیے ایک سینئر پروڈکٹ مینیجر ہے۔ وہ صارفین کے ساتھ کام کرنے اور مشین لرننگ کو مزید قابل رسائی بنانے کا شوق رکھتا ہے۔ اپنے فارغ وقت میں، سوربھ کو پیدل سفر کرنا، اختراعی ٹیکنالوجیز کے بارے میں سیکھنا، TechCrunch کی پیروی کرنا اور اپنے خاندان کے ساتھ وقت گزارنا پسند ہے۔

ٹائم اسٹیمپ:

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