ذكاء البيانات التوليدية

قم بتسريع سير عمل تعلم الآلة باستخدام الوضع المحلي Amazon SageMaker Studio ودعم Docker | خدمات الويب الأمازون

التاريخ:

نحن متحمسون للإعلان عن قدراتين جديدتين في أمازون ساجميكر ستوديو سيؤدي ذلك إلى تسريع التطوير التكراري لممارسي التعلم الآلي (ML): دعم الوضع المحلي وDocker. غالبًا ما يتضمن تطوير نموذج ML دورات تكرار بطيئة حيث يقوم المطورون بالتبديل بين البرمجة والتدريب والنشر. تتطلب كل خطوة انتظار بدء تشغيل موارد الحوسبة عن بعد، مما يؤخر التحقق من صحة عمليات التنفيذ والحصول على تعليقات بشأن التغييرات.

باستخدام الوضع المحلي، يمكن للمطورين الآن تدريب النماذج واختبارها، وتصحيح الأخطاء البرمجية، والتحقق من صحة المسارات الشاملة مباشرة على مثيل الكمبيوتر الدفتري SageMaker Studio الخاص بهم دون الحاجة إلى تشغيل موارد الحوسبة عن بعد. يؤدي هذا إلى تقليل دورة التكرار من دقائق إلى ثوانٍ، مما يعزز إنتاجية المطورين. يتيح دعم Docker في أجهزة الكمبيوتر المحمولة SageMaker Studio للمطورين إنشاء حاويات Docker بسهولة والوصول إلى الحاويات المبنية مسبقًا، مما يوفر بيئة تطوير متسقة عبر الفريق وتجنب الإعداد الذي يستغرق وقتًا طويلاً وإدارة التبعية.

يوفر دعم الوضع المحلي وDocker سير عمل مبسطًا للتحقق من صحة تغييرات التعليمات البرمجية ونماذج النماذج الأولية باستخدام الحاويات المحلية التي تعمل على دفتر ملاحظات SageMaker Studio

مثال. في هذا المنشور، نوجهك خلال إعداد الوضع المحلي في SageMaker Studio، وتشغيل نموذج لمهمة تدريبية، ونشر النموذج على الأمازون SageMaker نقطة النهاية من دفتر ملاحظات SageMaker Studio.

الوضع المحلي في SageMaker Studio

يقدم SageMaker Studio الوضع المحلي، مما يتيح لك تشغيل تدريب SageMaker والاستدلال وتحويل الدُفعات ومهام المعالجة مباشرةً على مثيلات دفتر JupyterLab أو Code Editor أو SageMaker Studio Classic الخاصة بك دون الحاجة إلى موارد حوسبة عن بعد. تتضمن فوائد استخدام الوضع المحلي ما يلي:

  • التحقق الفوري من صحة واختبار سير العمل داخل بيئات التطوير المتكاملة (IDEs)
  • تكرار أسرع من خلال عمليات التشغيل المحلية للوظائف الأصغر حجمًا لفحص المخرجات وتحديد المشكلات مبكرًا
  • تحسين كفاءة التطوير وتصحيح الأخطاء من خلال القضاء على انتظار وظائف التدريب عن بعد
  • تعليقات فورية على تغييرات التعليمات البرمجية قبل تشغيل المهام الكاملة في السحابة

يوضح الشكل التالي سير العمل باستخدام الوضع المحلي في SageMaker.

سير العمل باستخدام الوضع المحلي على SageMaker

لاستخدام الوضع المحلي، قم بضبط instance_type='local' عند تشغيل وظائف SageMaker Python SDK مثل التدريب والاستدلال. سيؤدي هذا إلى تشغيلها على المثيلات التي تستخدمها بيئة تطوير SageMaker Studio IDEs بدلاً من توفير الموارد السحابية.

