AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی

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

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

کے ساتہ اوپن سورس Kubeflow v1.6.1 کی تازہ ترین ریلیز, Kubeflow کمیونٹی انٹرپرائز استعمال کے معاملات کے لیے Kubeflow کے اس بڑے پیمانے پر اپنانے کی حمایت جاری رکھے ہوئے ہے۔ تازہ ترین ریلیز میں بہت سی نئی دلچسپ خصوصیات شامل ہیں جیسے Kubernetes v1.22 کے لیے سپورٹ، PyTorch کے لیے مشترکہ Python SDK، MXNet، MPI، Kubeflow کے تقسیم شدہ ٹریننگ آپریٹر میں XGBoost، ماڈل سروس کے لیے نئے ClusterServingRuntime اور ServingRuntime CRDs، اور بہت کچھ۔

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

اس پوسٹ میں، ہم AWS v1.6.1 خصوصیات پر نئے Kubeflow پر بات کرتے ہیں اور تین اہم انضمام کو نمایاں کرتے ہیں جو آپ کو پیش کرنے کے لیے ایک پلیٹ فارم پر بنڈل کیے گئے ہیں:

  • بنیادی ڈھانچہ بطور کوڈ (IaaC) ایک کلک حل جو EKS کلسٹر تخلیق سمیت Kubeflow کی اینڈ ٹو اینڈ انسٹالیشن کو خودکار کرتا ہے۔
  • پر تقسیم شدہ تربیت کے لیے سپورٹ ایمیزون سیج میکر کا استعمال کرتے ہوئے Kubernetes کے لیے Amazon SageMaker آپریٹرز (ACK) اور کیوب فلو پائپ لائنز کے لیے سیج میکر کے اجزاء اور مقامی طور پر Kubernetes پر استعمال کرتے ہوئے کیوب فلو ٹریننگ آپریٹرز. بہت سے صارفین اس صلاحیت کو ہائبرڈ مشین لرننگ آرکیٹیکچرز بنانے کے لیے استعمال کر رہے ہیں جہاں وہ تجرباتی مرحلے کے لیے Kubernetes کمپیوٹ اور SageMaker دونوں پروڈکشن پیمانے پر کام کے بوجھ کو چلانے کے لیے فائدہ اٹھا رہے ہیں۔
  • ایم ایل ورک بوجھ کے لیے بہتر نگرانی اور مشاہداتی صلاحیت بشمول Amazon EKS، Kubeflow میٹرکس، اور Prometheus، Grafana، اور ایپلیکیشن لاگز کا استعمال کرتے ہوئے ایمیزون کلاؤڈ واچ انضمام

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

AWS پر Kubeflow

AWS 1.6.1 پر Kubeflow موجودہ صلاحیتوں کے اوپر درج ذیل AWS سروسز کے اضافے کے ساتھ Kubeflow کو استعمال کرنے کے لیے ایک واضح راستہ فراہم کرتا ہے:

  • سیج میکر آپریٹرز فار کبرنیٹس (ACK) اور کیوب فلو پائپ لائنز کے لیے SageMaker اجزاء کا استعمال کرتے ہوئے ہائبرڈ ML ورک فلوز کو چلانے کے لیے Kubeflow کے ساتھ SageMaker انٹیگریشن۔
  • کسٹمائز اسکرپٹس اور ہیلم چارٹس کا استعمال کرتے ہوئے خودکار تعیناتی کے اختیارات کو بہتر اور آسان بنایا گیا ہے۔
  • کوڈ کے طور پر انفراسٹرکچر کے لیے شامل کردہ تعاون تعیناتی کے اختیارات. یہ اسکرپٹ درج ذیل AWS وسائل کی تخلیق کو خودکار بناتا ہے:
  • کے لئے سپورٹ AWS پرائیویٹ لنک Amazon S3 کے لیے غیر تجارتی ریجن کے صارفین کو ان کے متعلقہ S3 اینڈ پوائنٹس سے منسلک کرنے کے قابل بناتا ہے۔
  • کے ساتھ انضمام شامل کیا گیا۔ ایمیزون مینیجڈ سروس برائے پرومیتھیس (AMP) اور ایمیزون کے زیر انتظام گرافانا AWS پر Kubeflow کے ساتھ میٹرکس کی نگرانی کے لیے۔
  • TensorFlow 2.10.0 اور PyTorch 1.12.1 پر مبنی تازہ ترین ڈیپ لرننگ کنٹینر امیجز کے ساتھ Kubeflow نوٹ بک سرور کنٹینرز کو اپ ڈیٹ کیا گیا۔
  • تقسیم شدہ چلانے کے لیے AWS DLCs کے ساتھ انضمام تربیت اور اندازہ کام کا بوجھ

مندرجہ ذیل آرکیٹیکچر ڈایاگرام ان تمام سروس انٹیگریشنز (بشمول جن کا پہلے ہی ذکر کیا جا چکا ہے) کا فوری سنیپ شاٹ ہے جو AWS پر Kubeflow میں Kubeflow کنٹرول اور ڈیٹا پلین کے اجزاء کے لیے دستیاب ہیں۔ Kubeflow کنٹرول طیارہ Amazon EKS کے اوپر نصب ہے، جو ایک منظم کنٹینر سروس ہے جو کلاؤڈ میں Kubernetes ایپلی کیشنز کو چلانے اور اسکیل کرنے کے لیے استعمال ہوتی ہے۔ یہ AWS سروس انٹیگریشنز آپ کو Kubernetes سے Kubeflow کنٹرول طیارے کے اہم حصوں کو الگ کرنے کی اجازت دیتے ہیں، جو ایک محفوظ، توسیع پذیر، لچکدار، اور لاگت کے لحاظ سے بہتر ڈیزائن فراہم کرتے ہیں۔ اس قدر کے بارے میں مزید تفصیلات کے لیے جو یہ سروس انٹیگریشن اوپن سورس کیوب فلو پر اضافہ کرتی ہے، ملاحظہ کریں۔ AWS پر Kubeflow کے ساتھ Kubernetes پر سکیل ایبل مشین لرننگ سسٹم بنائیں اور تعینات کریں۔.

آئیے مزید تفصیل سے بات کریں کہ AWS 1.6.1 پر Kubeflow کس طرح آپ کی تنظیم کے لیے مددگار ثابت ہو سکتا ہے۔

AWS خصوصیت کی تفصیلات پر Kubeflow

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

