AWS صارفین اپنے کلاؤڈ انفراسٹرکچر کو ڈیزائن کرنے، تیار کرنے اور ان کا نظم کرنے کے لیے بنیادی ڈھانچے کو بطور کوڈ (IaC) پر انحصار کر رہے ہیں۔ IaC اس بات کو یقینی بناتا ہے کہ کسٹمر کا بنیادی ڈھانچہ اور خدمات مستقل، توسیع پذیر، اور دوبارہ پیدا کرنے کے قابل ہیں، جبکہ ترقیاتی کاموں (DevOps) کے شعبے میں بہترین طریقوں پر عمل کرنے کے قابل ہیں۔
IaC کے ساتھ AWS انفراسٹرکچر اور خدمات کا انتظام کرنے کا ایک ممکنہ طریقہ ہے۔ ٹرافیفار، جو ڈویلپرز کو دوبارہ قابل استعمال کوڈ ماڈیولز میں اپنے بنیادی ڈھانچے کو منظم کرنے کی اجازت دیتا ہے۔ مشین لرننگ (ML) کے شعبے میں یہ پہلو تیزی سے اہمیت حاصل کر رہا ہے۔ ML پائپ لائنوں کو تیار کرنا اور ان کا انتظام کرنا، بشمول IaC کے طور پر Terraform کے ساتھ تربیت اور اندازہ، آپ کو بنیادی ڈھانچے کو شروع سے تیار کیے بغیر ایک سے زیادہ ML استعمال کے معاملات یا خطوں کے لیے آسانی سے پیمائش کرنے دیتا ہے۔ مزید برآں، یہ بنیادی ڈھانچے (مثال کے طور پر، مثال کی قسم اور سائز) کے لیے ML پائپ لائن کے مختلف نفاذ میں تربیت اور اندازہ کے لیے مستقل مزاجی فراہم کرتا ہے۔ یہ آپ کو درخواستوں اور آنے والی ٹریفک کو مختلف جگہوں پر روٹ کرنے دیتا ہے۔ ایمیزون سیج میکر نقطہ
اس پوسٹ میں، ہم آپ کو دکھاتے ہیں کہ Terraform اور Amazon SageMaker کا استعمال کرتے ہوئے ML پائپ لائنوں کو کیسے تعینات اور ان کا نظم کریں۔
حل جائزہ
یہ پوسٹ کوڈ فراہم کرتی ہے اور Amazon SageMaker کا استعمال کرتے ہوئے ماڈل ٹریننگ اور اندازہ لگانے کے لیے Terraform کے ساتھ ML پائپ لائنز کے لیے AWS انفراسٹرکچر کو تعینات کرنے کے لیے ضروری اقدامات کے بارے میں بتاتی ہے۔ ایم ایل پائپ لائن کا انتظام بذریعہ کیا جاتا ہے۔ AWS اسٹیپ فنکشنز ML پائپ لائن میں لاگو کیے گئے مختلف مراحل کو ترتیب دینے کے لیے، جیسا کہ مندرجہ ذیل تصویر میں دکھایا گیا ہے۔
سٹیپ فنکشنز شروع ہوتا ہے۔ او ڈبلیو ایس لامبڈا۔ فنکشن، ایک منفرد جاب آئی ڈی تیار کرتا ہے، جو سیج میکر ٹریننگ جاب شروع کرتے وقت استعمال ہوتا ہے۔ اسٹیپ فنکشنز ایک ماڈل، اینڈ پوائنٹ کنفیگریشن، اور اینڈ پوائنٹ بھی بناتا ہے جو اندازہ لگانے کے لیے استعمال ہوتا ہے۔ اضافی وسائل میں درج ذیل شامل ہیں:
- AWS شناخت اور رسائی کا انتظام (IAM) دیگر وسائل کے ساتھ تعامل کو فعال کرنے کے لیے وسائل سے منسلک کردار اور پالیسیاں
- ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) ٹریننگ ڈیٹا اور ماڈل آؤٹ پٹ کے لیے بالٹیاں
- An ایمیزون لچکدار کنٹینر رجسٹری (ایمیزون ای سی آر) کے لیے مخزن میں Docker ٹریننگ اور انفرنس منطق پر مشتمل تصویر
ڈوکر امیج کے ساتھ تربیت اور اندازہ کے لیے ML سے متعلقہ کوڈ بنیادی طور پر درج ذیل میں موجودہ کام پر انحصار کرتا ہے۔ GitHub ذخیرہ.
درج ذیل خاکہ حل کے فن تعمیر کی وضاحت کرتا ہے:
ہم آپ کو درج ذیل اعلیٰ سطحی مراحل سے گزارتے ہیں:
- اپنے AWS انفراسٹرکچر کو Terraform کے ساتھ تعینات کریں۔
- اپنی ڈوکر امیج کو ایمیزون ای سی آر پر پش کریں۔
- ایم ایل پائپ لائن چلائیں۔
- اپنے اختتامی نقطہ کو طلب کریں۔
ذخیرہ کی ساخت
آپ مندرجہ ذیل میں اس پوسٹ کے لیے استعمال کردہ کوڈ اور ڈیٹا پر مشتمل ذخیرہ تلاش کر سکتے ہیں۔ GitHub ذخیرہ.
ذخیرہ میں درج ذیل ڈائریکٹریز شامل ہیں:
/terraform
- درج ذیل ذیلی فولڈرز پر مشتمل ہے:./infrastructure
- ML پائپ لائن ماڈیول کو کال کرنے والی main.tf فائل پر مشتمل ہے، متغیر اعلانات کے علاوہ جو ہم انفراسٹرکچر کو تعینات کرنے کے لیے استعمال کرتے ہیں۔./ml-pipeline-module
- Terraform ML پائپ لائن ماڈیول پر مشتمل ہے، جسے ہم دوبارہ استعمال کر سکتے ہیں۔
/src
- درج ذیل ذیلی فولڈرز پر مشتمل ہے:./container
- ڈوکر امیج کی تعریفوں کے ساتھ تربیت اور اندازہ کے لیے مثالی کوڈ پر مشتمل ہے۔./lambda_function
- لیمبڈا فنکشن جنریٹنگ کنفیگریشنز کے لیے ازگر کوڈ پر مشتمل ہے، جیسے سیج میکر ٹریننگ جاب کے لیے ایک منفرد جاب ID
/data
- درج ذیل فائل پر مشتمل ہے:./iris.csv
- ایم ایل ماڈل کی تربیت کے لیے ڈیٹا پر مشتمل ہے۔
شرائط
اس واک تھرو کے لیے، آپ کے پاس درج ذیل شرائط ہونی چاہئیں:
- AWS اکاؤنٹ
- ٹرافیفار ورژن 0.13.5 یا اس سے زیادہ
- AWS کمانڈ لائن انٹرفیس (AWS CLI) v2
- ازگر 3.7 یا اس سے زیادہ
- میں Docker
اپنے AWS انفراسٹرکچر کو Terraform کے ساتھ تعینات کریں۔
ایم ایل پائپ لائن کو تعینات کرنے کے لیے، آپ کو اپنی ضروریات کے مطابق چند متغیرات اور ناموں کو ایڈجسٹ کرنے کی ضرورت ہے۔ اس قدم کا کوڈ میں ہے۔ /terraform
ڈائریکٹری.
پہلی بار شروع کرتے وقت، فائل کو کھولیں۔ terraform/infrastructure/terraform.tfvars
اور متغیر کو ایڈجسٹ کریں۔ پراجیکٹ کا نام متغیر کے علاوہ آپ کے پروجیکٹ کے نام پر خطے اگر آپ کسی دوسرے علاقے میں تعینات کرنا چاہتے ہیں۔ آپ اضافی متغیرات کو بھی تبدیل کر سکتے ہیں جیسے کہ تربیت اور تخمینہ کے لیے مثال کی اقسام۔
پھر Terraform کے ساتھ انفراسٹرکچر کو تعینات کرنے کے لیے درج ذیل کمانڈز کا استعمال کریں:
آؤٹ پٹ کو چیک کریں اور اس بات کو یقینی بنائیں کہ منصوبہ بند وسائل صحیح طریقے سے ظاہر ہوں، اور اگر سب کچھ درست ہے تو درخواست کے مرحلے میں ہاں کے ساتھ تصدیق کریں۔ پھر Amazon ECR کنسول پر جائیں (یا ٹرمینل میں Terraform کا آؤٹ پٹ چیک کریں) اور اپنے ECR ریپوزٹری کا URL حاصل کریں جو آپ نے Terraform کے ذریعے بنایا ہے۔
آؤٹ پٹ درج ذیل ڈسپلے آؤٹ پٹ کی طرح نظر آنا چاہیے، بشمول ECR ریپوزٹری یو آر ایل:
اپنی ڈوکر امیج کو ایمیزون ای سی آر پر پش کریں۔
ML پائپ لائن اور SageMaker کو تربیت دینے اور اندازہ کے لیے SageMaker اینڈ پوائنٹ فراہم کرنے کے لیے، آپ کو ایک Docker امیج فراہم کرنے اور اسے Amazon ECR میں اسٹور کرنے کی ضرورت ہے۔ آپ کو ڈائریکٹری میں ایک مثال مل سکتی ہے۔ src/container
. اگر آپ پہلے سے ہی AWS انفراسٹرکچر کو پہلے سے ہی لاگو کر چکے ہیں، تو آپ ڈوکر امیج کو آگے بڑھا سکتے ہیں جیسا کہ بیان کیا گیا ہے۔ آپ کی ڈوکر امیج تیار ہونے کے بعد، آپ مندرجہ ذیل اقدامات کر سکتے ہیں اور اسے ایمیزون ای سی آر پر دھکیل سکتے ہیں (اپنی ضروریات کے مطابق ایمیزون ای سی آر یو آر ایل کو ایڈجسٹ کریں):
اگر آپ نے پہلے ہی Terraform کے ساتھ AWS انفراسٹرکچر کا اطلاق کر دیا ہے، تو آپ Terraform کے ذریعے دوبارہ تعینات کیے بغیر اپنے کوڈ اور ڈوکر امیج کی تبدیلیوں کو براہ راست Amazon ECR پر بھیج سکتے ہیں۔
ایم ایل پائپ لائن چلائیں۔
ایم ایل پائپ لائن کو تربیت دینے اور چلانے کے لیے، سٹیپ فنکشنز کنسول پر جائیں اور عمل درآمد شروع کریں۔ آپ ریاستی مشین کے تصور میں ہر قدم کی پیشرفت کو چیک کر سکتے ہیں۔ آپ سیج میکر کی تربیتی ملازمت کی پیشرفت اور اپنے سیج میکر کے اختتامی نقطہ کی حیثیت بھی دیکھ سکتے ہیں۔
اسٹیپ فنکشنز میں سٹیٹ مشین کو کامیابی سے چلانے کے بعد، آپ دیکھ سکتے ہیں کہ سیج میکر اینڈ پوائنٹ بن گیا ہے۔ سیج میکر کنسول پر، منتخب کریں۔ ارادہ نیویگیشن پین میں، پھر اختتامی نکات. InService میں اسٹیٹس کے تبدیل ہونے کا انتظار کرنا یقینی بنائیں۔
اپنے اختتامی نقطہ کو طلب کریں۔
اپنے اختتامی نقطہ کو طلب کرنے کے لیے (اس مثال میں، iris ڈیٹاسیٹ کے لیے)، آپ مندرجہ ذیل Python اسکرپٹ کے ساتھ استعمال کر سکتے ہیں AWS SDK برائے Python (Boto3). آپ یہ سیج میکر نوٹ بک سے کر سکتے ہیں، یا لیمبڈا فنکشن میں درج ذیل کوڈ کے ٹکڑوں کو ایمبیڈ کر سکتے ہیں۔
صاف کرو
آپ Terraform کی طرف سے بنائے گئے انفراسٹرکچر کو Terraform Destroy کمانڈ سے تباہ کر سکتے ہیں، لیکن آپ کو پہلے S3 بالٹی میں موجود ڈیٹا اور فائلوں کو حذف کرنے کی ضرورت ہے۔ مزید برآں، سیج میکر اینڈ پوائنٹ (یا ایک سے زیادہ سیج میکر اینڈ پوائنٹس اگر ایک سے زیادہ بار چلائے جائیں) اسٹیپ فنکشنز کے ذریعے بنائے جاتے ہیں اور ٹیرافارم کے ذریعے منظم نہیں ہوتے ہیں۔ اس کا مطلب ہے کہ تعیناتی اس وقت ہوتی ہے جب اسٹیپ فنکشنز کے ساتھ ایم ایل پائپ لائن چلا رہے ہوں۔ لہذا، اس بات کو یقینی بنائیں کہ آپ SageMaker اینڈ پوائنٹ یا اسٹیپ فنکشنز ML پائپ لائن کے ذریعے بنائے گئے اینڈ پوائنٹس کو بھی حذف کر دیں تاکہ غیر ضروری اخراجات سے بچا جا سکے۔ درج ذیل مراحل کو مکمل کریں:
- Amazon S3 کنسول پر، S3 ٹریننگ بالٹی میں ڈیٹا سیٹ کو حذف کریں۔
- S3 ماڈلز بالٹی میں ML پائپ لائن کے ذریعے تربیت یافتہ تمام ماڈلز کو حذف کریں، یا تو Amazon S3 کنسول یا AWS CLI کے ذریعے۔
- Terraform کے ذریعے بنائے گئے انفراسٹرکچر کو تباہ کریں:
- SageMaker کنسول پر یا AWS CLI کے ذریعے SageMaker اینڈ پوائنٹس، اینڈ پوائنٹ کنفیگریشن، اور سٹیپ فنکشنز کے ذریعے بنائے گئے ماڈلز کو حذف کریں۔
نتیجہ
مبارک ہو! آپ نے Terraform کے ساتھ SageMaker کا استعمال کرتے ہوئے ایک ML پائپ لائن لگائی ہے۔ یہ مثال حل دکھاتا ہے کہ آپ کس طرح آسانی سے AWS انفراسٹرکچر اور خدمات کو دوبارہ قابل استعمال انداز میں ML پائپ لائنوں کے لیے تعینات کر سکتے ہیں۔ یہ آپ کو ایک سے زیادہ استعمال کے کیسز یا ریجنز کی پیمائش کرنے کی اجازت دیتا ہے، اور ML ماڈلز کو ایک کلک کے ساتھ تربیت اور تعینات کرنے کے قابل بناتا ہے۔ مزید برآں، آپ ML پائپ لائن کو کئی بار چلا سکتے ہیں، مثال کے طور پر، جب نیا ڈیٹا دستیاب ہو یا آپ الگورتھم کوڈ کو تبدیل کرنا چاہتے ہوں۔ آپ مختلف سیج میکر اینڈ پوائنٹس پر درخواستوں یا ٹریفک کو روٹ کرنے کا بھی انتخاب کر سکتے ہیں۔
میں آپ کی حوصلہ افزائی کرتا ہوں کہ آپ اپنی ضروریات اور ممکنہ کمپنی کے معیارات کے مطابق سیکیورٹی کی خصوصیات کو شامل کرنے اور سیکیورٹی کے بہترین طریقوں کو اپنانے کی تلاش کریں۔ مزید برآں، اس حل کو اپنی CI/CD پائپ لائنوں میں شامل کرنے سے آپ کو اپنی ضروریات کے مطابق DevOps کے بہترین طریقوں اور معیارات کو اپنانے اور قائم کرنے میں مزید صلاحیتیں ملیں گی۔
مصنف کے بارے میں
اولیور زولیکوفر ایمیزون ویب سروسز میں ڈیٹا سائنٹسٹ ہے۔ وہ عالمی انٹرپرائز صارفین کو مشین لرننگ ماڈلز بنانے، تربیت دینے اور تعینات کرنے کے ساتھ ساتھ MLOps کے ساتھ ML ماڈل لائف سائیکل کا انتظام کرنے کے قابل بناتا ہے۔ مزید یہ کہ وہ کلاؤڈ سے متعلقہ حل تیار کرتا ہے اور آرکیٹیکٹس کرتا ہے۔
- "
- 100
- 7
- تک رسائی حاصل
- کے مطابق
- کے پار
- اعمال
- اس کے علاوہ
- ایڈیشنل
- یلگورتم
- تمام
- پہلے ہی
- ایمیزون
- ایمیزون ویب سروسز
- ایک اور
- نقطہ نظر
- فن تعمیر
- رقبہ
- دستیاب
- AWS
- کیا جا رہا ہے
- BEST
- بہترین طریقوں
- جسم
- سرحد
- تعمیر
- بناتا ہے
- صلاحیتوں
- مقدمات
- CD
- تبدیل
- میں سے انتخاب کریں
- بادل
- کلاؤڈ بنیادی ڈھانچے
- کوڈ
- کمپنی کے
- ترتیب
- کنسول
- کنٹینر
- پر مشتمل ہے
- اخراجات
- بنائی
- پیدا
- گاہک
- گاہکوں
- اعداد و شمار
- ڈیٹا سائنسدان
- تعیناتی
- تعینات
- تعینات
- تعیناتی
- بیان کیا
- ڈیزائن
- تباہ
- تباہ
- ترقی
- ترقی یافتہ
- ڈویلپرز
- ترقی
- ترقی
- مختلف
- براہ راست
- میں Docker
- آسانی سے
- کو چالو کرنے کے
- کی حوصلہ افزائی
- اختتام پوائنٹ
- انٹرپرائز
- سب کچھ
- مثال کے طور پر
- موجودہ
- تلاش
- فیشن
- خصوصیات
- اعداد و شمار
- پہلا
- پہلی بار
- پر عمل کریں
- کے بعد
- تقریب
- مزید
- پیدا کرنے والے
- گلوبل
- ہونے
- کس طرح
- کیسے
- HTTPS
- شناختی
- تصویر
- نفاذ
- عملدرآمد
- اہمیت
- شامل
- شامل ہیں
- سمیت
- دن بدن
- انفراسٹرکچر
- ان پٹ
- بات چیت
- IT
- ایوب
- تازہ ترین
- سیکھنے
- لائن
- مشین
- مشین لرننگ
- انتظام
- میں کامیاب
- مینیجنگ
- ML
- ماڈل
- ماڈل
- ایک سے زیادہ
- نام
- سمت شناسی
- ضروری
- نوٹ بک
- کھول
- آپریشنز
- حکم
- دیگر
- پالیسیاں
- ممکن
- ممکنہ
- منصوبے
- فراہم
- فراہم کرتا ہے
- ذخیرہ
- درخواست
- درخواستوں
- ضروریات
- وسائل
- جواب
- روٹ
- رن
- چل رہا ہے
- توسیع پذیر
- پیمانے
- سائنسدان
- sdk
- سیکورٹی
- سروسز
- اسی طرح
- سادہ
- سائز
- ٹھوس
- حل
- حل
- اسٹیج
- معیار
- شروع کریں
- شروع ہوتا ہے
- حالت
- درجہ
- ذخیرہ
- ذخیرہ
- کامیابی کے ساتھ
- ٹرمنل
- لہذا
- کے ذریعے
- وقت
- ٹریفک
- ٹریننگ
- منفرد
- استعمال کی شرائط
- تصور
- انتظار
- ویب
- ویب خدمات
- جبکہ
- بغیر
- کام