على الرغم من أن بعض الإمكانيات، مثل التدريب الموزع، لا تتوفر إلا في السحابة، فإن الوضع المحلي يلغي الحاجة إلى تبديل السياقات لإجراء تكرارات سريعة. عندما تكون مستعدًا للاستفادة من القوة الكاملة لـ SageMaker ونطاقه، يمكنك تشغيل سير عملك بسلاسة في السحابة.

دعم Docker في SageMaker Studio

يتيح SageMaker Studio الآن أيضًا إنشاء حاويات Docker وتشغيلها محليًا على مثيل الكمبيوتر الدفتري SageMaker Studio الخاص بك. تتيح لك هذه الميزة الجديدة إنشاء صور Docker والتحقق من صحتها في SageMaker Studio قبل استخدامها للتدريب والاستدلال على SageMaker.

يوضح الرسم البياني التالي بنية تنسيق Docker عالية المستوى داخل SageMaker Studio.

بنية تنسيق Docker عالية المستوى داخل SageMaker Studio

مع دعم Docker في SageMaker Studio، يمكنك:

  • أنشئ حاويات Docker بنماذج وتبعيات متكاملة مباشرة داخل SageMaker Studio
  • تخلص من الحاجة إلى عمليات بناء Docker خارجية لتبسيط عملية إنشاء الصور
  • قم بتشغيل الحاويات محليًا للتحقق من صحة الوظائف قبل نشر النماذج في الإنتاج
  • أعد استخدام الحاويات المحلية عند النشر إلى SageMaker للتدريب والاستضافة

على الرغم من أن بعض إمكانات Docker المتقدمة مثل الحاويات المتعددة والشبكات المخصصة غير مدعومة حتى كتابة هذه السطور، إلا أن وظيفة الإنشاء والتشغيل الأساسية متاحة لتسريع تطوير الحاويات من أجل جلب سير عمل الحاوية الخاصة بك (BYOC).

المتطلبات الأساسية المسبقة

لاستخدام الوضع المحلي في تطبيقات SageMaker Studio، يجب عليك إكمال المتطلبات الأساسية التالية:

  • لسحب الصور من سجل الأمازون المرنة للحاويات (Amazon ECR)، يجب أن يوفر الحساب الذي يستضيف صورة ECR إذن وصول للمستخدم الهوية والوصول إلى الإدارة دور (IAM). يجب أن يسمح دور المجال أيضًا بالوصول إلى Amazon ECR.
  • لتمكين الوضع المحلي وإمكانيات Docker، يجب عليك تعيين EnableDockerAccess المعلمة صحيحة بالنسبة للمجال DockerSettings يستخدم ال واجهة سطر الأوامر AWS (AWS CLI). يتيح ذلك للمستخدمين في المجال استخدام ميزات الوضع المحلي وDocker. افتراضيًا، يتم تعطيل الوضع المحلي وDocker في SageMaker Studio. ستحتاج أي تطبيقات SageMaker Studio موجودة إلى إعادة التشغيل حتى يصبح تحديث خدمة Docker ساري المفعول. فيما يلي مثال لأمر AWS CLI لتحديث مجال SageMaker Studio:
aws sagemaker --region <REGION> 
update-domain --domain-id <DOMAIN-ID> 
--domain-settings-for-update '{"DockerSettings": {"EnableDockerAccess": "ENABLED"}}'

  • تحتاج إلى تحديث دور SageMaker IAM حتى تتمكن من ذلك دفع صور دوكر إلى أمازون إي سي آر:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ecr:CompleteLayerUpload",
        "ecr:UploadLayerPart",
        "ecr:InitiateLayerUpload",
        "ecr:BatchCheckLayerAvailability",
        "ecr:PutImage"
      ],
      "Resource": "arn:aws:ecr:us-east-2:123456789012:repository/<repositoryname>"
    },
    {
      "Effect": "Allow",
      "Action": "ecr:GetAuthorizationToken",
      "Resource": "*"
    }
  ]
}

قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي

SageMaker Studio JupyterLab ومحرر الأكواد (استنادًا إلى Code-OSS، Visual Studio Code – مفتوح المصدر)، يعمل على توسيع SageMaker Studio حتى تتمكن من كتابة التحليلات وتعليمات ML البرمجية واختبارها وتصحيح أخطائها وتشغيلها باستخدام بيئة تطوير متكاملة (IDE) خفيفة الوزن وشائعة. لمزيد من التفاصيل حول كيفية البدء باستخدام SageMaker Studio IDEs، راجع تعزيز الإنتاجية في Amazon SageMaker Studio: تقديم مساحات JupyterLab وأدوات الذكاء الاصطناعي الإبداعية و جديد - محرر الأكواد، استنادًا إلى Code-OSS VS Code Open Source، وهو متوفر الآن في Amazon SageMaker Studio. أكمل الخطوات التالية:

قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي

  • إنشاء محطة جديدة.  قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي
  • قم بتثبيت المكون الإضافي Docker CLI وDocker Compose باتباع الإرشادات الواردة أدناه جيثب ريبو. في حالة فشل الأوامر المتسلسلة، قم بتشغيل الأوامر واحدًا تلو الآخر.

قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي يجب عليك تحديث SageMaker SDK إلى الإصدار الأحدث.

  • يجري pip install sagemaker -Uq في المحطة.

بالنسبة إلى Code Editor فقط، تحتاج إلى ضبط بيئة Python للتشغيل في الوحدة الطرفية الحالية.

  • في محرر التعليمات البرمجية، على ملف القائمةأختر التفضيلات و الإعدادات.

قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي

  • ابحث عن واختر المحطة الطرفية: التنفيذ في ملف Dir.

قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي

  • في Code Editor أو JupyterLab، افتح ملف scikit_learn_script_mode_local_training_and_serving مجلد وتشغيل ملف scikit_learn_script_mode_local_training_and_serving.py ملف.

يمكنك تشغيل البرنامج النصي عن طريق الاختيار يجري في Code Editor أو باستخدام CLI في محطة JupyterLab. قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي ستتمكن من رؤية كيفية تدريب النموذج محليًا. ثم تقوم بنشر النموذج على نقطة نهاية SageMaker محليًا، وحساب جذر متوسط ​​مربع الخطأ (RMSE). قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي قم بتشغيل ملفات Python في مساحات SageMaker Studio باستخدام الوضع المحلي

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

يمكنك أيضًا استخدام دفتر ملاحظات في SageMaker Studio Classic لتشغيل مهمة تدريبية صغيرة الحجم عليه CIFAR10 باستخدام الوضع المحلي، قم بنشر النموذج محليًا وإجراء الاستدلال.

قم بإعداد الكمبيوتر الدفتري الخاص بك

لإعداد دفتر الملاحظات، أكمل الخطوات التالية:

  • افتح SageMaker Studio Classic وقم باستنساخ ما يلي جيثب ريبو.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • فتح pytorch_local_mode_cifar10.ipynb notebook in blog/pytorch_cnn_cifar10.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • في حالة صورة، اختر PyTorch 2.1.0 Python 3.10 CPU Optimized.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي تأكد من أن الكمبيوتر الدفتري الخاص بك يعرض المثيل الصحيح واختيار kernel. محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • افتح المحطة عن طريق الاختيار إطلاق Terminal في صورة SageMaker الحالية.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • قم بتثبيت المكون الإضافي Docker CLI وDocker Compose باتباع الإرشادات الواردة أدناه جيثب ريبو.