تعیناتی کے اختیارات

ہم مختلف گاہک کے استعمال کے معاملات کے لیے مختلف تعیناتی کے اختیارات فراہم کرتے ہیں۔ یہاں آپ کو یہ منتخب کرنے کا موقع ملے گا کہ آپ کون سی AWS خدمات کو اپنی Kubeflow کی تعیناتی کے ساتھ مربوط کرنا چاہتے ہیں۔ اگر آپ بعد میں تعیناتی کے اختیارات کو تبدیل کرنے کا فیصلہ کرتے ہیں، تو ہم تجویز کرتے ہیں کہ آپ نئی تعیناتی کے لیے نئی تنصیب کریں۔ درج ذیل تعیناتی کے اختیارات دستیاب ہیں:

اگر آپ کم سے کم تبدیلیوں کے ساتھ Kubeflow کو تعینات کرنا چاہتے ہیں، تو غور کریں۔ ونیلا تعیناتی کا اختیار. تمام دستیاب تعیناتی کے اختیارات Kustomize، Helm، یا Terraform کا استعمال کرتے ہوئے انسٹال کیے جا سکتے ہیں۔

ہمارے پاس مختلف اضافی تعیناتیاں بھی ہیں جو ان تعیناتی اختیارات میں سے کسی کے اوپر انسٹال کی جا سکتی ہیں:

تنصیب کے اختیارات

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

آپشن 1: Terraform (IaC)

یہ ایک EKS کلسٹر اور تمام متعلقہ AWS بنیادی ڈھانچے کے وسائل بناتا ہے، اور پھر Terraform کا استعمال کرتے ہوئے Kubeflow سب کو ایک کمانڈ میں تعینات کرتا ہے۔ اندرونی طور پر، یہ EKS بلیو پرنٹس اور ہیلم چارٹس کا استعمال کرتا ہے۔

اس اختیار کے درج ذیل فوائد ہیں:

  • یہ کاروباری اداروں کو Amazon EKS اور Kubeflow کو ایک کمانڈ کے ساتھ تعینات کرنے کے لیے لچک فراہم کرتا ہے بغیر کسی خاص Kubeflow کے اجزاء کی ترتیب کے بارے میں فکر کیے بغیر۔ اس سے ٹیکنالوجی کی تشخیص، پروٹو ٹائپنگ، اور پروڈکٹ ڈیولپمنٹ لائف سائیکل کو تیز کرنے میں بہت مدد ملے گی جو ٹیرافارم ماڈیولز کو استعمال کرنے کے لیے لچک فراہم کرے گی اور کسی بھی پروجیکٹ کی مخصوص ضروریات کو پورا کرنے کے لیے اس میں ترمیم کرے گی۔
  • آج بہت سی تنظیمیں جن کے پاس اپنی کلاؤڈ حکمت عملی کا مرکز Terraform ہے اب اپنے کلاؤڈ اہداف کو پورا کرنے کے لیے AWS Terraform حل پر Kubeflow کا استعمال کر سکتی ہیں۔

آپشن 2: کسٹمائز یا ہیلم چارٹس:

یہ اختیار آپ کو دو قدمی عمل میں Kubeflow کو تعینات کرنے کی اجازت دیتا ہے:

  1. AWS وسائل بنائیں جیسے Amazon EKS، Amazon RDS، Amazon S3، اور Amazon Cognito، یا تو AWS تقسیم میں شامل خودکار اسکرپٹ کے ذریعے یا دستی طور پر مرحلہ وار گائیڈ.
  2. ہیلم چارٹس یا کسٹمائز کا استعمال کرتے ہوئے کیوب فلو تعیناتیاں انسٹال کریں۔

اس اختیار کے درج ذیل فوائد ہیں:

  • اس انسٹالیشن آپشن کا بنیادی مقصد Kubeflow سے متعلقہ Kubernetes کنفیگریشنز فراہم کرنا ہے۔ لہذا، آپ موجودہ EKS کلسٹرز یا کسی بھی متعلقہ AWS وسائل جیسے Amazon RDS، Amazon S3، اور Amazon Cognito کو بنانے یا لانے کا انتخاب کر سکتے ہیں، اور AWS پر Kubeflow کے ساتھ کام کرنے کے لیے اسے ترتیب اور منظم کر سکتے ہیں۔
  • اوپن سورس Kustomize Kubeflow مینی فیسٹ سے AWS Kubeflow ڈسٹری بیوشن میں منتقل کرنا آسان ہے۔

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

AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی

سیج میکر کے ساتھ انضمام

سیج میکر ایک مکمل طور پر منظم سروس ہے جسے خاص طور پر ایم ایل ورک فلوز کو منظم کرنے کے لیے ڈیزائن اور بہتر بنایا گیا ہے۔ یہ بنیادی ڈھانچے کے انتظام کی غیر متفاوت ہیوی لفٹنگ کو ہٹاتا ہے اور ML ماڈل کی تعمیر، تربیت اور تخمینہ کے لیے کلسٹرز کا انتظام کرنے کے لیے IT اور DevOps میں سرمایہ کاری کرنے کی ضرورت کو ختم کرتا ہے۔

AWS کے بہت سے صارفین جن کے پاس پورٹیبلٹی کے تقاضے ہیں یا آن پریمیسس معیاری پابندیاں ایمیزون EKS کا استعمال ٹریننگ اور انفرنس ورک بوجھ چلانے کے قابل ML پائپ لائنوں کو ترتیب دینے کے لیے کرتے ہیں۔ تاہم، اس کے لیے ڈویلپرز کو اپنی مرضی کے مطابق کوڈ لکھنے کی ضرورت ہوتی ہے تاکہ وہ بنیادی ML انفراسٹرکچر کو بہتر بنائے، اعلیٰ دستیابی اور وشوسنییتا فراہم کرے، اور مناسب سیکیورٹی اور ریگولیٹری تقاضوں کی تعمیل کرے۔ اس لیے یہ صارفین ماڈل ٹریننگ اور تعیناتیوں کے لیے لاگت کے لحاظ سے بہتر اور منظم انفراسٹرکچر کے لیے SageMaker کا استعمال کرنا چاہتے ہیں اور معیاری کاری اور پورٹیبلٹی کو برقرار رکھنے کے لیے آرکیسٹریشن اور ML پائپ لائنز کے لیے Kubernetes کا استعمال جاری رکھنا چاہتے ہیں۔

