Ultralytics YOLO27:

دليل نشر YOLO26 على نقاط نهاية Amazon SageMaker#

يفتح نشر نماذج الرؤية الحاسوبية المتقدمة مثل YOLO26 من Ultralytics على نقاط نهاية Amazon SageMaker نطاقًا واسعًا من الإمكانات لمختلف تطبيقات التعلّم الآلي. ويكمن مفتاح استخدام هذه النماذج بفعالية في فهم عمليات إعدادها وتهيئتها ونشرها. ويصبح YOLO26 أكثر قوة عند دمجه بسلاسة مع Amazon SageMaker، وهي خدمة تعلّم آلي قوية وقابلة للتوسّع تقدمها AWS.

سيرشدك هذا الدليل خطوة بخطوة خلال عملية نشر نماذج YOLO26 PyTorch على نقاط نهاية Amazon SageMaker. وستتعرّف على أساسيات إعداد بيئة AWS، وتهيئة النموذج بالشكل المناسب، واستخدام أدوات مثل AWS CloudFormation ومجموعة تطوير السحابة من AWS (CDK) للنشر.

Amazon SageMaker#

Amazon SageMaker ML platform architecture

Amazon SageMaker هي خدمة تعلّم آلي من Amazon Web Services (AWS) تُبسّط عملية إنشاء نماذج التعلّم الآلي وتدريبها ونشرها. وتوفر مجموعة واسعة من الأدوات للتعامل مع مختلف جوانب سير عمل التعلّم الآلي. ويشمل ذلك ميزات مؤتمتة لضبط النماذج، وخيارات لتدريب النماذج على نطاق واسع، وطرقًا مباشرة لنشر النماذج في بيئة الإنتاج. وتدعم SageMaker أطر عمل شائعة للتعلّم الآلي، مما يوفر المرونة اللازمة للمشروعات المتنوعة. كما تشمل ميزاتها وسم البيانات، وإدارة سير العمل، وتحليل الأداء.

نشر YOLO26 على نقاط نهاية Amazon SageMaker#

يتيح لك نشر YOLO26 على Amazon SageMaker استخدام بيئته المُدارة للاستدلال في الوقت الفعلي والاستفادة من ميزات مثل التوسّع التلقائي. ألقِ نظرة على بنية AWS أدناه.

AWS SageMaker YOLO training architecture

الخطوة 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 المنشورة. ويشمل ذلك إرسال صورة إلى نقطة النهاية وتشغيل عمليات الاستدلال. بعد ذلك، ارسم المخرجات لتصوير أداء النموذج ودقته، كما هو موضح أدناه.

Testing Results YOLO26

  • تنظيف الموارد: سيرشدك دفتر الاختبار أيضًا خلال عملية تنظيف نقطة النهاية والنموذج المستضاف. وتُعد هذه خطوة مهمة لإدارة التكاليف والموارد بفعالية، لا سيما إذا لم تكن تخطط لاستخدام النموذج المنشور فورًا.

الخطوة 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 لاكتشاف أدوات وإمكانات إضافية يمكنها تعزيز مشروعات التعلّم الآلي لديك.

الأسئلة الشائعة#

  • لنشر نموذج YOLO26 من Ultralytics على نقاط نهاية Amazon SageMaker، اتبع الخطوات التالية:

    1. إعداد بيئة AWS: تأكد من توفر حساب AWS، وأدوار IAM ذات الأذونات اللازمة، وتهيئة AWS CLI. ثبّت AWS CDK إذا لم تكن قد فعلت ذلك بالفعل (راجع تعليمات AWS CDK).
    2. استنساخ مستودع YOLO26 الخاص بـ SageMaker:
      git clone https://github.com/aws-samples/host-yolov8-on-sagemaker-endpoint.git
      cd host-yolov8-on-sagemaker-endpoint/yolov8-pytorch-cdk
    3. إعداد بيئة CDK: أنشئ بيئة Python افتراضية، وفعّلها، وثبّت التبعيات، ورقِّ مكتبة AWS CDK.
      python3 -m venv .venv
      source .venv/bin/activate
      pip3 install -r requirements.txt
      pip install --upgrade aws-cdk-lib
    4. النشر باستخدام AWS CDK: ولّد مكدس CloudFormation وانشره، ثم هيّئ البيئة.
      cdk synth
      cdk bootstrap
      cdk deploy

    لمزيد من التفاصيل، راجع قسم التوثيق.

  • لنشر YOLO26 على Amazon SageMaker، تأكد من توفر المتطلبات الأساسية التالية:

    1. حساب AWS: حساب AWS نشط (سجّل هنا).
    2. أدوار IAM: أدوار IAM مهيّأة ذات أذونات لـ SageMaker وCloudFormation وAmazon S3.
    3. AWS CLI: واجهة سطر أوامر AWS مثبتة ومهيّأة (دليل تثبيت AWS CLI).
    4. AWS CDK: مجموعة تطوير السحابة من AWS مثبتة (دليل إعداد CDK).
    5. حصص الخدمة: حصص كافية لمثيلات ml.m5.4xlarge لكل من استخدام نقطة النهاية والدفتر (طلب زيادة الحصة).

    للحصول على تفاصيل الإعداد، راجع هذا القسم.

  • يوفر استخدام YOLO26 من Ultralytics على Amazon SageMaker عدة مزايا:

    1. قابلية التوسّع والإدارة: توفر SageMaker بيئة مُدارة بميزات مثل التوسّع التلقائي، مما يساعد في تلبية احتياجات الاستدلال في الوقت الفعلي.
    2. التكامل مع خدمات AWS: التكامل بسلاسة مع خدمات AWS الأخرى، مثل S3 لتخزين البيانات، وCloudFormation باعتباره بنية تحتية كالرمز، وCloudWatch للمراقبة.
    3. سهولة النشر: إعداد مبسّط باستخدام نصوص AWS CDK البرمجية وعمليات نشر سلسة.
    4. الأداء: الاستفادة من البنية التحتية عالية الأداء في Amazon SageMaker لتشغيل مهام الاستدلال واسعة النطاق بكفاءة.

    تعرّف أكثر على مزايا استخدام SageMaker في قسم المقدمة.

  • نعم، يمكنك تخصيص منطق الاستدلال لـ YOLO26 على Amazon SageMaker:

    1. تعديل 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)
    2. نشر النموذج المحدّث: تأكد من إعادة نشر النموذج باستخدام دفاتر Jupyter المتوفرة (1_DeployEndpoint.ipynb) لتضمين هذه التغييرات.

    راجع الخطوات التفصيلية لنشر النموذج المعدّل.

  • لاختبار نموذج YOLO26 المنشور على Amazon SageMaker:

    1. فتح دفتر الاختبار: حدّد موقع دفتر 2_TestEndpoint.ipynb في بيئة Jupyter الخاصة بـ SageMaker.
    2. تشغيل الدفتر: اتبع تعليمات الدفتر لإرسال صورة إلى نقطة النهاية، وإجراء الاستدلال، وعرض النتائج.
    3. تصوير النتائج: استخدم وظائف الرسم المضمّنة لتصوير مقاييس الأداء، مثل مربعات الإحاطة حول الكائنات المكتشفة.

    للاطلاع على تعليمات الاختبار الشاملة، تفضل بزيارة قسم الاختبار.

التعليقات