نظرًا لأنك تستخدم Docker من SageMaker Studio Classic، فقم بإزالة Sudo عند تشغيل الأوامر لأن الجهاز الطرفي يعمل بالفعل تحت المستخدم المتميز. بالنسبة إلى SageMaker Studio Classic، تعتمد أوامر التثبيت على نظام التشغيل image OS الخاص بتطبيق SageMaker Studio. على سبيل المثال، صور الإطار المستندة إلى DLC تعتمد على Ubuntu، والتي ستعمل فيها الإرشادات التالية. ومع ذلك، بالنسبة للصور المستندة إلى Debian مثل DataScience Images، يجب عليك اتباع الإرشادات الواردة أدناه جيثب ريبو. في حالة فشل الأوامر المتسلسلة، قم بتشغيل الأوامر واحدًا تلو الآخر. يجب أن تشاهد إصدار Docker معروضًا. محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • اترك نافذة الوحدة الطرفية مفتوحة، وارجع إلى دفتر الملاحظات، وابدأ في تشغيله خلية تلو الأخرى.

تأكد من تشغيل الخلية باستخدام pip install -U sagemaker إذن أنت تستخدم أحدث إصدار من SageMaker Python SDK.

تدريب محلي

عندما تبدأ في تشغيل مهمة تدريب SageMaker المحلية، سترى سطور السجل التالية:

INFO:sagemaker.local.image:'Docker Compose' found using Docker CLI.
INFO:sagemaker.local.local_session:Starting training job

يشير هذا إلى أن التدريب كان يتم تنفيذه محليًا باستخدام Docker.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

التحلي بالصبر بينما pytorch-training:2.1-cpu-py310 يتم سحب صورة عامل الميناء. نظرًا لحجمه الكبير (5.2 جيجابايت)، قد يستغرق الأمر بضع دقائق.

سيتم تخزين صور Docker في المجلد الجذر لمثيل تطبيق SageMaker Studio، والذي لا يمكن للمستخدمين النهائيين الوصول إليه. الطريقة الوحيدة للوصول إلى صور Docker والتفاعل معها هي عبر عمليات Docker API المكشوفة.

من وجهة نظر سرية المستخدم، لا يصل نظام SageMaker Studio أبدًا إلى الصور الخاصة بالمستخدم أو يخزنها.

عند اكتمال التدريب، ستتمكن من رؤية أسطر سجل النجاح التالية:

8zlz1zbfta-sagemaker-local exited with code 0
Aborting on container exit...
Container 8zlz1zbfta-sagemaker-local  Stopping
Container 8zlz1zbfta-sagemaker-local  Stopped
INFO:sagemaker.local.image:===== Job Complete =====

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

الاستدلال المحلي

أكمل الخطوات التالية:

  • انشر نقطة نهاية SageMaker باستخدام الوضع المحلي SageMaker.

التحلي بالصبر بينما pytorch-inference:2.1-cpu-py310 يتم سحب صورة عامل الميناء. نظرًا لحجمه الكبير (4.32 جيجابايت)، قد يستغرق الأمر بضع دقائق.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • قم باستدعاء نقطة نهاية SageMaker التي تم نشرها محليًا باستخدام صور الاختبار.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

ستتمكن من رؤية الفئات المتوقعة: الضفدع، والسفينة، والسيارة، والطائرة:

Predicted:  frog ship  car plane

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • نظرًا لأن نقطة نهاية SageMaker Local لا تزال قيد التشغيل، انتقل مرة أخرى إلى النافذة الطرفية المفتوحة وقم بإدراج الحاويات قيد التشغيل:

docker ps

ستتمكن من رؤية الجري pytorch-inference:2.1-cpu-py310 حاوية تدعم نقطة نهاية SageMaker.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • لإيقاف تشغيل نقطة النهاية المحلية لـ SageMaker وإيقاف الحاوية قيد التشغيل، لأنه لا يمكنك تشغيل سوى نقطة نهاية محلية واحدة في كل مرة، قم بتشغيل رمز التنظيف.

محاكاة التدريب والاستدلال في SageMaker Studio Classic باستخدام الوضع المحلي

  • للتأكد من أن حاوية Docker معطلة، يمكنك الانتقال إلى النافذة الطرفية المفتوحة، وتشغيل docker ps، والتأكد من عدم وجود حاويات قيد التشغيل.
  • إذا رأيت حاوية قيد التشغيل، فاركض docker stop <CONTAINER_ID> لوقفه.

