دليل نشر YOLO26 على نقاط نهاية Amazon SageMaker#
يفتح نشر نماذج الرؤية الحاسوبية المتقدمة مثل YOLO26 من Ultralytics على نقاط نهاية Amazon SageMaker آفاقًا واسعة لمختلف تطبيقات التعلّم الآلي. ويكمن مفتاح استخدام هذه النماذج بفاعلية في فهم عمليات إعدادها وتهيئتها ونشرها. وتزداد قوة YOLO26 عند دمجه بسلاسة مع Amazon SageMaker، وهي خدمة تعلّم آلي قوية وقابلة للتوسع من AWS.
يرشدك هذا الدليل خطوة بخطوة خلال عملية نشر نماذج YOLO26 PyTorch على نقاط نهاية Amazon SageMaker. وستتعلم أساسيات إعداد بيئة AWS، وتهيئة النموذج بالشكل المناسب، واستخدام أدوات مثل AWS CloudFormation ومجموعة تطوير السحابة لـ AWS (CDK) للنشر.
Amazon SageMaker#
Amazon SageMaker خدمة تعلّم آلي من Amazon Web Services (AWS) تبسّط عملية إنشاء نماذج التعلّم الآلي وتدريبها ونشرها. وتوفر مجموعة واسعة من الأدوات للتعامل مع مختلف جوانب سير عمل التعلّم الآلي. ويشمل ذلك ميزات آلية لضبط النماذج، وخيارات لتدريب النماذج على نطاق واسع، وطرقًا مباشرة لنشر النماذج في بيئة الإنتاج. ويدعم SageMaker أُطر عمل التعلّم الآلي الشائعة، ما يوفر المرونة اللازمة لمشاريع متنوعة. كما تشمل ميزاته وسم البيانات وإدارة سير العمل وتحليل الأداء.
نشر YOLO26 على نقاط نهاية Amazon SageMaker#
يتيح لك نشر YOLO26 على Amazon SageMaker استخدام بيئته المُدارة للاستدلال في الوقت الفعلي والاستفادة من ميزات مثل التوسع التلقائي. ألقِ نظرة على بنية AWS أدناه.
الخطوة 1: إعداد بيئة AWS#
أولًا، تأكد من استيفاء المتطلبات الأساسية التالية:
-
حساب AWS: إذا لم يكن لديك حساب بالفعل، فسجّل للحصول على حساب AWS.
-
أدوار IAM مُهيّأة: ستحتاج إلى دور IAM يتضمن الأذونات اللازمة لـ Amazon SageMaker وAWS CloudFormation وAmazon S3. يجب أن يتضمن هذا الدور السياسات التي تتيح له الوصول إلى هذه الخدمات.
-
AWS CLI: إذا لم تكن مثبتة بالفعل، فحمّل واجهة سطر أوامر AWS (CLI) وثبّتها، ثم هيّئها بتفاصيل حسابك. اتبع تعليمات AWS CLI للتثبيت.
-
AWS CDK: إذا لم تكن مثبتة بالفعل، فثبّت مجموعة تطوير السحابة لـ AWS (CDK)، التي ستُستخدم لكتابة نصوص النشر. اتبع تعليمات AWS CDK للتثبيت.
-
حصة خدمة كافية: تأكد من توفر حصص كافية لموردين منفصلين في Amazon SageMaker: أحدهما لـ
ml.m5.4xlargeلاستخدام نقطة النهاية، والآخر لـml.m5.4xlargeلاستخدام مثيل دفتر الملاحظات. يتطلب كل منهما قيمة حصة لا تقل عن واحد. إذا كانت حصصك الحالية أقل من هذا الحد، فمن المهم طلب زيادة لكل منها. يمكنك طلب زيادة الحصة باتباع التعليمات المفصلة في وثائق حصص خدمات AWS.
الخطوة 2: استنساخ مستودع YOLO26 الخاص بـ SageMaker#
الخطوة التالية هي استنساخ مستودع AWS المحدد الذي يحتوي على الموارد اللازمة لنشر YOLO26 على SageMaker. يتضمن هذا المستودع، المستضاف على GitHub، نصوص CDK وملفات الإعداد المطلوبة.
-
استنساخ مستودع GitHub: نفّذ الأمر التالي في الطرفية لاستنساخ مستودع host-yolov8-on-sagemaker-endpoint:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git -
الانتقال إلى الدليل المستنسخ: غيّر الدليل الحالي إلى المستودع المستنسخ:
cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
الخطوة 3: إعداد بيئة CDK#
بعد أن أصبح لديك الرمز البرمجي اللازم، أعدّ بيئتك للنشر باستخدام AWS CDK.
-
إنشاء بيئة Python افتراضية: يؤدي ذلك إلى عزل بيئة Python والتبعيات الخاصة بك. نفّذ:
python3 -m venv .venv -
تفعيل البيئة الافتراضية:
source .venv/bin/activate -
تثبيت التبعيات: ثبّت تبعيات Python المطلوبة للمشروع:
pip3 install -r requirements.txt -
ترقية مكتبة AWS CDK: تأكد من امتلاك أحدث إصدار من مكتبة AWS CDK:
pip install --upgrade aws-cdk-lib
الخطوة 4: إنشاء مكدس AWS CloudFormation#
-
تركيب تطبيق CDK: أنشئ قالب AWS CloudFormation من رمز CDK البرمجي لديك:
cdk synth -
تهيئة تطبيق CDK: جهّز بيئة AWS لنشر CDK:
cdk bootstrap -
نشر المكدس: سيؤدي ذلك إلى إنشاء موارد AWS اللازمة ونشر النموذج:
cdk deploy
الخطوة 5: نشر نموذج YOLO#
قبل البدء بتعليمات النشر، احرص على الاطلاع على مجموعة نماذج YOLO26 التي تقدمها Ultralytics. سيساعدك ذلك على اختيار النموذج الأنسب لمتطلبات مشروعك.
بعد إنشاء مكدس AWS CloudFormation، تتمثل الخطوة التالية في نشر YOLO26.
-
فتح مثيل دفتر الملاحظات: انتقل إلى وحدة تحكم AWS ثم إلى خدمة Amazon SageMaker. اختر «مثيلات دفتر الملاحظات» من لوحة المعلومات، ثم حدّد موقع مثيل دفتر الملاحظات الذي أنشأه نص النشر البرمجي الخاص بـ CDK. افتح مثيل دفتر الملاحظات للوصول إلى بيئة Jupyter.
-
الوصول إلى inference.py وتعديله: بعد فتح مثيل دفتر الملاحظات في SageMaker ضمن Jupyter، ابحث عن ملف inference.py. عدّل الدالة output_fn في inference.py كما هو موضح أدناه، واحفظ تغييراتك في النص البرمجي، مع التأكد من خلوه من أخطاء الصياغة.
import json def output_fn(prediction_output, content_type): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" print("Executing output_fn from inference.py ...") infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() if result.masks is not None: infer["masks"] = result.masks.numpy().data.tolist() if result.keypoints is not None: infer["keypoints"] = result.keypoints.numpy().data.tolist() if result.obb is not None: infer["obb"] = result.obb.numpy().data.tolist() if result.probs is not None: infer["probs"] = result.probs.numpy().data.tolist() return json.dumps(infer) -
نشر نقطة النهاية باستخدام 1_DeployEndpoint.ipynb: في بيئة Jupyter، افتح دفتر الملاحظات 1_DeployEndpoint.ipynb الموجود في الدليل sm-notebook. اتبع التعليمات الواردة فيه وشغّل الخلايا لتنزيل نموذج YOLO26 وتجهيزه مع رمز الاستدلال المحدّث وتحميله إلى حاوية Amazon S3. سيرشدك دفتر الملاحظات خلال إنشاء نقطة نهاية SageMaker لنموذج YOLO26 ونشرها.
الخطوة 6: اختبار عملية النشر#
بعد نشر نموذج YOLO26، من المهم اختبار أدائه ووظائفه.
-
فتح دفتر الاختبار: في بيئة Jupyter نفسها، ابحث عن دفتر الملاحظات 2_TestEndpoint.ipynb وافتحه؛ فهو موجود أيضًا في الدليل sm-notebook.
-
تشغيل دفتر الاختبار: اتبع التعليمات الواردة فيه لاختبار نقطة نهاية SageMaker المنشورة. ويتضمن ذلك إرسال صورة إلى نقطة النهاية وإجراء عمليات الاستدلال. بعد ذلك، ارسم المخرجات لتصوّر أداء النموذج ودقته، كما هو موضح أدناه.
- تنظيف الموارد: سيرشدك دفتر الاختبار أيضًا خلال عملية تنظيف نقطة النهاية والنموذج المستضاف. وهذه خطوة مهمة لإدارة التكاليف والموارد بفاعلية، لا سيما إذا لم تكن تخطط لاستخدام النموذج المنشور على الفور.
الخطوة 7: المراقبة والإدارة#
بعد الاختبار، تصبح المراقبة المستمرة لنموذجك المنشور وإدارته أمرين أساسيين.
-
المراقبة باستخدام Amazon CloudWatch: تحقّق بانتظام من أداء نقطة نهاية SageMaker وسلامتها باستخدام Amazon CloudWatch.
-
إدارة نقطة النهاية: استخدم وحدة تحكم SageMaker لإدارة نقطة النهاية باستمرار. ويشمل ذلك توسيع نطاق النموذج أو تحديثه أو إعادة نشره حسب الحاجة.
باتباع هذه الخطوات، ستكون قد نشرت نموذج YOLO26 واختبرته بنجاح على نقاط نهاية Amazon SageMaker. لا تمنحك هذه العملية خبرة عملية في استخدام خدمات AWS لنشر تعلّم الآلة فحسب، بل تمهّد أيضًا الطريق لنشر نماذج متقدمة أخرى مستقبلًا.
الملخص#
يرشدك هذا الدليل خطوة بخطوة إلى نشر YOLO26 على نقاط نهاية Amazon SageMaker باستخدام AWS CloudFormation ومجموعة تطوير السحابة من AWS (CDK). تشمل العملية استنساخ مستودع GitHub المطلوب، وإعداد بيئة CDK، ونشر النموذج باستخدام خدمات AWS، واختبار أدائه على SageMaker.
للاطلاع على مزيد من التفاصيل التقنية، راجع هذه المقالة على مدونة تعلّم الآلة من AWS. ويمكنك أيضًا مراجعة وثائق Amazon SageMaker الرسمية لمعرفة المزيد عن الميزات والوظائف المختلفة.
هل ترغب في معرفة المزيد عن عمليات تكامل YOLO26 المختلفة؟ تفضّل بزيارة صفحة دليل عمليات تكامل Ultralytics لاكتشاف أدوات وإمكانات إضافية يمكنها تعزيز مشاريع تعلّم الآلة لديك.
الأسئلة الشائعة#
لنشر نموذج Ultralytics YOLO26 على نقاط نهاية Amazon SageMaker، اتبع الخطوات التالية:
- إعداد بيئة AWS: تأكد من أن لديك حساب AWS وأدوار IAM بالأذونات اللازمة، وأن AWS CLI مُهيأ. ثبّت AWS CDK إن لم يكن مثبتًا بالفعل (راجع تعليمات AWS CDK).
- استنساخ مستودع YOLO26 SageMaker:
git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk - إعداد بيئة CDK: أنشئ بيئة افتراضية لـ Python، وفعّلها، وثبّت التبعيات، ثم حدّث مكتبة AWS CDK.
python3 -m venv .venv source .venv/bin/activate pip3 install -r requirements.txt pip install --upgrade aws-cdk-lib - النشر باستخدام AWS CDK: أنشئ حزمة CloudFormation وانشرها، ثم هيّئ البيئة.
cdk synth cdk bootstrap cdk deploy
لمزيد من التفاصيل، راجع قسم الوثائق.
لنشر YOLO26 على Amazon SageMaker، تأكد من توفر المتطلبات الأساسية التالية:
- حساب AWS: حساب AWS نشط (سجّل هنا).
- أدوار IAM: أدوار IAM مُهيأة بالأذونات اللازمة لـ SageMaker وCloudFormation وAmazon S3.
- AWS CLI: واجهة سطر أوامر AWS مثبّتة ومُهيأة (دليل تثبيت AWS CLI).
- AWS CDK: مجموعة تطوير السحابة من AWS مثبّتة (دليل إعداد CDK).
- حصص الخدمة: حصص كافية لمثيلات
ml.m5.4xlargeلاستخدام نقاط النهاية ودفاتر الملاحظات (اطلب زيادة الحصة).
للاطلاع على تفاصيل الإعداد، راجع هذا القسم.
يوفر استخدام Ultralytics YOLO26 على Amazon SageMaker عدة مزايا:
- قابلية التوسع والإدارة: يوفر SageMaker بيئة مُدارة تتضمن ميزات مثل التوسع التلقائي، ما يلبي احتياجات الاستدلال في الوقت الفعلي.
- التكامل مع خدمات AWS: تكامل سلس مع خدمات AWS الأخرى، مثل S3 لتخزين البيانات، وCloudFormation للبنية التحتية بوصفها تعليمات برمجية، وCloudWatch للمراقبة.
- سهولة النشر: إعداد مبسّط باستخدام نصوص AWS CDK البرمجية وعمليات نشر أكثر سلاسة.
- الأداء: استفد من البنية التحتية عالية الأداء في Amazon SageMaker لتنفيذ مهام الاستدلال واسعة النطاق بكفاءة.
اكتشف المزيد عن مزايا استخدام SageMaker في قسم المقدمة.
نعم، يمكنك تخصيص منطق الاستدلال لـ YOLO26 على Amazon SageMaker:
-
تعديل
inference.py: حدّد الدالةoutput_fnفي الملفinference.pyوخصّصها لتعديل تنسيقات المخرجات.import json def output_fn(prediction_output, content_type): """Formats model outputs as JSON string, extracting attributes like boxes, masks, keypoints.""" infer = {} for result in prediction_output: if result.boxes is not None: infer["boxes"] = result.boxes.numpy().data.tolist() # أضف مزيدًا من منطق المعالجة عند الضرورة return json.dumps(infer) -
نشر النموذج المحدّث: احرص على إعادة نشر النموذج باستخدام دفاتر Jupyter المتوفرة (
1_DeployEndpoint.ipynb) لتضمين هذه التغييرات.
راجع الخطوات التفصيلية لنشر النموذج المعدّل.
-
لاختبار نموذج YOLO26 المنشور على Amazon SageMaker:
- فتح دفتر الاختبار: حدّد دفتر الملاحظات
2_TestEndpoint.ipynbفي بيئة SageMaker Jupyter. - تشغيل دفتر الملاحظات: اتبع تعليمات دفتر الملاحظات لإرسال صورة إلى نقطة النهاية، وتنفيذ الاستدلال، وعرض النتائج.
- تصوّر النتائج: استخدم وظائف الرسم المدمجة لتصوّر مقاييس الأداء، مثل مربعات الإحاطة حول الكائنات المكتشفة.
للحصول على تعليمات اختبار شاملة، تفضّل بزيارة قسم الاختبار.
- فتح دفتر الاختبار: حدّد دفتر الملاحظات