اس ضرورت کو پورا کرنے کے لیے، AWS آپ کو مندرجہ ذیل دو اختیارات استعمال کر کے Amazon EKS سے SageMaker میں ماڈلز کی تربیت، ٹیون، اور تعینات کرنے کی اجازت دیتا ہے:

  • Amazon SageMaker ACK آپریٹرز برائے Kubernetes، جو کہ پر مبنی ہیں۔ Kubernetes کے لیے AWS کنٹرولرز (ACK) فریم ورک۔ ACK AWS حکمت عملی ہے جو Kubernetes کے حسب ضرورت کنٹرولرز کی تعمیر کے لیے معیاری کاری لاتی ہے جو Kubernetes کے صارفین کو AWS وسائل جیسے ڈیٹا بیس یا پیغام کی قطاریں صرف Kubernetes API کا استعمال کر کے فراہم کرنے کی اجازت دیتی ہے۔ SageMaker ACK آپریٹرز ML ڈویلپرز اور ڈیٹا سائنسدانوں کے لیے آسان بناتے ہیں جو SageMaker کنسول میں سائن ان کیے بغیر SageMaker میں ML ماڈلز کو تربیت، ٹیون، اور تعینات کرنے کے لیے Kubernetes کو اپنے کنٹرول طیارے کے طور پر استعمال کرتے ہیں۔
  • ۔ کیوب فلو پائپ لائنز کے لیے سیج میکر اجزاء، جو آپ کو سیج میکر کو کیوب فلو پائپ لائنز کی پورٹیبلٹی اور آرکیسٹریشن کے ساتھ مربوط کرنے کی اجازت دیتا ہے۔ SageMaker اجزاء کے ساتھ، پائپ لائن ورک فلو میں ہر کام مقامی Kubernetes کلسٹر کے بجائے SageMaker پر چلتا ہے۔ یہ آپ کو اپنی Kubeflow پائپ لائنز سے مقامی SageMaker ٹریننگ، ٹیوننگ، اینڈ پوائنٹ کی تعیناتی، اور بیچ ٹرانسفارم جابز بنانے اور مانیٹر کرنے کی اجازت دیتا ہے لہذا آپ کو مکمل کمپیوٹ بشمول ڈیٹا پروسیسنگ اور ٹریننگ جابز کو Kubernetes کلسٹر سے SageMaker کی مشین لرننگ-آپٹمائزڈ مینیجڈ سروس میں منتقل کرنے کی اجازت دیتا ہے۔

AWS v1.6.1 پر Kubeflow کے ساتھ شروع کرتے ہوئے، تمام دستیاب Kubeflow کی تعیناتی کے اختیارات Amazon SageMaker کے انضمام کے دونوں اختیارات کو بطور ڈیفالٹ ایک پلیٹ فارم پر لاتے ہیں۔ اس کا مطلب ہے کہ، اب آپ SageMaker ACK آپریٹرز کا استعمال کرتے ہوئے اپنی مرضی کے SageMaker وسائل کو جمع کر کے یا SageMaker اجزاء کا استعمال کرتے ہوئے Kubeflow پائپ لائن سٹیپ سے خود ایک Kubeflow Notebook سرور سے SageMaker جابز جمع کر سکتے ہیں۔

سیج میکر اجزاء کے دو ورژن ہیں - بوٹو 3 (Python کے لیے AWS SDK کے لیے AWS SDK) پر مبنی ورژن 1 اجزاء اور K8s (ACK) پر مبنی ورژن 2 اجزاء کے لیے SageMaker آپریٹر۔ نیا سیج میکر اجزاء ورژن 2 تازہ ترین سیج میکر ٹریننگ ایپس کو سپورٹ کرتا ہے اور ہم اجزاء کے اس ورژن میں سیج میکر کی مزید خصوصیات شامل کرنا جاری رکھیں گے۔ تاہم آپ کے پاس سیج میکر کے اجزاء کے ورژن 2 کو ٹریننگ کے لیے اور ورژن 1 کو سیج میکر کی دیگر خصوصیات جیسے ہائپر پیرامیٹر ٹیوننگ، پروسیسنگ جابز، ہوسٹنگ اور بہت کچھ کے لیے یکجا کرنے کی لچک ہے۔

Prometheus اور Grafana کے ساتھ انضمام

Prometheus ایک اوپن سورس میٹرکس ایگریگیشن ٹول ہے جسے آپ Kubernetes کلسٹرز پر چلانے کے لیے کنفیگر کر سکتے ہیں۔ جب Kubernetes کلسٹرز پر چلتے ہیں، ایک اہم Prometheus سرور وقتاً فوقتاً پوڈ کے اختتامی نقطوں کو کھرچتا ہے۔

کیوب فلو کے اجزاء، جیسے کیوب فلو پائپ لائنز (KFP) اور نوٹ بک، پرومیتھیس میٹرکس کو خارج کرتے ہیں تاکہ نگرانی کے اجزاء کے وسائل جیسے چل رہے تجربات کی تعداد یا نوٹ بک کی گنتی کی اجازت دی جا سکے۔

یہ میٹرکس کوبرنیٹس کلسٹر میں چلنے والے پرومیتھیس سرور کے ذریعے جمع کیے جا سکتے ہیں اور پرومیتھیس کوئری لینگویج (پروم کیو ایل) کا استعمال کرتے ہوئے استفسار کیا جا سکتا ہے۔ Prometheus جن خصوصیات کی حمایت کرتا ہے ان کے بارے میں مزید تفصیلات کے لیے دیکھیں پرومیتھیس دستاویزات.