نصائح لاستخدام الوضع المحلي SageMaker

إذا كنت تستخدم SageMaker لأول مرة، فارجع إلى تدريب نماذج التعلم الآلي. لمعرفة المزيد حول نشر نماذج الاستدلال باستخدام SageMaker، راجع نشر نماذج للاستدلال.

ضع في اعتبارك التوصيات التالية:

  • قم بطباعة ملفات ومجلدات الإدخال والإخراج لفهم مجموعة البيانات وتحميل النماذج
  • استخدم حقبة أو حقبتين ومجموعات بيانات صغيرة للاختبار السريع
  • قم بتثبيت التبعيات مسبقًا في ملف Dockerfile لتحسين إعداد البيئة
  • عزل رمز التسلسل في نقاط النهاية لتصحيح الأخطاء

قم بتكوين تثبيت Docker كتكوين دورة الحياة

يمكنك تحديد عملية تثبيت Docker على أنها برنامج نصي لتكوين دورة الحياة (LCC) لتبسيط الإعداد في كل مرة تبدأ فيها مساحة SageMaker Studio جديدة. LCCs هي نصوص برمجية يقوم SageMaker بتشغيلها أثناء أحداث مثل إنشاء المساحة. الرجوع إلى جوبيتر لاب, محرر الكودالطرق أو سيج ميكر ستوديو كلاسيك إعداد LCC (باستخدام عامل تثبيت CLI كمرجع) لمعرفة المزيد.

قم بتكوين تثبيت Docker كتكوين دورة الحياة

قم بتكوين تثبيت Docker كتكوين دورة الحياة

قم ببناء واختبار صور Docker المخصصة في مساحات SageMaker Studio

في هذه الخطوة، يمكنك تثبيت Docker داخل مساحة تطبيق JupyterLab (أو Code Editor) واستخدام Docker لإنشاء صور Docker مخصصة واختبارها ونشرها باستخدام مساحات SageMaker Studio. تُستخدم المساحات لإدارة احتياجات التخزين والموارد لبعض تطبيقات SageMaker Studio. كل مساحة لها علاقة 1:1 مع مثيل التطبيق. يحصل كل تطبيق مدعوم يتم إنشاؤه على مساحته الخاصة. لمعرفة المزيد حول مساحات SageMaker، راجع تعزيز الإنتاجية في Amazon SageMaker Studio: تقديم مساحات JupyterLab وأدوات الذكاء الاصطناعي الإبداعية. تأكد من توفير مساحة جديدة بسعة تخزينية لا تقل عن 30 جيجابايت للسماح بتخزين كافٍ لصور Docker والتحف.

قم بتثبيت Docker داخل المساحة

لتثبيت المكون الإضافي Docker CLI وDocker Compose داخل مساحة JupyterLab، قم بتشغيل الأوامر التالية جيثب ريبو. ستوديو سيج ميكر يدعم إصدار Docker 20.10.X فقط.

بناء صور دوكر

للتأكد من تثبيت Docker وعمله داخل مساحة JupyterLab الخاصة بك، قم بتشغيل التعليمات البرمجية التالية:

# to verify docker service
sagemaker-user@default:~$ docker version
Client: Docker Engine - Community
Version:           24.0.7
API version:       1.41 (downgraded from 1.43)
Go version:        go1.20.10
Git commit:        afdd53b
Built:             Thu Oct 26 09:07:41 2023
OS/Arch:           linux/amd64
Context:           default

Server:
Engine:
Version:          20.10.25
API version:      1.41 (minimum version 1.12)
Go version:       go1.20.10
Git commit:       5df983c
Built:            Fri Oct 13 22:46:59 2023
OS/Arch:          linux/amd64
Experimental:     false
containerd:
Version:          1.7.2
GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
runc:
Version:          1.1.7
GitCommit:        f19387a6bec4944c770f7668ab51c4348d9c2f38
docker-init:
Version:          0.19.0
GitCommit:        de40ad0

