SageMaker میں ماڈل ہوسٹنگ پیٹرنز: SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ماڈلز کی جانچ اور اپ ڈیٹ کرنے کے بہترین طریقے۔ عمودی تلاش۔ عی

سیج میکر میں ماڈل ہوسٹنگ پیٹرنز: سیج میکر پر ماڈلز کی جانچ اور اپ ڈیٹ کرنے کے بہترین طریقے

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

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

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

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

اس پوسٹ میں، ہم SageMaker ملٹی ویرینٹ اینڈ پوائنٹس اور آپٹیمائزیشن کے بہترین طریقوں پر تبادلہ خیال کرتے ہیں۔

سیج میکر ریئل ٹائم انفرنس آپشنز کا موازنہ کرنا

مندرجہ ذیل خاکہ SageMaker کے ساتھ حقیقی وقت کے تخمینے کے اختیارات کا فوری جائزہ پیش کرتا ہے۔

سنگل ماڈل اینڈ پوائنٹ آپ کو وقف شدہ مثالوں پر ہوسٹ کیے گئے کنٹینر پر ایک ماڈل تعینات کرنے کی اجازت دیتا ہے یا کم تاخیر اور زیادہ تھرو پٹ کے لیے بغیر سرور کے۔ آپ ایک ماڈل بنا سکتے ہیں اور بازیافت a سیج میکر کی حمایت یافتہ تصویر TensorFlow، PyTorch، Scikit-learn، اور مزید جیسے مشہور فریم ورکس کے لیے۔ اگر آپ اپنے ماڈل کے لیے حسب ضرورت فریم ورک کے ساتھ کام کر رہے ہیں، تو آپ بھی کر سکتے ہیں۔ اپنا اپنا کنٹینر لائیں۔ جو آپ کے انحصار کو انسٹال کرتا ہے۔

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

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

  • مختلف فریم ورک (جیسے TensorFlow، PyTorch، اور Scikit-learn) پر ایسے ماڈلز کی میزبانی کرنا جن میں کسی مثال کی پوری صلاحیت کو پورا کرنے کے لیے کافی ٹریفک نہیں ہے۔
  • مختلف ML الگورتھم (جیسے سفارشات، پیشن گوئی، یا درجہ بندی) اور ہینڈلر کے افعال کے ساتھ ایک ہی فریم ورک سے ماڈلز کی میزبانی کرنا
  • A/B ٹیسٹنگ جیسے منظرناموں کے لیے مختلف فریم ورک ورژنز (جیسے TensorFlow 1.x بمقابلہ TensorFlow 2.x) پر چلنے والے ایک جیسے فن تعمیر کا موازنہ

SageMaker ملٹی ویرینٹ اینڈ پوائنٹس (MVEs) آپ کو پروڈکشن ویریئنٹس کا استعمال کرتے ہوئے ایک ہی اینڈ پوائنٹ کے پیچھے متعدد ماڈلز یا ماڈل ورژنز کی جانچ کرنے کی اجازت دیتا ہے۔ ہر پروڈکشن ویرینٹ ایک ML ماڈل اور ماڈل کی میزبانی کے لیے تعینات وسائل کی شناخت کرتا ہے، جیسے سرونگ کنٹینر اور مثال۔

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

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

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

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

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

ایک MVE تعینات کرنا بھی بہت سیدھا ہے۔ آپ کو صرف ماڈل آبجیکٹ کی تصویر اور ماڈل ڈیٹا کے ساتھ وضاحت کرنے کی ضرورت ہے۔ create_model SageMaker Python SDK سے تعمیر کریں، اور استعمال کرتے ہوئے اینڈ پوائنٹ کنفیگریشنز کی وضاحت کریں۔ production_variant پروڈکشن ویریئنٹس بنانے کے لیے تشکیل دیتا ہے، ہر ایک کا اپنا الگ ماڈل اور وسائل کی ضروریات (مثال کی قسم اور شمار)۔ یہ آپ کو مختلف مثالوں کی اقسام پر ماڈلز کی جانچ کرنے کے قابل بناتا ہے۔ تعینات کرنے کے لیے، استعمال کریں۔ endpoint_from_production_variant اختتامی نقطہ بنانے کے لیے تعمیر کریں۔

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

sm_session.create_model(
	name=model_name,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url}
	)

sm_session.create_model(
	name=model_name2,
	role=role,
	container_defs={'Image':  image_uri, 'ModelDataUrl': model_url2 }
	)

variant1 = production_variant(
	model_name=model_name,
	instance_type="ml.c5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant1",
	initial_weight=1
	)

