مشاركة عبر


البرنامج التعليمي: إنشاء صور باستخدام وحدات معالجة الرسومات بلا خادم في Azure Container Apps

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

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

نفذت في هذا البرنامج التعليمي:

  • إنشاء تطبيق حاوية وبيئة جديدة
  • تكوين البيئة لاستخدام وحدات معالجة الرسومات بلا خادم
  • نشر تطبيقك في Azure Container Apps
  • استخدام تطبيق تمكين GPU بلا خادم جديد
  • تمكين تدفق البيانات الاصطناعية لتقليل البدء البارد لوحدة معالجة الرسومات

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

مورد ‏‏الوصف
حساب Azure تحتاج إلى حساب "Azure" مع اشتراك مفعل. إذا لم يكن لديك مثل هذا الحساب، فيمكنك إنشاء واحد مجانًا.
الوصول إلى وحدات معالجة الرسومات بلا خادم لا يتوفر الوصول إلى وحدات معالجة الرسومات إلا بعد طلب حصص GPU. يمكنك إرسال طلب الحصة النسبية لوحدة معالجة الرسومات عبر حالة دعم العملاء.
مورد ‏‏الوصف
حساب Azure تحتاج إلى حساب "Azure" مع اشتراك مفعل. إذا لم يكن لديك مثل هذا الحساب، فيمكنك إنشاء واحد مجانًا.
الوصول إلى وحدات معالجة الرسومات بلا خادم لا يتوفر الوصول إلى وحدات معالجة الرسومات إلا بعد طلب حصص GPU. يمكنك إرسال طلب الحصة النسبية لوحدة معالجة الرسومات عبر حالة دعم العملاء.
Azure CLI قم بتثبيت Azure CLI أو قم بالترقية إلى أحدث إصدار.

إنشاء تطبيق الحاوية

  1. انتقل إلى مدخل Microsoft Azure وابحث عن Container Apps وحددها.

  2. حدد إنشاء ثم حدد تطبيق الحاوية.

  3. في نافذة Basics ، أدخل القيم التالية في كل قسم.

    ضمن Project details أدخل القيم التالية:

    الإعداد القيمة‬
    الاشتراك حدد اشتراك Azure الخاص بك.
    مجموعة الموارد حدد Create new وأدخل my-gpu-demo-group.
    اسم تَطبيق الحاوية أدخل my-gpu-demo-app.
    مصدر التوزيع حدد صورة الحاوية.

    ضمن Container Apps environment أدخل القيم التالية:

    الإعداد القيمة‬
    المنطقة حدد وسط السويد.

    لمزيد من المناطق المدعومة، راجع استخدام وحدات معالجة الرسومات بلا خادم في Azure.
    بيئة Container Apps حدد إنشاء جديد.

    في نافذة إنشاء بيئة تطبيقات الحاوية، أدخل القيم التالية:

    الإعداد القيمة‬
    اسم البيئة أدخل my-gpu-demo-env.

    حدد إنشاء.

    حدد Next: Container >.

  4. في نافذة Container ، أدخل القيم التالية:

    الإعداد القيمة‬
    الاسم أدخل my-gpu-demo-container.
    مصدر الصورة حدد Docker Hub أو السجلات الأخرى.
    نوع الصورة حدد public.
    خادم تسجيل الدخول للسجل أدخل mcr.microsoft.com.
    الصورة والعلامة أدخل k8se/gpu-quickstart:latest.
    ملف تعريف حمل العمل حدد الاستهلاك - ما يصل إلى 4 وحدات معالجة مركزية افتراضية وذاكرة 8 جيجابايت.
    الجرافيك حدد خانة الاختيار.
    نوع وحدة معالجة الرسومات حدد Consumption-GPU-NC8as-T4 - ما يصل إلى 8 وحدات معالجة مركزية افتراضية وذاكرة 56 غيغابايت وحدد الارتباط لإضافة ملف التعريف إلى بيئتك.

    حدد Next: Ingress >.

  5. في نافذة الدخول ، أدخل القيم التالية:

    الإعداد القيمة‬
    دخول حدد مربع الاختيار ممكّن.
    استخدام الشبكة الداخل:⁦⁩ حدد الزر التبادلي قبول نسبة استخدام الشبكة من أي مكان.
    المنفذ الهدف أدخِل 80.
  6. حدد "Review + create".

  7. حدد إنشاء.

  8. انتظر بضع لحظات حتى يكتمل النشر ثم حدد Go to resource.

    قد تستغرق هذه العملية ما يصل إلى خمس دقائق حتى تكتمل.

استخدام تطبيق GPU الخاص بك