AWS کی تقسیم پر Kubeflow درج ذیل AWS کے زیر انتظام خدمات کے ساتھ انضمام کے لیے معاونت فراہم کرتا ہے:

  1. Amazon Managed Prometheus (AMP) جو کہ ایک ہے۔ Prometheusکنٹینر کے انفراسٹرکچر اور کنٹینرز کے لیے ایپلیکیشن میٹرکس کے لیے ہم آہنگ مانیٹرنگ سروس جو صارفین کے لیے بڑے پیمانے پر کنٹینر کے ماحول کو محفوظ طریقے سے مانیٹر کرنا آسان بناتی ہے۔ AMP کا استعمال کرتے ہوئے، آپ اپنے مشاہداتی نظام میں متعدد ڈیٹا ذرائع سے جمع کیے گئے اپنے میٹرکس، لاگز اور ٹریس کو دیکھ سکتے ہیں، ان کا تجزیہ کر سکتے ہیں، اور خطرے کی گھنٹی بجا سکتے ہیں، بشمول AWS، تھرڈ پارٹی ISVs، اور آپ کے IT پورٹ فولیو میں دیگر وسائل۔
  2. Amazon Managed Grafana، ایک مکمل طور پر منظم اور محفوظ ڈیٹا ویژولائزیشن سروس جو اوپن سورس پر مبنی ہے گرافانا پروجیکٹ، جو صارفین کو متعدد ڈیٹا ذرائع سے ان کی ایپلی کیشنز کے لیے آپریشنل میٹرکس، لاگز، اور ٹریسز کو فوری طور پر استفسار کرنے، آپس میں منسلک کرنے اور تصور کرنے کے قابل بناتا ہے۔ Amazon Managed Grafana کمپیوٹر اور ڈیٹا بیس کے بنیادی ڈھانچے کو خود بخود اسکیلنگ کرکے گرافانا کے آپریشنل مینجمنٹ کو آف لوڈ کرتا ہے کیونکہ استعمال کے مطالبات میں اضافہ ہوتا ہے، خودکار ورژن اپ ڈیٹس اور سیکیورٹی پیچنگ کے ساتھ۔

AWS ڈسٹری بیوشن پر Kubeflow Amazon Managed Service for Prometheus اور Amazon Managed Grafana کے انضمام کے لیے معاونت فراہم کرتا ہے تاکہ Prometheus میٹرکس کو بڑے پیمانے پر محفوظ طریقے سے انجیکشن اور ویژولائزیشن کی سہولت فراہم کی جا سکے۔

مندرجہ ذیل میٹرکس کو داخل کیا جاتا ہے اور ان کا تصور کیا جا سکتا ہے:

اپنے Kubeflow کلسٹر کے لیے Amazon Managed Service for Prometheus اور Amazon Managed Grafana کو ترتیب دینے کے لیے، دیکھیں AWS پر Kubeflow کے ساتھ میٹرکس کی نگرانی کے لیے Prometheus، Amazon Managed Service for Prometheus، اور Amazon Managed Grafana کا استعمال کریں۔.

حل جائزہ

اس استعمال کی صورت میں، ہم ٹیرافارم انسٹالیشن آپشن کا استعمال کرتے ہوئے Kubeflow ونیلا کی تعیناتی کا استعمال کرتے ہیں۔ انسٹالیشن مکمل ہونے پر، ہم Kubeflow ڈیش بورڈ میں لاگ ان ہوتے ہیں۔ ڈیش بورڈ سے، ہم ایک Kubeflow پائپ لائن بنانے کے لیے ایک Kubeflow Jupyter نوٹ بک سرور کو گھماتے ہیں جو SageMaker کو تصویر کی درجہ بندی کے ماڈل کے لیے تقسیم شدہ تربیت اور ماڈل کی تعیناتی کے لیے SageMaker اینڈ پوائنٹ کو چلانے کے لیے استعمال کرتا ہے۔

شرائط

یقینی بنائیں کہ آپ درج ذیل شرائط کو پورا کرتے ہیں:

  • آپ کے پاس AWS اکاؤنٹ.
  • اس بات کو یقینی بنائیں کہ آپ اس میں ہیں us-west-2 اس مثال کو چلانے کے لیے علاقہ۔
  • کے ساتھ تعامل کے لیے گوگل کروم کا استعمال کریں۔ AWS مینجمنٹ کنسول اور کیوب فلو۔
  • یقینی بنائیں کہ آپ کے اکاؤنٹ میں سروس کوٹاس کنسول کا استعمال کرتے ہوئے ml.p3.2xlarge کے لیے SageMaker ٹریننگ ریسورس کی قسم کی حد 2 تک بڑھا دی گئی ہے۔
  • اختیاری طور پر، آپ استعمال کر سکتے ہیں AWS کلاؤڈ 9، ایک کلاؤڈ پر مبنی مربوط ترقیاتی ماحول (IDE) جو آپ کے ویب براؤزر سے تمام کام مکمل کرنے کے قابل بناتا ہے۔ سیٹ اپ کی ہدایات کے لیے، رجوع کریں۔ Cloud9 IDE سیٹ اپ کریں۔. AWS Cloud18.04 سیٹنگز میں Ubuntu Server 9 کو بطور پلیٹ فارم منتخب کریں۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عیپھر اپنے AWS Cloud9 ماحول سے، پلس کا نشان منتخب کریں اور نیا ٹرمینل کھولیں۔

آپ ایک کو بھی ترتیب دیں۔ AWS کمانڈ لائن انٹرفیس (AWS CLI) پروفائل۔ ایسا کرنے کے لیے، آپ کو ایک رسائی کلید ID اور ایک کی خفیہ رسائی کلید کی ضرورت ہے۔ AWS شناخت اور رسائی کا انتظام (اے ایم آئی) صارف انتظامی مراعات کے ساتھ اکاؤنٹ (موجودہ منظم پالیسی منسلک کریں) اور پروگرامی رسائی۔ درج ذیل کوڈ دیکھیں:

aws configure --profile=kubeflow

AWS Access Key ID [None]: 
AWS Secret Access Key [None]: 
Default region name [None]: us-west-2
Default output format [None]: json

# (In Cloud9, select “Cancel” and “Permanently disable” when the AWS managed temporary credentials dialog pops up)

export AWS_PROFILE=kubeflow

ان اجازتوں کی تصدیق کریں جنہیں کلاؤڈ 9 AWS وسائل کو کال کرنے کے لیے استعمال کرے گا۔

aws sts get-caller-identity

نیچے دیے گئے آؤٹ پٹ سے تصدیق کریں کہ آپ کو ایڈمن صارف کا آرن نظر آتا ہے جسے آپ نے AWS CLI پروفائل میں کنفیگر کیا ہے۔ اس مثال میں یہ "kubeflow-user" ہے

{
    "UserId": "*******",
    "Account": "********",
    "Arn": "arn:aws:iam::*******:user/kubeflow-user"
}

AWS پر Amazon EKS اور Kubeflow انسٹال کریں۔