variant2 = production_variant(
	model_name=model_name2,
	instance_type="ml.m5.4xlarge",
	initial_instance_count=1,
	variant_name="Variant2",
	initial_weight=1
	)

sm_session.endpoint_from_production_variants(
	name=endpoint_name,
	production_variants=[variant1,  variant2]
	)

پچھلی مثال میں، ہم نے دو مختلف شکلیں بنائیں، ہر ایک کا اپنا الگ ماڈل ہے (ان میں مثال کی مختلف اقسام اور شمار بھی ہو سکتے ہیں)۔ ہم نے ایک سیٹ کیا۔ initial_weight دونوں قسموں کے لیے 1 کا: اس کا مطلب ہے کہ ہماری 50% درخواستیں جاتی ہیں۔ Variant1، اور بقیہ 50٪ سے Variant2. دونوں قسموں میں وزن کا مجموعہ 2 ہے اور ہر ویریئنٹ کا وزن 1 ہے۔ اس کا مطلب ہے کہ ہر ویرینٹ کو کل ٹریفک کا 50% ملتا ہے۔

اختتامی نقطہ کی درخواست کرنا عام سیج میکر تعمیر کی طرح ہے۔ invoke_endpoint; آپ پے لوڈ کے طور پر ڈیٹا کے ساتھ اینڈ پوائنٹ کو براہ راست کال کر سکتے ہیں:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload
	)

سیج میکر میٹرکس کا اخراج کرتا ہے جیسے Latency اور Invocations CloudWatch میں ہر قسم کے لیے۔ میٹرکس کی مکمل فہرست کے لیے جو سیج میکر خارج کرتا ہے، دیکھیں Amazon CloudWatch کے ساتھ Amazon SageMaker کی نگرانی کریں۔. آپ CloudWatch سے استفسار کر سکتے ہیں کہ فی متغیر کی درخواستوں کی تعداد حاصل کر سکیں، یہ دیکھنے کے لیے کہ کس طرح درخواستیں بطور ڈیفالٹ مختلف اقسام میں تقسیم ہوتی ہیں۔

ماڈل کے ایک مخصوص ورژن کو طلب کرنے کے لیے، ایک متغیر کو بطور متعین کریں۔ TargetVariant کال میں invoke_endpoint:

sm_runtime.invoke_endpoint(
	EndpointName=endpoint_name,
	ContentType="text/csv",
	Body=payload,
	TargetVariant="Variant1"
	)

آپ ہر پروڈکشن ویرینٹ کی کارکردگی کا جائزہ لے کر پیمائش کر سکتے ہیں جیسے کہ درستگی، درستگی، یاد کرنا، F1 سکور، اور وصول کنندہ آپریٹنگ خصوصیت/رقبہ وکر کے نیچے ایمیزون سیج میکر ماڈل مانیٹر. اس کے بعد آپ کال کر کے ہر ویرینٹ کو تفویض کردہ وزن کو اپ ڈیٹ کر کے بہترین ماڈل تک ٹریفک بڑھانے کا فیصلہ کر سکتے ہیں۔ Endpoint Weightsاور Capacities کو اپ ڈیٹ کریں۔. یہ آپ کے اختتامی نقطہ پر اپ ڈیٹس کی ضرورت کے بغیر آپ کی پیداوار کی مختلف حالتوں میں ٹریفک کی تقسیم کو تبدیل کرتا ہے۔ لہذا ابتدائی سیٹ اپ سے 50% ٹریفک کے بجائے، ہم 75% ٹریفک کو Variant2 استعمال کرتے ہوئے ہر ایک مختلف قسم کو نئے وزن تفویض کر کے UpdateEndpointWeightsAndCapacities. درج ذیل کوڈ دیکھیں:

sm.update_endpoint_weights_and_capacities(
	EndpointName=endpoint_name,
	DesiredWeightsAndCapacities=[
	{
		"DesiredWeight": 25,
		"VariantName": variant1["VariantName"]
	},
	{
		"DesiredWeight": 75,
		"VariantName": variant2["VariantName"]
	}
] )

