جنریٹیو ڈیٹا انٹیلی جنس

Amazon SageMaker اسٹوڈیو لائف سائیکل کنفیگریشنز کو تعینات کرنے کے لیے AWS CDK کا استعمال کریں ایمیزون ویب سروسز

تاریخ:

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

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

اس پوسٹ میں، ہم AWS CDK کو اسٹوڈیو سیٹ اپ کرنے، اسٹوڈیو لائف سائیکل کنفیگریشنز استعمال کرنے، اور آپ کی تنظیم میں ڈیٹا سائنسدانوں اور ڈیولپرز کے لیے اس تک رسائی کو فعال کرنے کا طریقہ دکھاتے ہیں۔

حل جائزہ

لائف سائیکل کنفیگریشنز کی ماڈیولریٹی آپ کو انہیں ڈومین کے تمام صارفین یا مخصوص صارفین پر لاگو کرنے کی اجازت دیتی ہے۔ اس طرح، آپ لائف سائیکل کنفیگریشنز ترتیب دے سکتے ہیں اور اسٹوڈیو میں ان کا حوالہ دے سکتے ہیں۔ کرنل گیٹ وے یا Jupyter سرور تیزی سے اور مسلسل. کرنل گیٹ وے ایک نوٹ بک مثال کے ساتھ تعامل کرنے کا داخلی نقطہ ہے، جبکہ Jupyter سرور سٹوڈیو مثال کی نمائندگی کرتا ہے۔ یہ آپ کو DevOps کے بہترین طریقوں کو لاگو کرنے اور تمام AWS اکاؤنٹس اور خطوں میں حفاظت، تعمیل اور ترتیب کے معیارات کو پورا کرنے کے قابل بناتا ہے۔ اس پوسٹ کے لیے، ہم Python کو مرکزی زبان کے طور پر استعمال کرتے ہیں، لیکن کوڈ کو آسانی سے دوسری AWS CDK کی حمایت یافتہ زبانوں میں تبدیل کیا جا سکتا ہے۔ مزید معلومات کے لیے رجوع کریں۔ AWS CDK کے ساتھ کام کرنا.

شرائط

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

GitHub ذخیرہ کو کلون کریں۔

سب سے پہلے، کلون la GitHub ذخیرہ.

جیسا کہ آپ ذخیرہ کو کلون کرتے ہیں، آپ دیکھ سکتے ہیں کہ ہمارے پاس ڈائرکٹری کے ساتھ ایک کلاسک AWS CDK پروجیکٹ ہے۔ studio-lifecycle-config-constructجس میں لائف سائیکل کنفیگریشنز بنانے کے لیے درکار تعمیرات اور وسائل شامل ہیں۔

AWS CDK تعمیر کرتا ہے۔

فائل جس کا ہم معائنہ کرنا چاہتے ہیں۔ aws_sagemaker_lifecycle.py. اس فائل پر مشتمل ہے۔ SageMakerStudioLifeCycleConfig تعمیر جو ہم لائف سائیکل کنفیگریشنز کو ترتیب دینے اور تخلیق کرنے کے لیے استعمال کرتے ہیں۔

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

  • ID - موجودہ پروجیکٹ کا نام۔
  • studio_lifecycle_content - دی بیس 64 انکوڈ شدہ مواد
  • studio_lifecycle_tags - وہ لیبل جو آپ ایمیزون وسائل کو منظم کرنے کے لیے تفویض کرتے ہیں۔ وہ کلیدی قدر کے جوڑے کے طور پر داخل کیے گئے ہیں اور اس ترتیب کے لیے اختیاری ہیں۔
  • studio_lifecycle_config_app_type - JupyterServer خود منفرد سرور کے لیے ہے، اور KernelGateway ایپ چلتے ہوئے سیج میکر امیج کنٹینر کے مساوی ہے۔

اسٹوڈیو نوٹ بک فن تعمیر کے بارے میں مزید معلومات کے لیے، ملاحظہ کریں۔ Amazon SageMaker Studio Notebooks کے فن تعمیر میں گہرائی میں ڈوبیں۔.

ذیل میں اسٹوڈیو لائف سائیکل تشکیل کنسٹرکٹ کا کوڈ کا ٹکڑا ہے (aws_sagemaker_lifecycle.py):

