دليل نشر YOLO26 على نقاط نهاية Amazon SageMaker#
يفتح نشر نماذج computer vision المتقدمة مثل نموذج Ultralytics' YOLO26 على نقاط نهاية Amazon SageMaker آفاقاً واسعة لمختلف تطبيقات machine learning. يكمن مفتاح الاستخدام الفعّال لهذه النماذج في فهم عمليات إعدادها، وضبطها، ونشرها. تصبح نماذج YOLO26 أكثر قوة عند دمجها بسلاسة مع Amazon SageMaker، وهي خدمة تعلّم ماشين ليرنينج قوية وقابلة للتوسعة مُقدَّمة من AWS.
سيأخذك هذا الدليل خلال عملية نشر نماذج YOLO26 PyTorch على نقاط نهاية Amazon SageMaker خطوة بخطوة. ستتعلم أساسيات إعداد بيئة AWS الخاصة بك، وضبط النموذج بشكل مناسب، واستخدام أدوات مثل AWS CloudFormation وحزمة تطوير البرمجيات AWS Cloud Development Kit (CDK) للنشر.
Amazon SageMaker#
Amazon SageMaker هي خدمة تعلّم آلي من أمازون وبد-سيرفيسيز (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. حدد "Notebook Instances" من لوحة التحكم، ثم حدد موقع مثيل الجهاز الدفتري الذي تم إنشاؤه بواسطة نص النشر البرمجي CDK الخاص بك. افتح مثيل الجهاز الدفتري للوصول إلى بيئة Jupyter.
-
الوصول إلى inference.py وتعديله: بعد فتح مثيل SageMaker الدفتري في Jupyter، حدد موقع ملف inference.py. قم بتحرير دالة output_fn في ملف inference.py كما هو موضح أدناه واحفظ تغييراتك في النص البرمجي، مع التأكد من عدم وجود أخطاء في بناء الجملة.
import json def output_fn(prediction_output): """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 المُنشأة. يتضمن ذلك إرسال صورة إلى نقطة النهاية وتشغيل الاستدلالات. بعد ذلك، ستقوم برسم الناتج لتصور أداء النموذج وaccuracy، كما هو موضح أدناه.
- تنظيف الموارد: سيرشدك دفتر ملاحظات الاختبار أيضاً خلال عملية تنظيف نقطة النهاية والنموذج المستضاف. هذه خطوة مهمة لإدارة التكاليف والموارد بفعالية، خاصة إذا كنت لا تخطط لاستخدام النموذج المنشور على الفور.
الخطوة 7: المراقبة والإدارة#
بعد الاختبار، تعد المراقبة المستمرة وإدارة نموذجك المنشور أمراً ضرورياً.
-
المراقبة باستخدام Amazon CloudWatch: تحقق بانتظام من أداء وصحة نقطة نهاية SageMaker الخاصة بك باستخدام Amazon CloudWatch.
-
إدارة نقطة النهاية: استخدم وحدة تحكم SageMaker للإدارة المستمرة لنقطة النهاية. يتضمن ذلك القياس أو التحديث أو إعادة نشر النموذج حسب الحاجة.
بإكمال هذه الخطوات، ستكون قد قمت بنشر واختبار نموذج YOLO26 بنجاح على نقاط نهاية Amazon SageMaker. لا تمنحك هذه العملية خبرة عملية في استخدام خدمات AWS لنشر التعلم الآلي فحسب، بل تضع أيضاً الأساس لنشر نماذج متقدمة أخرى في المستقبل.
ملخص#
أخذك هذا الدليل خطوة بخطوة خلال نشر YOLO26 على نقاط نهاية Amazon SageMaker باستخدام AWS CloudFormation و AWS Cloud Development Kit (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): """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() # Add more processing logic if necessary return json.dumps(infer) -
نشر النموذج المحدث: تأكد من إعادة نشر النموذج باستخدام دفاتر Jupyter المرفقة (
1_DeployEndpoint.ipynb) لتضمين هذه التغييرات.
راجع الخطوات المفصلة لنشر النموذج المُعدّل.
-
لاختبار نموذج YOLO26 المنشور على Amazon SageMaker:
- افتح دفتر الملاحظات التجريبي: حدد موقع دفتر الملاحظات
2_TestEndpoint.ipynbفي بيئة SageMaker Jupyter. - تشغيل دفتر الملاحظات: اتبع تعليمات دفتر الملاحظات لإرسال صورة إلى نقطة النهاية، وإجراء الاستدلال، وعرض النتائج.
- تصور النتائج: استخدم وظائف الرسم المضمنة لتصور مقاييس الأداء، مثل المربعات المحيطة حول الأشياء المكتشفة.
للحصول على تعليمات اختبار شاملة، تفضل بزيارة قسم الاختبار.
- افتح دفتر الملاحظات التجريبي: حدد موقع دفتر الملاحظات