جب آپ کسی ویریئنٹ کی کارکردگی سے مطمئن ہوتے ہیں، تو آپ 100% ٹریفک کو اس ویرینٹ کی طرف بھیج سکتے ہیں۔ مثال کے طور پر، آپ کے لئے وزن مقرر کر سکتے ہیں Variant1 0 تک اور وزن Variant2 SageMaker پھر 1% تمام تخمینہ درخواستوں کو بھیجتا ہے۔ Variant2. اس کے بعد آپ اپنے اختتامی نقطہ کو محفوظ طریقے سے اپ ڈیٹ کر سکتے ہیں اور حذف کر سکتے ہیں۔ Variant1 آپ کے اختتامی نقطہ سے. آپ اپنے اختتامی نقطہ میں نئی ​​قسمیں شامل کرکے پروڈکشن میں نئے ماڈلز کی جانچ جاری رکھ سکتے ہیں۔ آپ اینڈ پوائنٹس کو موصول ہونے والی ٹریفک کی بنیاد پر خود بخود پیمانے کے لیے ان اختتامی پوائنٹس کو بھی ترتیب دے سکتے ہیں۔

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

SageMaker MVEs آپ کو درج ذیل کام کرنے کی اجازت دیتے ہیں:

  • ایک ہی SageMaker اینڈ پوائنٹ کا استعمال کرتے ہوئے ایک ماڈل کی متعدد اقسام کو تعینات اور جانچیں۔ یہ پیداوار میں ماڈل کی مختلف حالتوں کو جانچنے کے لیے مفید ہے۔ مثال کے طور پر، فرض کریں کہ آپ نے ایک ماڈل کو پروڈکشن میں لگایا ہے۔ آپ ٹریفک کی ایک چھوٹی سی مقدار، 5%، نئے ماڈل کی طرف بھیج کر ماڈل کے تغیر کو جانچ سکتے ہیں۔
  • CloudWatch میں ہر قسم کے آپریشنل میٹرکس کی نگرانی کرکے ٹریفک میں خلل ڈالے بغیر پیداوار میں ماڈل کی کارکردگی کا اندازہ کریں۔
  • کسی بھی دستیابی کو کھونے کے بغیر پروڈکشن میں ماڈلز کو اپ ڈیٹ کریں۔ آپ ایسے ماڈلز کو لیے بغیر اختتامی نقطہ میں ترمیم کر سکتے ہیں جو پہلے ہی سروس سے باہر پروڈکشن میں تعینات ہیں۔ مثال کے طور پر، آپ نئے ماڈل کی مختلف قسمیں شامل کر سکتے ہیں، موجودہ ماڈل کی مختلف حالتوں کی ML کمپیوٹ مثال کی ترتیب کو اپ ڈیٹ کر سکتے ہیں، یا ماڈل کی مختلف حالتوں میں ٹریفک کی تقسیم کو تبدیل کر سکتے ہیں۔ مزید معلومات کے لیے دیکھیں اپ ڈیٹ اینڈ پوائنٹ اور Endpoint Weightsاور Capacities کو اپ ڈیٹ کریں۔.

ملٹی ویرینٹ اینڈ پوائنٹس استعمال کرتے وقت چیلنجز

SageMaker MVEs درج ذیل چیلنجز کے ساتھ آتے ہیں:

  • لوڈ ٹیسٹنگ کی کوشش - آپ کو ہر قسم کے لیے ٹیسٹنگ اور ماڈل میٹرکس موازنہ کے لیے کافی کوششیں اور وسائل لگانے کی ضرورت ہے۔ A/B ٹیسٹ کو کامیاب تصور کرنے کے لیے، آپ کو ٹیسٹ سے جمع کیے گئے میٹرکس کا شماریاتی تجزیہ کرنا ہوگا تاکہ یہ معلوم کیا جا سکے کہ آیا کوئی شماریاتی لحاظ سے اہم نتیجہ ہے یا نہیں۔ ناقص کارکردگی کا مظاہرہ کرنے والی مختلف حالتوں کی تلاش کو کم سے کم کرنا مشکل ہو سکتا ہے۔ آپ ممکنہ طور پر استعمال کرسکتے ہیں۔ کثیر مسلح ڈاکو آپٹیمائزیشن کی تکنیک ایسے تجربات پر ٹریفک بھیجنے سے بچنے کے لیے جو کام نہیں کر رہے ہیں اور آپ کی جانچ کے دوران کارکردگی کو بہتر بنائیں۔ لوڈ ٹیسٹنگ کے لیے، آپ بھی دریافت کر سکتے ہیں۔ Amazon SageMaker Inference Recommender لیٹنسی اور تھرو پٹ، حسب ضرورت ٹریفک پیٹرن، اور آپ کے منتخب کردہ مثالوں (10 تک) کے لیے پیداواری تقاضوں کی بنیاد پر وسیع بینچ مارکس کا انعقاد کرنا۔
  • ماڈل ویرینٹ اور اینڈ پوائنٹ کے درمیان سخت کپلنگ - یہ ماڈل کی تعیناتی کی فریکوئنسی کے لحاظ سے مشکل ہو سکتا ہے، کیونکہ اختتامی نقطہ ختم ہو سکتا ہے۔ updating ہر پروڈکشن ویرینٹ کے لیے اسٹیٹس کو اپ ڈیٹ کیا جا رہا ہے۔ سیج میکر بھی سپورٹ کرتا ہے۔ تعیناتی guardrailsجس کا استعمال آپ آسانی سے پروڈکشن میں موجودہ ماڈل سے کنٹرول شدہ طریقے سے نئے ماڈل پر سوئچ کرنے کے لیے کر سکتے ہیں۔ یہ آپشن متعارف کراتا ہے۔ کینری اور لکیری ٹریفک شفٹنگ موڈز تاکہ اپ ڈیٹ کے دوران آپ اپنے موجودہ ماڈل سے نئے ماڈل میں ٹریفک کی منتقلی پر دانے دار کنٹرول حاصل کر سکیں۔ بلٹ ان حفاظتی اقدامات جیسے آٹو رول بیکس کے ساتھ، آپ مسائل کو جلد پکڑ سکتے ہیں اور خود بخود اصلاحی کارروائی کر سکتے ہیں اس سے پہلے کہ وہ اہم پیداواری اثرات کا باعث بنیں۔