من نافذة Overview، حدد رابط Application Url لفتح الواجهة الأمامية لتطبيق الويب في المتصفح الخاص بك واستخدام تطبيق GPU.

إشعار

  • لتحقيق أفضل أداء لتطبيقات وحدة معالجة الرسومات، اتبع الخطوات لتحسين البداية الباردة لوحدات معالجة الرسومات بلا خادم.
  • عند وجود حاويات متعددة في التطبيق الخاص بك، تحصل الحاوية الأولى على حق الوصول إلى GPU.

إنشاء متغيرات البيئة

حدد متغيرات البيئة التالية. قبل تشغيل هذا الأمر ، استبدل القيم <PLACEHOLDERS> الخاصة بك.

RESOURCE_GROUP="<RESOURCE_GROUP>"
ENVIRONMENT_NAME="<ENVIRONMENT_NAME>"
LOCATION="swedencentral"
CONTAINER_APP_NAME="<CONTAINER_APP_NAME>"
CONTAINER_IMAGE="mcr.microsoft.com/k8se/gpu-quickstart:latest"
WORKLOAD_PROFILE_NAME="NC8as-T4"
WORKLOAD_PROFILE_TYPE="Consumption-GPU-NC8as-T4"

إنشاء تطبيق الحاوية

  1. قم بإنشاء مجموعة الموارد لاحتواء الموارد التي تقوم بإنشائها في هذا البرنامج التعليمي. يجب إخراج Succeededهذا الأمر .

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    
  2. قم بإنشاء بيئة تطبيقات الحاويات لاستضافة تطبيق الحاوية الخاص بك. يجب إخراج Succeededهذا الأمر .

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    
  3. أضف ملف تعريف حمل العمل إلى بيئتك.

    az containerapp env workload-profile add \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --workload-profile-type $WORKLOAD_PROFILE_TYPE
    
  4. قم بإنشاء تطبيق الحاوية الخاص بك.

    az containerapp create \
      --name $CONTAINER_APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --environment $ENVIRONMENT_NAME \
      --image $CONTAINER_IMAGE \
      --target-port 80 \
      --ingress external \
      --cpu 8.0 \
      --memory 56.0Gi \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --query properties.configuration.ingress.fqdn
    

    يقوم هذا الأمر بإخراج عنوان URL للتطبيق لتطبيق الحاوية الخاص بك.

استخدام تطبيق GPU الخاص بك

افتح عنوان URL للتطبيق لتطبيق الحاوية في متصفحك. لاحظ أن بدء تشغيل تطبيق الحاوية قد يستغرق ما يصل إلى خمس دقائق.

يتيح لك تطبيق Azure Container Apps with Serverless GPUs إدخال مطالبة لإنشاء صورة. يمكنك أيضا ببساطة تحديد Generate Image استخدام المطالبة الافتراضية. في الخطوة التالية ، يمكنك عرض نتائج معالجة GPU.

إشعار

  • لتحقيق أفضل أداء لتطبيقات وحدة معالجة الرسومات، اتبع الخطوات لتحسين البداية الباردة لوحدات معالجة الرسومات بلا خادم.
  • عند وجود حاويات متعددة في التطبيق الخاص بك، تحصل الحاوية الأولى على حق الوصول إلى GPU.

مراقبة وحدة معالجة الرسومات

بمجرد إنشاء صورة، استخدم الخطوات التالية لعرض نتائج معالجة وحدة معالجة الرسومات:

  1. افتح تطبيق الحاوية في مدخل Microsoft Azure.

  2. من قسم Monitoring ، حدد Console.

  3. حدد النسخة المتماثلة الخاصة بك.

  4. حدد الحاوية الخاصة بك.

  5. حدد إعادة الاتصال.

  6. في نافذة الأمر Choose start up، حدد /bin/bash، وحدد Connect.

  7. بمجرد إعداد shell، أدخل الأمر nvidia-smi لمراجعة حالة وحدة معالجة الرسومات وإخراجها.

تنظيف الموارد

الموارد التي تم إنشاؤها في هذا البرنامج التعليمي لها تأثير على فاتورة Azure.

إذا كنت لن تستخدم هذه الخدمات على المدى الطويل، فاستخدم الخطوات لإزالة كل شيء تم إنشاؤه في هذا البرنامج التعليمي.

  1. في مدخل Microsoft Azure، ابحث عن Resource Groups وحددها.

  2. حدد my-gpu-demo-group.

  3. حدد Delete resource group.

  4. في مربع التأكيد، أدخل my-gpu-demo-group.

  5. حدد حذف.

قم بتشغيل الأمر التالي.

az group delete --name $RESOURCE_GROUP

الخطوات التالية