AWS پر Amazon EKS اور Kubeflow کو انسٹال کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:

  1. AWS پر Kubeflow کی تعیناتی کے لیے اپنا ماحول ترتیب دیں:
    #Clone the awslabs/kubeflow-manifests and the kubeflow/manifests repositories and check out the release branches of your choosing
    export KUBEFLOW_RELEASE_VERSION=v1.6.1
    export AWS_RELEASE_VERSION=v1.6.1-aws-b1.0.0
    git clone https://github.com/awslabs/kubeflow-manifests.git && cd kubeflow-manifests
    git checkout ${AWS_RELEASE_VERSION}
    git clone --branch ${KUBEFLOW_RELEASE_VERSION} https://github.com/kubeflow/manifests.git upstream
    
    export MANIFEST_DIR=$PWD

    #Install the necessary tools with the following command:
    make install-tools
    source ~/.bash_profile

  2. ٹیرافارم کا استعمال کرتے ہوئے AWS اور متعلقہ AWS وسائل جیسے EKS پر Kubeflow کا ونیلا ورژن تعینات کریں۔ براہ کرم نوٹ کریں کہ EKS نوڈگروپ میں استعمال ہونے والی EBS والیوم ڈیفالٹ کے ذریعے انکرپٹ نہیں ہوتے ہیں۔
    #Define the following environment variables
    
    #Region to create the cluster in
    export CLUSTER_REGION=us-west-2
    #Name of the cluster to create
    export CLUSTER_NAME=

    cd deployments/vanilla/terraform
    
    #Save the variables to a .tfvars file
    cat < sample.auto.tfvars
    cluster_name="${CLUSTER_NAME}"
    cluster_region="${CLUSTER_REGION}"
    EOF
    
    #Run the following one-click command to deploy terraform to install EKS infrastructure and Kubeflow
    make deploy

Kubeflow کی اجازتیں مرتب کریں۔

  1. SageMaker، S3 اور IAM api کالز کرنے کے لیے نوٹ بک پوڈ اور پائپ لائن جزو پوڈ میں اجازتیں شامل کریں۔ kubeflow_iam_permissions.sh سکرپٹ.
    export NAMESPACE=kubeflow-user-example-com
    
    wget https://raw.githubusercontent.com/aws-samples/eks-kubeflow-cloudformation-quick-start/9e46662d97e1be7edb0be7fc31166e545655636a/utils/kubeflow_iam_permissions.sh
    chmod +x kubeflow_iam_permissions.sh
    ./kubeflow_iam_permissions.sh $NAMESPACE $CLUSTER_NAME $CLUSTER_REGION

  2. S3 سروس کا استعمال کرتے ہوئے تربیتی ڈیٹاسیٹ تک رسائی حاصل کرنے کے لیے SageMaker ٹریننگ جاب کو فعال کرنے کے لیے SageMaker پر عمل درآمد کا کردار بنائیں sagemaker_role.sh سکرپٹ.
    wget https://raw.githubusercontent.com/aws-samples/eks-kubeflow-cloudformation-quick-start/9e46662d97e1be7edb0be7fc31166e545655636a/utils/sagemaker_role.sh
    chmod +x sagemaker_role.sh
    ./sagemaker_role.sh

Kubeflow ڈیش بورڈ تک رسائی حاصل کریں۔

Kubeflow ڈیش بورڈ تک رسائی کے لیے، درج ذیل مراحل کو مکمل کریں:

  1. آپ Cloud9 ماحول میں مقامی طور پر Kubeflow ڈیش بورڈ کو چلا سکتے ہیں اپنے URLs کو پبلک انٹرنیٹ پر ظاہر کیے بغیر نیچے دی گئی کمانڈز چلا کر۔
    # Configure Kubecontext
    $(terraform output -raw configure_kubectl)
    
    cd ${MANIFEST_DIR}
    make port-forward

  2. میں سے انتخاب کریں رننگ ایپلیکیشن کا پیش نظارہ کریں۔.AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  3. کروم میں علیحدہ ٹیب کے طور پر کھولنے کے لیے کیوب فلو ڈیش بورڈ کے کونے میں موجود آئیکن کو منتخب کریں۔
  4. پہلے سے طے شدہ اسناد درج کریں (user@example.com/12341234) کوبی فلو ڈیش بورڈ میں لاگ ان کرنے کے لیے۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی

AWS ماحول پر Kubeflow سیٹ اپ کریں۔

ایک بار جب آپ Kubeflow ڈیش بورڈ میں لاگ ان ہو جائیں تو یقینی بنائیں کہ آپ کے پاس صحیح نام کی جگہ ہے (kubeflow-user-example-com) کا انتخاب کیا گیا۔ AWS ماحول پر اپنا Kubeflow ترتیب دینے کے لیے درج ذیل اقدامات مکمل کریں:

  1. کیوب فلو ڈیش بورڈ پر، منتخب کریں۔ نوٹ بک نیوی گیشن پین میں.
  2. میں سے انتخاب کریں نیا نوٹ بک۔.
  3. کے لئے نام، داخل کریں aws-nb.
  4. کے لئے Jupyter ڈاکٹ امیج، تصویر کا انتخاب کریں۔ jupyter-pytorch:1.12.0-cpu-py38-ubuntu20.04-ec2-2022-09-20 (تازہ ترین دستیاب jupyter-pytorch DLC تصویر)۔
  5. کے لئے CPU، داخل کریں 1.
  6. کے لئے یاد داشت، داخل کریں 5.
  7. کے لئے GPUsکے طور پر چھوڑ دیں کوئی بھی نہیں.
  8. میں کوئی تبدیلی نہ کریں۔ ورک اسپیس اور ڈیٹا کے حجم حصوں.AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  9. منتخب کریں Kubeflow پائپ لائنز تک رسائی کی اجازت دیں۔ میں ترتیبات سیکشن اور لانچ کا انتخاب کریں۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  10. تصدیق کریں کہ آپ کی نوٹ بک کامیابی کے ساتھ بن گئی ہے (اس میں چند منٹ لگ سکتے ہیں)۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  11. میں سے انتخاب کریں رابطہ قائم کریں JupyterLab میں لاگ ان کرنے کے لیے۔
  12. داخل کرکے ریپو کو کلون کریں۔ https://github.com/aws-samples/eks-kubeflow-cloudformation-quick-start.git میں ریپو کو کلون کریں۔ میدان.
  13. میں سے انتخاب کریں کلون.AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی

ایک تقسیم شدہ تربیتی مثال چلائیں۔