ملٹی ویرینٹ اینڈ پوائنٹس کے لیے بہترین طریقے

SageMaker MVEs کا استعمال کرتے ہوئے ماڈلز کی میزبانی کرتے وقت، درج ذیل پر غور کریں:

  • SageMaker نئے ماڈلز کو جانچنے کے لیے بہت اچھا ہے کیونکہ آپ انہیں آسانی سے A/B ٹیسٹنگ ماحول میں تعینات کر سکتے ہیں اور آپ صرف وہی ادائیگی کرتے ہیں جو آپ استعمال کرتے ہیں۔ آپ سے فی مثال چارج کیا جاتا ہے-ہر ایک مثال کے لیے استعمال ہونے والا گھنٹہ جب اختتامی نقطہ چل رہا ہو۔ جب آپ اپنے ٹیسٹ مکمل کر لیں اور اختتامی نقطہ یا متغیرات کو بڑے پیمانے پر استعمال نہ کریں تو آپ کو لاگت بچانے کے لیے اسے حذف کر دینا چاہیے۔ جب آپ کو دوبارہ ضرورت ہو تو آپ ہمیشہ اسے دوبارہ بنا سکتے ہیں کیونکہ ماڈل اس میں محفوظ ہے۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)۔
  • آپ کو ماڈلز کی تعیناتی کے لیے بہترین مثال کی قسم اور سائز کا استعمال کرنا چاہیے۔ SageMaker فی الحال پیش کرتا ہے۔ ایم ایل کمپیوٹ کی مثالیں۔ مختلف مثالوں کے خاندانوں پر۔ ایک اختتامی نقطہ ہر وقت چل رہا ہے (جب کہ مثال خدمت میں ہے)۔ لہذا، صحیح قسم کی مثال کا انتخاب ایم ایل ماڈلز کی کل لاگت اور کارکردگی پر نمایاں اثر ڈال سکتا ہے۔ لوڈ ٹیسٹنگ آپ کے لائیو اینڈ پوائنٹ کے لیے آٹو اسکیلنگ کے ساتھ یا اس کے بغیر، مناسب مثال کی قسم اور فلیٹ سائز کا تعین کرنے کا بہترین طریقہ ہے تاکہ ضرورت سے زیادہ گنجائش اور اضافی ادائیگی سے بچا جا سکے۔
  • آپ CloudWatch میں ماڈل کی کارکردگی اور وسائل کے استعمال کی نگرانی کر سکتے ہیں۔ آپ ترتیب دے سکتے ہیں a ProductionVariant استعمال کرنے کے لئے ایپلیکیشن آٹو اسکیلنگ. اسکیلنگ پالیسی کے لیے میٹرکس اور ٹارگٹ ویلیوز بتانے کے لیے، آپ ٹارگٹ ٹریکنگ اسکیلنگ پالیسی تشکیل دیتے ہیں۔ آپ پہلے سے طے شدہ میٹرک یا حسب ضرورت میٹرک استعمال کر سکتے ہیں۔ پالیسی کنفیگریشن نحو کے بارے میں مزید معلومات کے لیے، دیکھیں TargetTrackingScalingPolicyConfiguration. خودکار پیمانے پر ترتیب دینے کے بارے میں معلومات کے لیے، دیکھیں ایمیزون سیج میکر ماڈلز کو خود بخود اسکیل کریں۔. متغیر کے لیے ٹارگٹ ٹریکنگ اسکیلنگ پالیسی کی فوری وضاحت کرنے کے لیے، آپ ایک مخصوص CloudWatch میٹرک کا انتخاب کر سکتے ہیں اور حد کی قدریں سیٹ کر سکتے ہیں۔ مثال کے طور پر میٹرک کا استعمال کریں۔ SageMakerVariantInvocationsPerInstance فی منٹ کی اوسط تعداد کی نگرانی کرنے کے لیے کہ ہر ایک متغیر کے لیے استعمال کیا گیا ہے، یا میٹرک کا استعمال کریں CPUUtilization سی پی یو کے ذریعے سنبھالے گئے کام کی رقم کی نگرانی کے لیے۔ مندرجہ ذیل مثال کا استعمال کرتا ہے SageMakerVariantInvocationsPerInstance متغیر مثالوں کی تعداد کو ایڈجسٹ کرنے کے لیے پہلے سے طے شدہ میٹرک تاکہ ہر مثال میں ایک ہو۔ InvocationsPerInstance میٹرک 70:
{
	"TargetValue": 70.0,
	"PredefinedMetricSpecification":
	{
		"PredefinedMetricType": "SageMakerVariantInvocationsPerInstance"
	}
}

  • ماڈل کے نمونے کو تبدیل کرنا یا حذف کرنا یا ماڈل کو تعینات کرنے کے بعد انفرنس کوڈ کو تبدیل کرنا غیر متوقع نتائج پیدا کرتا ہے۔ ماڈلز کو پروڈکشن میں تعینات کرنے سے پہلے، یہ چیک کرنا ایک اچھا عمل ہے کہ آیا مقامی موڈ میں ماڈل کی میزبانی کافی حد تک انفرنس کوڈ کے ٹکڑوں کو ڈیبگ کرنے کے بعد کامیاب ہے (جیسے model_fn, input_fn, predict_fn، اور output_fn) مقامی ترقیاتی ماحول میں جیسے سیج میکر نوٹ بک مثال یا مقامی سرور۔ اگر آپ کو ماڈل کے نمونے تبدیل کرنے یا حذف کرنے یا انفرنس کوڈ کو تبدیل کرنے کی ضرورت ہے تو ایک نئی اینڈ پوائنٹ کنفیگریشن فراہم کر کے اینڈ پوائنٹ میں ترمیم کریں۔ نئی اینڈ پوائنٹ کنفیگریشن فراہم کرنے کے بعد، آپ پرانی اینڈ پوائنٹ کنفیگریشن کے مطابق ماڈل آرٹفیکٹس کو تبدیل یا حذف کر سکتے ہیں۔
  • آپ SageMaker استعمال کر سکتے ہیں۔ بیچ کی تبدیلی پیداوار کی مختلف حالتوں کی جانچ کرنے کے لیے۔ بیچ ٹرانسفارم بڑے ڈیٹا سیٹس سے اندازہ حاصل کرنے کے لیے مثالی ہے۔ آپ ہر نئے ماڈل ویرینٹ کے لیے الگ ٹرانسفارم جاب بنا سکتے ہیں اور جانچ کے لیے ایک توثیق ڈیٹا سیٹ استعمال کر سکتے ہیں۔ ہر ٹرانسفارم جاب کے لیے، آؤٹ پٹ فائل کے لیے Amazon S3 میں ایک منفرد ماڈل کا نام اور مقام متعین کریں۔ نتائج کا تجزیہ کرنے کے لیے، استعمال کریں۔ انفرنس پائپ لائن لاگ اور میٹرکس.

نتیجہ

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

حوالہ جات


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

SageMaker میں ماڈل ہوسٹنگ پیٹرنز: SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ماڈلز کی جانچ اور اپ ڈیٹ کرنے کے بہترین طریقے۔ عمودی تلاش۔ عیدیپالی راجلے ایمیزون ویب سروسز میں AI/ML ماہر تکنیکی اکاؤنٹ مینیجر ہے۔ وہ انٹرپرائز صارفین کے ساتھ کام کرتی ہے جو بہترین طریقوں کے ساتھ مشین لرننگ سلوشنز کو نافذ کرنے کے لیے تکنیکی رہنمائی فراہم کرتی ہے۔ اپنے فارغ وقت میں، وہ پیدل سفر، فلموں اور خاندان اور دوستوں کے ساتھ گھومنے پھرنے سے لطف اندوز ہوتی ہے۔

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

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

ٹائم اسٹیمپ:

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