class SageMakerStudioLifeCycleConfig(Construct): def __init__( self, scope: Construct, id: str, studio_lifecycle_config_content: str, studio_lifecycle_config_app_type: str, studio_lifecycle_config_name: str, studio_lifecycle_config_arn: str, **kwargs, ): super().__init__(scope, id) self.studio_lifecycle_content = studio_lifecycle_content self.studio_lifecycle_config_name = studio_lifecycle_config_name self.studio_lifecycle_config_app_type = studio_lifecycle_config_app_type lifecycle_config_role = iam.Role( self, "SmStudioLifeCycleConfigRole", assumed_by=iam.ServicePrincipal("lambda.amazonaws.com"), ) lifecycle_config_role.add_to_policy( iam.PolicyStatement( resources=[f"arn:aws:sagemaker:{scope.region}:{scope.account}:*"], actions=[ "sagemaker:CreateStudioLifecycleConfig", "sagemaker:ListUserProfiles", "sagemaker:UpdateUserProfile", "sagemaker:DeleteStudioLifecycleConfig", "sagemaker:AddTags", ], ) ) create_lifecycle_script_lambda = lambda_.Function( self, "CreateLifeCycleConfigLambda", runtime=lambda_.Runtime.PYTHON_3_8, timeout=Duration.minutes(3), code=lambda_.Code.from_asset( "../mlsl-cdk-constructs-lib/src/studiolifecycleconfigconstruct" ), handler="onEvent.handler", role=lifecycle_config_role, environment={ "studio_lifecycle_content": self.studio_lifecycle_content, "studio_lifecycle_config_name": self.studio_lifecycle_config_name, "studio_lifecycle_config_app_type": self.studio_lifecycle_config_app_type, }, ) config_custom_resource_provider = custom_resources.Provider( self, "ConfigCustomResourceProvider", on_event_handler=create_lifecycle_script_lambda, ) studio_lifecyle_config_custom_resource = CustomResource( self, "LifeCycleCustomResource", service_token=config_custom_resource_provider.service_token, ) self. studio_lifecycle_config_arn = studio_lifecycle_config_custom_resource.get_att("StudioLifecycleConfigArn")

تعمیر کو درآمد اور انسٹال کرنے کے بعد، آپ اسے استعمال کر سکتے ہیں۔ درج ذیل کوڈ کا ٹکڑا دکھاتا ہے کہ اسٹیک میں کنسٹرکٹ کا استعمال کرتے ہوئے لائف سائیکل کنفیگریشن کیسے بنایا جائے app.py یا کوئی اور تعمیر:

my_studio_lifecycle_config = SageMakerStudioLifeCycleConfig( self, "MLSLBlogPost", studio_lifecycle_config_content="base64content", studio_lifecycle_config_name="BlogPostTest", studio_lifecycle_config_app_type="JupyterServer", )

AWS CDK تعمیرات تعینات کریں۔

اپنے AWS CDK اسٹیک کو تعینات کرنے کے لیے، درج ذیل کمانڈز کو اس جگہ پر چلائیں جہاں آپ نے ریپوزٹری کو کلون کیا تھا۔

حکم ہو سکتا ہے۔ python بجائے python3 آپ کے راستے کی ترتیب پر منحصر ہے۔

  1. ایک مجازی ماحول بنائیں:
    1. macOS/Linux کے لیے، استعمال کریں۔ python3 -m venv .cdk-venv.
    2. ونڈوز کے لیے، استعمال کریں۔ python3 -m venv .cdk-venv.
  2. ورچوئل ماحول کو چالو کریں:
    1. macOS/Linux کے لیے، استعمال کریں۔ source .cdk-venvbinactivate.
    2. ونڈوز کے لیے، استعمال کریں۔ .cdk-venv/Scripts/activate.bat.
    3. پاور شیل کے لیے، استعمال کریں۔ .cdk-venv/Scripts/activate.ps1.
  3. مطلوبہ انحصار انسٹال کریں:
    1. pip install -r requirements.txt
    2. pip install -r requirements-dev.txt
  4. اس مقام پر، آپ اختیاری طور پر اس کوڈ کے لیے CloudFormation ٹیمپلیٹ کی ترکیب کر سکتے ہیں:
  5. مندرجہ ذیل کمانڈز کے ساتھ حل کو تعینات کریں:
    1. aws configure
    2. cdk bootstrap
    3. cdk deploy

جب اسٹیک کامیابی کے ساتھ تعینات ہوجاتا ہے، تو آپ کو CloudFormation کنسول پر اسٹیک دیکھنے کے قابل ہونا چاہیے۔

آپ سیج میکر کنسول پر لائف سائیکل کنفیگریشن بھی دیکھ سکیں گے۔

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

اسٹوڈیو لائف سائیکل کنفیگریشن منسلک کریں۔

لائف سائیکل کنفیگریشن کو منسلک کرنے کے متعدد طریقے ہیں۔ اس سیکشن میں، ہم دو طریقے پیش کرتے ہیں: استعمال کرتے ہوئے AWS مینجمنٹ کنسول، اور پروگرام کے لحاظ سے فراہم کردہ انفراسٹرکچر کا استعمال کرتے ہوئے