Jupyter نوٹ بک ترتیب دینے کے بعد، آپ فولڈر سے درج ذیل اعلیٰ سطحی مراحل کا استعمال کرتے ہوئے پورا ڈیمو چلا سکتے ہیں۔ eks-kubeflow-cloudformation-quick-start/workshop/pytorch-distributed-training کلون شدہ ذخیرہ میں:

  1. PyTorch Distributed Data Parallel (DDP) ٹریننگ اسکرپٹ چلائیں۔ - PyTorch DDP ٹریننگ اسکرپٹ سے رجوع کریں۔ cifar10-distributed-gpu-final.py، جس میں کثیر نوڈ CPU اور GPU کلسٹر پر تربیت کی تقسیم کے لیے ایک نمونہ کنوولیشنل نیورل نیٹ ورک اور منطق شامل ہے۔
  2. ایک کیوب فلو پائپ لائن بنائیں - نوٹ بک چلائیں۔ STEP1.0_create_pipeline_k8s_sagemaker.ipynb ایک پائپ لائن بنانے کے لیے جو سیج میکر پر ماڈلز چلاتی اور تعینات کرتی ہے۔ اس بات کو یقینی بنائیں کہ آپ نے پہلے نوٹ بک سیل کے حصے کے طور پر SageMaker لائبریری کو انسٹال کیا ہے اور باقی نوٹ بک سیلز کو چلانے سے پہلے دانا کو دوبارہ شروع کریں۔
  3. سیج میکر اینڈ پوائنٹ کو طلب کریں۔ - نوٹ بک چلائیں۔ STEP1.1_invoke_sagemaker_endpoint.ipynb پچھلی نوٹ بک میں بنائے گئے SageMaker ماڈل انفرنس اینڈ پوائنٹ کو طلب کرنے اور جانچنے کے لیے۔

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

PyTorch DDP ٹریننگ اسکرپٹ چلائیں۔

تقسیم شدہ تربیت کے ایک حصے کے طور پر، ہم ایک سادہ کنولوشنل نیورل نیٹ ورک کے ذریعے تخلیق کردہ درجہ بندی کے ماڈل کو تربیت دیتے ہیں جو CIFAR10 ڈیٹاسیٹ پر کام کرتا ہے۔ تربیت کا اسکرپٹ cifar10-distributed-gpu-final.py صرف اوپن سورس لائبریریوں پر مشتمل ہے اور یہ دونوں GPU ڈیوائسز یا CPU مثالوں پر Kubernetes اور SageMaker ٹریننگ کلسٹرز پر چلانے کے لیے مطابقت رکھتی ہے۔ آئیے اپنی نوٹ بک کی مثالوں کو چلانے سے پہلے تربیتی اسکرپٹ کے چند اہم پہلوؤں کو دیکھتے ہیں۔

ہم استعمال کرتے ہیں torch.distributed ماڈیول، جس میں کلسٹر میں نوڈس میں ملٹی پروسیس متوازی کے لیے PyTorch سپورٹ اور کمیونیکیشن پرائمیٹوز شامل ہیں:

...
import torch
import torch.distributed as dist
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
import torch.utils.data
import torch.utils.data.distributed
import torchvision
from torchvision import datasets, transforms
...

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

# Define models
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)

def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 16 * 5 * 5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x

اگر ٹریننگ کلسٹر میں GPUs ہیں، تو اسکرپٹ CUDA ڈیوائسز پر ٹریننگ چلاتا ہے اور ڈیوائس کا متغیر ڈیفالٹ CUDA ڈیوائس رکھتا ہے:

device = "cuda" if torch.cuda.is_available() else "cpu"
...

اس سے پہلے کہ آپ PyTorch کا استعمال کرتے ہوئے تقسیم شدہ تربیت کو چلائیں۔ DistributedDataParallel متعدد نوڈس پر تقسیم شدہ پروسیسنگ چلانے کے لیے، آپ کو کال کرکے تقسیم شدہ ماحول کو شروع کرنے کی ضرورت ہے۔ init_process_group. یہ ٹریننگ کلسٹر کی ہر مشین پر شروع کیا جاتا ہے۔

dist.init_process_group(backend=args.backend, rank=host_rank, world_size=world_size)
...

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

model = Net().to(device)

if is_distributed:
model = torch.nn.parallel.DistributedDataParallel(model)

...

ایک کیوب فلو پائپ لائن بنائیں

نوٹ بک استعمال کرتی ہے۔ کیوب فلو پائپ لائنز SDK اور اس نے ML ورک فلو پائپ لائنوں کی وضاحت اور چلانے کے لیے Python پیکجوں کا فراہم کردہ سیٹ۔ اس SDK کے حصے کے طور پر، ہم ڈومین کے لیے مخصوص زبان (DSL) پیکیج ڈیکوریٹر استعمال کرتے ہیں۔ dsl.pipeline، جو پائپ لائن کو واپس کرنے کے لیے ازگر کے افعال کو سجاتا ہے۔