لإنشاء صورة Docker مخصصة داخل مساحة JupyterLab (أو Code Editor)، أكمل الخطوات التالية:

  • قم بإنشاء ملف Dockerfile فارغ:

touch Dockerfile

  • قم بتحرير ملف Dockerfile باستخدام الأوامر التالية، والتي تنشئ صورة خادم ويب flask بسيطة من قاعدة python:3.10.13-bullseye image المستضافة على دوكر هاب:
# Use the specified Python base image
FROM python:3.10.13-bullseye

# Create a code dir
RUN mkdir /code/

# Set the working directory in the container
WORKDIR /code

# Upgrade pip and install required packages
RUN python3 -m pip install --upgrade pip && 
python3 -m pip install flask

# Copy the app.py file to the container
COPY app.py /code/

# Set the command to run the app
ENTRYPOINT ["python", "app.py"]

يعرض التعليمة البرمجية التالية محتويات ملف تطبيق قارورة المثال app.py:

from flask import Flask, jsonify

app = Flask(__name__)

@app.route('/')
def hello():
return jsonify({"response": "Hello"})

if __name__ == '__main__':
app.run(host='0.0.0.0', port=6006)

بالإضافة إلى ذلك، يمكنك تحديث أوامر Dockerfile المرجعية لتشمل الحزم والعناصر التي تختارها.

  • أنشئ صورة Docker باستخدام ملف Dockerfile المرجعي:

docker build --network sagemaker --tag myflaskapp:v1 --file ./Dockerfile .

تضمن --network sagemaker في أمر بناء عامل الإرساء الخاص بك، وإلا فسوف تفشل عملية البناء. لا يمكن تشغيل الحاويات في جسر Docker الافتراضي أو شبكات Docker المخصصة. يتم تشغيل الحاويات في نفس الشبكة مثل حاوية تطبيق SageMaker Studio. يمكن للمستخدمين فقط استخدام sagemaker لاسم الشبكة.

  • عند اكتمال البناء، تحقق من وجود الصورة. أعد وضع علامة على البناء كصورة ECR ثم ادفع. إذا واجهت مشكلات تتعلق بالأذونات، فقم بتشغيل الأمر aws ecr get-login-password... وحاول إعادة تشغيل Docker Push/pull:
sagemaker-user@default:~$ docker image list
REPOSITORY      TAG       IMAGE ID       CREATED          SIZE
myflaskapp      v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ docker tag myflaskapp:v1 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED          SIZE
123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp     latest    d623f1538f20   27 minutes ago   489MB
myflaskapp                                                  v1        d623f1538f20   27 minutes ago   489MB

sagemaker-user@default:~$ aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

sagemaker-user@default:~$ docker push 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:latest

اختبار صور Docker

يتيح لك تثبيت Docker داخل مساحة JupyterLab (أو محرر التعليمات البرمجية) SageMaker Studio اختبار صور Docker المعدة مسبقًا أو المخصصة كحاويات (أو تطبيقات داخل حاويات). في هذا القسم، نستخدم أمر docker run لتوفير حاويات Docker داخل مساحة SageMaker Studio لاختبار أحمال العمل الحاوية مثل خدمات الويب REST والبرامج النصية Python. أكمل الخطوات التالية:

sagemaker-user@default:~$ docker image list
REPOSITORY                                                  TAG       IMAGE ID       CREATED       SIZE

  • إذا لم تكن صورة الاختبار موجودة، فقم بتشغيل docker pull لسحب الصورة إلى جهازك المحلي:

sagemaker-user@default:~$ docker pull 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

  • إذا واجهت مشاكل في المصادقة، قم بتشغيل الأوامر التالية:

aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com

  • قم بإنشاء حاوية لاختبار عبء العمل الخاص بك:

docker run --network sagemaker 123456789012.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1

يؤدي ذلك إلى تشغيل نسخة حاوية جديدة وتشغيل التطبيق المحدد باستخدام ENTRYPOINT الخاص بـ Docker:

sagemaker-user@default:~$ docker run --network sagemaker 905418447590.dkr.ecr.us-east-2.amazonaws.com/myflaskapp:v1
* Serving Flask app 'app'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:6006
* Running on http://169.255.255.2:6006

  • لاختبار ما إذا كانت نقطة نهاية الويب الخاصة بك نشطة، انتقل إلى عنوان URL https://<sagemaker-space-id>.studio.us-east-2.sagemaker.aws/jupyterlab/default/proxy/6006/.

من المفترض أن تشاهد استجابة JSON مشابهة للقطة الشاشة التالية.

قم بتكوين تثبيت Docker كتكوين دورة الحياة

تنظيف

لتجنب تكبد رسوم غير ضرورية، احذف الموارد التي قمت بإنشائها أثناء تشغيل الأمثلة في هذا المنشور:

  1. في مجال SageMaker Studio الخاص بك، اختر استوديو كلاسيك في جزء التنقل ، ثم اختر قلة النوم.
  2. في مجال SageMaker Studio الخاص بك، اختر جوبيتر لاب or محرر الكود في جزء التنقل، اختر تطبيقك، ثم اختر قلة النوم.

وفي الختام

يعمل دعم SageMaker Studio Local Mode وDocker على تمكين المطورين من إنشاء تطبيقات ML واختبارها وتكرارها بشكل أسرع دون مغادرة مساحة العمل الخاصة بهم. ومن خلال توفير الوصول الفوري إلى بيئات الاختبار والمخرجات، تعمل هذه الإمكانات على تحسين سير العمل وتحسين الإنتاجية. جرّب دعم SageMaker Studio Local Model وDocker باستخدام خدماتنا ميزة سريعة على متن الطائرة، والذي يسمح لك بإنشاء نطاق جديد للمستخدمين الفرديين في غضون دقائق. شارك أفكارك في قسم التعليقات!


حول المؤلف

شويتا سينغشويتا سينغ هو مدير منتج أول في فريق منصة Amazon SageMaker Machine Learning (ML) في AWS، وهو يقود SageMaker Python SDK. عملت في العديد من أدوار المنتجات في أمازون لأكثر من 5 سنوات. حصلت على درجة بكالوريوس العلوم في هندسة الكمبيوتر ودرجة الماجستير في العلوم في الهندسة المالية، وكلاهما من جامعة نيويورك

ايتان سيلاايتان سيلا هو مهندس حلول متخصص في الذكاء الاصطناعي والتعلم الآلي في AWS. وهو يعمل مع عملاء AWS لتقديم التوجيه والمساعدة الفنية، ومساعدتهم في بناء وتشغيل حلول الذكاء الاصطناعي والتعلم الآلي على AWS. في أوقات فراغه، يستمتع إيتان بالركض وقراءة أحدث المقالات المتعلقة بالتعلم الآلي.

براناف مورثيبراناف مورثي هو مهندس حلول متخصص في الذكاء الاصطناعي/تعلم الآلة في AWS. وهو يركز على مساعدة العملاء في بناء أعباء عمل التعلم الآلي (ML) وتدريبها ونشرها وترحيلها إلى SageMaker. وقد عمل سابقًا في صناعة أشباه الموصلات في تطوير نماذج الرؤية الحاسوبية الكبيرة (CV) ومعالجة اللغة الطبيعية (NLP) لتحسين عمليات أشباه الموصلات باستخدام أحدث تقنيات تعلم الآلة. وفي أوقات فراغه يستمتع بلعب الشطرنج والسفر. يمكنك العثور على براناف على لينكدين:.

مفضل روهاوالامفضل روهاوالا هو مهندس برمجيات في AWS. وهو يعمل في مكتبة SageMaker Python SDK لـ Amazon SageMaker. يستمتع في أوقات فراغه بالسفر والأنشطة الخارجية وهو من مشجعي كرة القدم.

بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة

الدردشة معنا

أهلاً! كيف يمكنني مساعدك؟