کنسول کا استعمال کرتے ہوئے لائف سائیکل کنفیگریشن منسلک کریں۔

کنسول استعمال کرنے کے لیے، درج ذیل مراحل کو مکمل کریں:

  1. سیج میکر کنسول پر، منتخب کریں۔ ڈومینز نیوی گیشن پین میں.
  2. آپ جو ڈومین نام استعمال کر رہے ہیں اور موجودہ صارف پروفائل کا انتخاب کریں، پھر منتخب کریں۔ ترمیم کریں.
  3. لائف سائیکل کنفیگریشن کو منتخب کریں جسے آپ استعمال کرنا چاہتے ہیں اور منتخب کریں۔ منسلک کریں.

یہاں سے، آپ اسے بطور ڈیفالٹ بھی سیٹ کر سکتے ہیں۔

لائف سائیکل کنفیگریشن کو پروگرام کے مطابق منسلک کریں۔

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

default_user_settings=sagemaker.CfnDomain.UserSettingsProperty( execution_role=self.sagemaker_role.role_arn, jupyter_server_app_settings=sagemaker.CfnDomain.JupyterServerAppSettingsProperty( default_resource_spec=sagemaker.CfnDomain.ResourceSpecProperty( instance_type="system", lifecycle_config_arn = my_studio_lifecycle_config.studio_lifeycycle_config_arn ) )

صاف کرو

اپنے وسائل کو صاف کرنے کے لیے اس سیکشن میں مراحل کو مکمل کریں۔

اسٹوڈیو لائف سائیکل کنفیگریشن کو حذف کریں۔

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

  1. سیج میکر کنسول پر، منتخب کریں۔ اسٹوڈیو لائف سائیکل کنفیگریشنز نیوی گیشن پین میں.
  2. لائف سائیکل کنفیگریشن کو منتخب کریں، پھر منتخب کریں۔ خارج کر دیں.

AWS CDK اسٹیک کو حذف کریں۔

جب آپ اپنے بنائے ہوئے وسائل کے ساتھ کام کر لیتے ہیں، تو آپ اس جگہ پر درج ذیل کمانڈ کو چلا کر اپنے AWS CDK اسٹیک کو تباہ کر سکتے ہیں جہاں آپ نے ریپوزٹری کو کلون کیا تھا:

cdk destroy

جب اسٹیک کو حذف کرنے کی تصدیق کرنے کو کہا جائے تو درج کریں۔ yes.

آپ درج ذیل اقدامات کے ساتھ AWS CloudFormation کنسول پر موجود اسٹیک کو بھی حذف کر سکتے ہیں۔

  1. AWS CloudFormation کنسول پر، منتخب کریں۔ Stacks نیوی گیشن پین میں.
  2. اس اسٹیک کو منتخب کریں جسے آپ حذف کرنا چاہتے ہیں۔
  3. اسٹیک تفصیلات کے پین میں، منتخب کریں۔ خارج کر دیں.
  4. میں سے انتخاب کریں اسٹیک کو حذف کریں۔ جب حوصلہ افزائی کی گئی.

اگر آپ کو کوئی غلطی ہوتی ہے، تو آپ کو اپنے اکاؤنٹ کی ترتیب کے لحاظ سے کچھ وسائل کو دستی طور پر حذف کرنا پڑ سکتا ہے۔

نتیجہ

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

مزید معلومات کے لئے، ملاحظہ کریں ایمیزون سیج میکر اسٹوڈیو.


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

کوری ہیئرسٹن Amazon ML Solutions Lab کے ساتھ سافٹ ویئر انجینئر ہے۔ وہ فی الحال دوبارہ قابل استعمال سافٹ ویئر حل فراہم کرنے پر کام کرتا ہے۔

ایلکس چیراتھ ایمیزون ایم ایل سلوشنز لیب میں ایک سینئر مشین لرننگ انجینئر ہے۔ وہ کاروباری ضروریات کو پورا کرنے کے لیے AI ایپلی کیشنز بنانے کے لیے ڈیٹا سائنسدانوں اور انجینئرز کی ٹیموں کی رہنمائی کرتا ہے۔

گوری پنڈیشور Amazon ML Solutions Lab میں انجینئر مینیجر ہیں۔ وہ اور ان کی انجینئرز کی ٹیم دوبارہ قابل استعمال حل اور فریم ورک بنانے کے لیے کام کر رہی ہے جو صارفین کے کاروباری استعمال کے معاملات کے لیے AWS AI/ML سروسز کو اپنانے میں تیزی لانے میں مدد کرتی ہے۔

اسپاٹ_مگ

تازہ ترین انٹیلی جنس

اسپاٹ_مگ