Kubeflow پائپ لائن SageMaker ACK آپریٹرز کا استعمال کرتے ہوئے SageMaker کو تربیت جمع کرانے کے لیے SageMaker جزو V2 کا استعمال کرتی ہے۔ SageMaker ماڈل کی تخلیق اور ماڈل کی تعیناتی SageMaker جزو V1 کا استعمال کرتی ہے، جو Boto3 پر مبنی SageMaker اجزاء ہیں۔ ہم اس مثال میں دونوں اجزاء کا مجموعہ استعمال کرتے ہیں تاکہ آپ کے انتخاب میں لچک کا مظاہرہ کیا جا سکے۔

  1. درج ذیل کوڈ کا استعمال کرتے ہوئے SageMaker اجزاء کو لوڈ کریں:
    # Loads SageMaker training components v2 for Kubeflow pipeline from the URL
    sagemaker_train_ack_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/d4aaa03035f221351ebe72fbd74fcfccaf25bb66/components/aws/sagemaker/TrainingJob/component.yaml')
    
    # Loads SageMaker components v1 for Kubeflow pipeline from the URL
    sagemaker_model_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/cb36f87b727df0578f4c1e3fe9c24a30bb59e5a2/components/aws/sagemaker/model/component.yaml')
    sagemaker_deploy_op = components.load_component_from_url('https://raw.githubusercontent.com/kubeflow/pipelines/cb36f87b727df0578f4c1e3fe9c24a30bb59e5a2/components/aws/sagemaker/deploy/component.yaml')

    درج ذیل کوڈ میں، ہم Kubeflow پائپ لائن بناتے ہیں جہاں ہم SageMaker کی تقسیم شدہ ٹریننگ کو دو کا استعمال کرتے ہوئے چلاتے ہیں۔ ml.p3.2xlarge مثالیں:

    # Create Kubeflow Pipeline using Amazon SageMaker Service
    @dsl.pipeline(name="PyTorch Training pipeline", description="Sample training job test")
    def pytorch_cnn_pipeline(region=target_region,
    train_image=aws_dlc_sagemaker_train_image,
    serving_image=aws_dlc_sagemaker_serving_image,
    learning_rate='0.01',
    pytorch_backend='gloo',
    training_job_name=pytorch_distributed_jobname,
    instance_type='ml.p3.2xlarge',
    instance_count='2',
    network_isolation='False',
    traffic_encryption='False',
    ):
    
    # Step to run training on SageMaker using SageMaker Components V2 for Pipeline.
    training = sagemaker_train_ack_op(
    region=region,
    algorithm_specification=(f'{{ '
    f'"trainingImage": "{train_image}",'
    '"trainingInputMode": "File"'
    f'}}'),
    training_job_name=training_job_name,
    hyper_parameters=(f'{{ '
    f'"backend": "{pytorch_backend}",'
    '"batch-size": "64",'
    '"epochs": "10",'
    f'"lr": "{learning_rate}",'
    '"model-type": "custom",'
    '"sagemaker_container_log_level": "20",'
    '"sagemaker_program": "cifar10-distributed-gpu-final.py",'
    f'"sagemaker_region": "{region}",'
    f'"sagemaker_submit_directory": "{source_s3}"'
    f'}}'),
    resource_config=(f'{{ '
    f'"instanceType": "{instance_type}",'
    f'"instanceCount": {instance_count},'
    '"volumeSizeInGB": 50'
    f'}}'),
    input_data_config=training_input(datasets),
    output_data_config=training_output(bucket_name),
    enable_network_isolation=network_isolation,
    enable_inter_container_traffic_encryption=traffic_encryption,
    role_arn=role,
    stopping_condition={"maxRuntimeInSeconds": 3600}
    )
    
    model_artifact_url = get_s3_model_artifact_op(
    training.outputs["model_artifacts"]
    ).output
    
    # This step creates SageMaker Model which refers to model artifacts and inference script to deserialize the input image
    create_model = sagemaker_model_op(
    region=region,
    model_name=training_job_name,
    image=serving_image,
    model_artifact_url=model_artifact_url,
    network_isolation=network_isolation,
    environment=(f'{{ '
    '"SAGEMAKER_CONTAINER_LOG_LEVEL": "20",'
    '"SAGEMAKER_PROGRAM": "inference.py",'
    f'"SAGEMAKER_REGION": "{region}",'
    f'"SAGEMAKER_SUBMIT_DIRECTORY": "{model_artifact_url}"'
    f'}}'),
    role=role
    )
    
    # This step creates SageMaker Endpoint which will be called to run inference
    prediction = sagemaker_deploy_op(
    region=region,
    model_name_1=create_model.output,
    instance_type_1='ml.c5.xlarge'
    )
    
    #Disable pipeline cache
    training.execution_options.caching_strategy.max_cache_staleness = "P0D"

    پائپ لائن کی وضاحت کے بعد، آپ Kubeflow Pipelines SDK کا استعمال کرتے ہوئے پائپ لائن کو Argo YAML تفصیلات میں مرتب کر سکتے ہیں۔ kfp.compiler پیکج آپ Kubeflow Pipelines SDK کلائنٹ کا استعمال کرتے ہوئے اس پائپ لائن کو چلا سکتے ہیں، جو پائپ لائنز سروس اینڈ پوائنٹ کو کال کرتا ہے اور نوٹ بک سے ہی مناسب توثیقی ہیڈر میں گزرتا ہے۔ درج ذیل کوڈ دیکھیں:

    # DSL Compiler that compiles pipeline functions into workflow yaml.
    kfp.compiler.Compiler().compile(pytorch_cnn_pipeline, "pytorch_cnn_pipeline.yaml")
    
    # Connect to Kubeflow Pipelines using the Kubeflow Pipelines SDK client
    client = kfp.Client()
    
    experiment = client.create_experiment(name="ml_workflow")
    
    # Run a specified pipeline
    my_run = client.run_pipeline(experiment.id, "pytorch_cnn_pipeline", "pytorch_cnn_pipeline.yaml")
    
    # Please click “Run details” link generated below this cell to view your pipeline. You can click every pipeline step to see logs.

  2. منتخب کیجئیے تفصیلات چلائیں۔ Kubeflow پائپ لائن دیکھنے کے لیے آخری سیل کے نیچے لنک کریں۔ مندرجہ ذیل اسکرین شاٹ سیج میکر ٹریننگ اور تعیناتی جزو کے لیے ہماری پائپ لائن کی تفصیلات دکھاتا ہے۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  3. تربیتی کام کا مرحلہ اور اس پر منتخب کریں۔ کھنگالیں ٹیب پر، سیج میکر لاگز تک رسائی کے لیے CloudWatch لاگز کا لنک منتخب کریں۔
    مندرجہ ذیل اسکرین شاٹ ہر دو ml.p3.2x بڑی مثالوں کے لیے CloudWatch لاگز دکھاتا ہے۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  4. نوشتہ جات دیکھنے کے لیے کسی بھی گروپ کا انتخاب کریں۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی
  5. کا انتخاب کرکے سیج میکر اینڈ پوائنٹ پر قبضہ کریں۔ سیج میکر - ماڈل تعینات کریں۔ قدم اور کاپی کرنا endpoint_name آؤٹ پٹ آرٹفیکٹ ویلیو۔AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عی

سیج میکر اینڈ پوائنٹ کو طلب کریں۔

نوٹ بک STEP1.1_invoke_sagemaker_endpoint.ipynb پچھلے مرحلے میں بنائے گئے SageMaker انفرنس اینڈ پوائنٹ کو طلب کرتا ہے۔ یقینی بنائیں کہ آپ اختتامی نقطہ کے نام کو اپ ڈیٹ کرتے ہیں:

# Invoke SageMaker Endpoint. * Ensure you update the endpoint
# You can grab the SageMaker Endpoint name by either 1) going to the pipeline visualization of Kubeflow console and click the component for deployment, or 2) Go to SageMaker console and go to the list of endpoints, and then substitute the name to the EndpointName='...' in this cell.

endpointName=''

response = client.invoke_endpoint(EndpointName=endpointName,
ContentType='application/x-image',
Body=payload)

pred = json.loads(response['Body'].read().decode())

output_vector_list=pred['score']

# Get outout vector of 10 classes
output_vector = output_vector_list[0]

# Find the class with highest probability
max=output_vector[0]
index = 0
for i in range(1,len(output_vector)):
if output_vector[i] > max:
max = output_vector[i]
index = i

print(f'Index of the maximum value is : {index}')

labels = ['airplane','automobile','bird','cat','deer','dog','frog','horse','ship','truck']

print(labels[index])

صاف کرو

اپنے وسائل کو صاف کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:

  1. AWS وسائل کو حذف کرنے کے لیے AWS Cloud9 میں درج ذیل کمانڈز چلائیں:
    cd ${MANIFEST_DIR}/deployments/vanilla/terraform
    make delete

  2. IAM کردار کو حذف کریں "sagemakerroleمندرجہ ذیل AWS CLI کمانڈ کا استعمال کرتے ہوئے:
    aws iam detach-role-policy --role-name sagemakerrole --policy-arn arn:aws:iam::aws:policy/AmazonSageMakerFullAccess
    aws iam detach-role-policy --role-name sagemakerrole --policy-arn arn:aws:iam::aws:policy/AmazonS3FullAccess
    aws iam delete-role --role-name sagemakerrole

  3. درج ذیل AWS CLI کمانڈ کا استعمال کرتے ہوئے SageMaker اینڈ پوائنٹ کو حذف کریں:
    aws sagemaker delete-endpoint --endpoint-name  --region us-west-2

خلاصہ

اس پوسٹ میں، ہم نے اس قدر کو اجاگر کیا جو AWS 1.6.1 پر Kubeflow مقامی AWS کے زیر انتظام سروس انٹیگریشنز کے ذریعے فراہم کرتا ہے تاکہ انٹرپرائز سطح کے AI اور ML استعمال کے معاملات کی ضرورت کو پورا کیا جا سکے۔ آپ Terraform، Kustomize، یا Helm کا استعمال کرتے ہوئے مختلف سروس انٹیگریشنز کے ساتھ AWS پر Kubeflow انسٹال کرنے کے لیے تعیناتی کے متعدد اختیارات میں سے انتخاب کر سکتے ہیں۔ اس پوسٹ میں استعمال کے کیس نے SageMaker کے ساتھ ایک Kubeflow کے انضمام کا مظاہرہ کیا ہے جو SageMaker کے زیر انتظام ٹریننگ کلسٹر کا استعمال کرتا ہے تاکہ تصویر کی درجہ بندی کے ماڈل کے لیے تقسیم شدہ ٹریننگ اور ماڈل کی تعیناتی کے لیے SageMaker اینڈ پوائنٹ۔

ہم نے بھی دستیاب کرایا ہے a نمونہ پائپ لائن کی مثال جو جدید ترین SageMaker اجزاء استعمال کرتا ہے؛ آپ اسے براہ راست Kubeflow ڈیش بورڈ سے چلا سکتے ہیں۔ اس پائپ لائن کی ضرورت ہے۔ ایمیزون S3 ڈیٹا اور سیج میکر پر عمل درآمد IAM کردار مطلوبہ ان پٹ کے طور پر۔

AWS پر Kubeflow کے ساتھ شروع کرنے کے لیے، دستیاب AWS- مربوط تعیناتی کے اختیارات دیکھیں AWS پر Kubeflow. آپ کی پیروی کر سکتے ہیں AWS لیبز کا ذخیرہ Kubeflow میں AWS کی تمام شراکتوں کو ٹریک کرنے کے لیے۔ آپ ہمیں پر بھی تلاش کر سکتے ہیں۔ Kubeflow #AWS سلیک چینل; وہاں آپ کے تاثرات ہمیں Kubeflow پروجیکٹ میں تعاون کرنے کے لیے اگلی خصوصیات کو ترجیح دینے میں مدد کریں گے۔


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

AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عیکنولجیت خرمی ایمیزون ویب سروسز میں ایک سینئر حل آرکیٹیکٹ ہے۔ وہ AWS کے صارفین کے ساتھ رہنمائی اور تکنیکی مدد فراہم کرنے کے لیے کام کرتا ہے تاکہ AWS استعمال کرتے وقت ان کے حل کی قدر کو بہتر بنایا جا سکے۔ کنولجیت کنٹینرائزڈ اور مشین لرننگ ایپلی کیشنز کے ساتھ صارفین کی مدد کرنے میں مہارت رکھتا ہے۔

AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عیکارتک کلاماڈی ایمیزون اے آئی میں سافٹ ویئر ڈویلپمنٹ انجینئر ہے۔ فی الحال مشین لرننگ Kubernetes کے اوپن سورس پروجیکٹس جیسے Kubeflow اور K8s کے لیے AWS SageMaker کنٹرولر پر توجہ مرکوز ہے۔ اپنے فارغ وقت میں میں پی سی گیمز کھیلنا اور یونٹی انجن کا استعمال کرتے ہوئے وی آر کے ساتھ ہلچل مچانا پسند کرتا ہوں۔

AWS کی تعیناتی PlatoBlockchain Data Intelligence پر ایک کلک Kubeflow کے ساتھ Amazon EKS اور Amazon SageMaker پر ہائبرڈ ML ورک فلو کو فعال کرنا۔ عمودی تلاش۔ عیراہول کھڑسے ایمیزون ویب سروسز میں سافٹ ویئر ڈویلپمنٹ انجینئر ہے۔ اس کا کام AWS سروسز کو اوپن سورس کنٹینرائزڈ ML Ops پلیٹ فارمز کے ساتھ مربوط کرنے پر مرکوز ہے تاکہ ان کی توسیع پذیری، وشوسنییتا اور سیکورٹی کو بہتر بنایا جا سکے۔ خصوصیات کے لیے گاہک کی درخواستوں پر توجہ مرکوز کرنے کے علاوہ، راہول میدان میں جدید ترین تکنیکی ترقی کے ساتھ تجربہ کرنے سے بھی لطف اندوز ہوتے ہیں۔

ٹائم اسٹیمپ:

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