إدارة جلسة حساب تدفق المطالبة في Azure التعلم الآلي studio

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

الأذونات والأدوار لإدارة جلسة الحساب

لتعيين الأدوار، تحتاج إلى الحصول owner Microsoft.Authorization/roleAssignments/write على أو إذن على المورد.

بالنسبة لمستخدمي جلسة الحساب، قم بتعيين AzureML Data Scientist الدور في مساحة العمل. لمعرفة المزيد، راجع إدارة الوصول إلى مساحة عمل Azure التعلم الآلي.

قد يستغرق تعيين الدور عدة دقائق حتى يصبح ساري المفعول.

بدء جلسة حساب في الاستوديو

قبل استخدام Azure التعلم الآلي studio لبدء جلسة حساب، تأكد من:

  • لديك AzureML Data Scientist الدور في مساحة العمل.
  • مخزن البيانات الافتراضي (عادة workspaceblobstore) في مساحة العمل هو نوع الكائن الثنائي كبير الحجم.
  • دليل العمل (workspaceworkingdirectory) موجود في مساحة العمل.
  • إذا كنت تستخدم شبكة ظاهرية لتدفق المطالبة، فإنك تفهم الاعتبارات في عزل الشبكة في تدفق المطالبة.

بدء جلسة حساب على صفحة تدفق

يرتبط تدفق واحد بجلسة حساب واحدة. يمكنك بدء جلسة حساب على صفحة تدفق.

  • حدد بدء. ابدأ جلسة حساب باستخدام البيئة المحددة في flow.dag.yaml مجلد التدفق، يتم تشغيله على حجم الجهاز الظاهري (VM) للحساب بلا خادم الذي لديك حصة نسبية كافية في مساحة العمل.

    لقطة شاشة لتدفق المطالبة مع الإعدادات الافتراضية لبدء جلسة حساب على صفحة تدفق.

  • حدد البدء بالإعدادات المتقدمة. في الإعدادات المتقدمة، يمكنك:

    • حدد نوع الحساب. يمكنك الاختيار بين الحوسبة بلا خادم ومثيل الحساب.
      • إذا اخترت حساب بلا خادم، يمكنك تعيين الإعدادات التالية:

        • تخصيص حجم الجهاز الظاهري الذي تستخدمه جلسة الحساب. اختر سلسلة VM D وما فوق. لمزيد من المعلومات، راجع القسم الخاص بسلسلة الأجهزة الظاهرية المدعومة والأحجام
        • تخصيص وقت الخمول، الذي يحذف جلسة الحساب تلقائيا إذا لم تكن قيد الاستخدام لفترة من الوقت.
        • تعيين الهوية المدارة المعينة من قبل المستخدم. تستخدم جلسة الحساب هذه الهوية لسحب صورة أساسية، ومصادقة مع الاتصال وتثبيت الحزم. تأكد من أن الهوية المدارة المعينة من قبل المستخدم لديها إذن كاف. إذا لم تقم بتعيين هذه الهوية، فإننا نستخدم هوية المستخدم بشكل افتراضي.

        لقطة شاشة لتدفق المطالبة مع إعدادات متقدمة باستخدام حساب بلا خادم لبدء جلسة حساب على صفحة تدفق.

        az ml workspace update -f workspace_update_with_multiple_UAIs.yml --subscription <subscription ID> --resource-group <resource group name> --name <workspace name>
        

        حيث تكون محتويات workspace_update_with_multiple_UAIs.yml كما يلي:

        identity:
           type: system_assigned, user_assigned
           user_assigned_identities:
            '/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<uai_name>': {}
            '<UAI resource ID 2>': {}
        

        تلميح

        تعيينات دور Azure RBAC التالية مطلوبة على الهوية المدارة المعينة من قبل المستخدم لمساحة عمل Azure التعلم الآلي للوصول إلى البيانات على الموارد المرتبطة بمساحة العمل.

        Resource الإذن
        مساحة عمل Azure Machine Learning مساهم
        تخزين Azure المساهم (مستوى التحكم) + Storage Blob Data Contributor + Storage File Data Privileged Contributor (مستوى البيانات، يستهلك مسودة التدفق في مشاركة الملفات والبيانات في blob)
        Azure Key Vault (عند استخدام نموذج إذن RBAC) المساهم (مستوى التحكم) + key Vault مسؤول istrator (مستوى البيانات)
        Azure Key Vault (عند استخدام نموذج إذن نهج الوصول) المساهم + أي أذونات نهج الوصول إلى جانب عمليات المسح
        Azure Container Registry مساهم
        Azure Application Insights مساهم
      • إذا اخترت مثيل الحساب كنوع حساب، يمكنك فقط تعيين وقت إيقاف التشغيل الخامل.

        • أثناء تشغيله على مثيل حساب موجود، يتم إصلاح حجم الجهاز الظاهري ولا يمكن تغييره في جانب الجلسة.

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

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

          لقطة شاشة لتدفق المطالبة مع إعدادات متقدمة باستخدام مثيل الحساب لبدء جلسة حساب على صفحة تدفق.

        • تعرف على المزيد حول كيفية إنشاء مثيل الحساب وإدارته

استخدام جلسة حساب لإرسال تشغيل تدفق في CLI/SDK

بالإضافة إلى الاستوديو، يمكنك أيضا تحديد جلسة الحساب في CLI/SDK عند إرسال تشغيل تدفق.

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

$schema: https://azuremlschemas.azureedge.net/promptflow/latest/Run.schema.json
flow: <path_to_flow>
data: <path_to_flow>/data.jsonl

# specify identity used by serverless compute.
# default value
# identity:
#   type: user_identity 

# use workspace first UAI
# identity:
#   type: managed
  
# use specified client_id's UAI
# identity:
#   type: managed
#   client_id: xxx

column_mapping:
  url: ${data.url}

# define cloud resource

resources:
  instance_type: <instance_type> # serverless compute type
  # compute: <compute_instance_name> # use compute instance as compute type

أرسل هذا التشغيل عبر CLI:

pfazure run create --file run.yml

إشعار

إيقاف التشغيل الخامل هو ساعة واحدة إذا كنت تستخدم CLI/SDK لإرسال تشغيل تدفق. يمكنك الانتقال إلى صفحة الحوسبة لتحرير الحساب

الملفات المرجعية خارج مجلد التدفق

في بعض الأحيان، قد تحتاج إلى الرجوع requirements.txt إلى ملف خارج مجلد التدفق. على سبيل المثال، قد يكون لديك مشروع معقد يتضمن تدفقات متعددة، ويشاركون نفس requirements.txt الملف. للقيام بذلك، يمكنك إضافة هذا الحقل additional_includes إلى flow.dag.yaml. قيمة هذا الحقل هي قائمة بمسار الملف/المجلد النسبي إلى مجلد التدفق. على سبيل المثال، إذا كان requirements.txt في المجلد الأصل لمجلد التدفق، يمكنك الإضافة ../requirements.txt إلى additional_includes الحقل.

inputs:
  question:
    type: string
outputs:
  output:
    type: string
    reference: ${answer_the_question_with_context.output}
environment:
  python_requirements_txt: requirements.txt
additional_includes:
  - ../requirements.txt
...

requirements.txt يتم نسخ الملف إلى مجلد التدفق، واستخدامه لبدء جلسة الحساب.

تحديث جلسة حساب على صفحة تدفق الاستوديو

في صفحة التدفق، يمكنك استخدام الخيارات التالية لإدارة جلسة حساب:

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

لقطة شاشة للإجراءات لجلسة حساب على صفحة تدفق.

يمكنك أيضا تخصيص البيئة التي تستخدمها لتشغيل هذا التدفق عن طريق إضافة حزم في requirements.txt الملف في مجلد التدفق. بعد إضافة المزيد من الحزم في هذا الملف، يمكنك اختيار أي من هذين الخيارين:

  • حفظ المشغلات وتثبيتها pip install -r requirements.txt في مجلد التدفق. قد تستغرق العملية بضع دقائق، اعتمادا على الحزم التي تقوم بتثبيتها.
  • حفظ فقط يحفظ requirements.txt الملف. يمكنك تثبيت الحزم لاحقا بنفسك.

لقطة شاشة لخيار حفظ الحزم وتثبيتها لجلسة حساب على صفحة تدفق.

إشعار

يمكنك تغيير الموقع وحتى اسم requirements.txtملف ، ولكن تأكد من تغييره أيضا في flow.dag.yaml الملف في مجلد التدفق.

لا تقم بتثبيت إصدار و promptflow promptflow-tools في requirements.txt، لأننا نقوم بتضمينها بالفعل في الصورة الأساسية لجلسة العمل.

requirements.txt لن يدعم ملفات العجلة المحلية. قم ببنائها في صورتك وتحديث الصورة الأساسية المخصصة في flow.dag.yaml. تعرف على المزيد حول كيفية إنشاء صورة أساسية مخصصة.

إضافة حزم في موجز خاص في Azure DevOps

إذا كنت ترغب في استخدام موجز خاص في Azure DevOps، فاتبع الخطوات التالية:

  1. تعيين الهوية المدارة إلى مساحة العمل أو مثيل الحساب.

    1. استخدم الحوسبة بلا خادم كجلسة حساب، تحتاج إلى تعيين هوية مدارة معينة من قبل المستخدم إلى مساحة العمل.

      1. إنشاء هوية مدارة يعينها المستخدم وإضافة هذه الهوية في مؤسسة Azure DevOps. لمعرفة المزيد، راجع استخدام كيانات الخدمة والهويات المدارة.

        إشعار

        إذا لم يكن الزر إضافة مستخدمين مرئيا، فمن المحتمل أنه ليس لديك الأذونات اللازمة لتنفيذ هذا الإجراء.

      2. إضافة الهويات المعينة من قبل المستخدم إلى مساحة عمل أو تحديثها.

        إشعار

        يرجى التأكد من أن الهوية المدارة المعينة من قبل المستخدم تحتوي Microsoft.KeyVault/vaults/read على keyvault المرتبطة بمساحة العمل.

    2. استخدم مثيل الحساب كجلسة حساب، تحتاج إلى تعيين هوية مدارة يعينها المستخدم لمثيل حساب.

  2. أضف {private} إلى عنوان URL للموجز الخاص بك. على سبيل المثال، إذا كنت تريد التثبيت test_package من test_feed في Azure DevOps، أضف -i https://{private}@{test_feed_url_in_azure_devops} في requirements.txt:

    -i https://{private}@{test_feed_url_in_azure_devops}
    test_package
    
  3. حدد استخدام الهوية المدارة المعينة من قبل المستخدم في تكوين جلسة الحساب.

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

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

    2. إذا كنت تستخدم مثيل الحساب، فإنه يستخدم الهوية المدارة المعينة من قبل المستخدم التي قمت بتعيينها إلى مثيل الحساب.

إشعار

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

تغيير الصورة الأساسية لجلسة الحساب

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

  • في الاستوديو، يمكنك تغيير الصورة الأساسية في إعدادات الصورة الأساسية ضمن إعدادات جلسة الحساب.

لقطة شاشة لتغيير الصورة الأساسية لجلسة حساب على صفحة تدفق.

  • يمكنك أيضا تحديد الصورة الأساسية الجديدة ضمن environment في flow.dag.yaml الملف في مجلد التدفق.

    لقطة شاشة لإجراءات تخصيص صورة أساسية لجلسة حساب على صفحة تدفق.

    environment:
        image: <your-custom-image>
        python_requirements_txt: requirements.txt
    

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

إدارة مثيل بلا خادم تستخدمه جلسة الحساب

عند استخدام الحوسبة بلا خادم كجلسة حساب، يمكنك إدارة المثيل بلا خادم. عرض المثيل بلا خادم في علامة تبويب قائمة جلسة الحساب في صفحة الحوسبة.

لقطة شاشة لقائمة مثيل بلا خادم.

يمكنك أيضا الوصول إلى التدفقات والتشغيلات التي تعمل على الحساب ضمن علامة التبويب Active flows and runs . كما يؤثر حذف المثيل على التدفق ويعمل عليه.

لقطة شاشة لصفحة تفاصيل الحساب لمثيل بلا خادم.

العلاقة بين جلسة الحساب ومورد الحساب والتدفق والمستخدم

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

تبديل وقت التشغيل لحساب جلسة العمل

تتمتع جلسات الحساب بالمزايا التالية عبر أوقات تشغيل مثيل الحساب:

  • إدارة دورة حياة الجلسة والحوسبة الأساسية تلقائيا. لست بحاجة إلى إنشائها وإدارتها يدويا بعد الآن.
  • يمكنك تخصيص الحزم بسهولة عن طريق إضافة حزم في requirements.txt الملف في مجلد التدفق، بدلا من إنشاء بيئة مخصصة.

قم بتبديل وقت تشغيل مثيل الحساب إلى جلسة حساب باستخدام الخطوات التالية:

  • requirements.txt قم بإعداد الملف في مجلد التدفق. تأكد من عدم تثبيت إصدار promptflow و promptflow-tools في requirements.txt، لأننا نقوم بتضمينها بالفعل في الصورة الأساسية. تقوم جلسة الحساب بتثبيت الحزم في requirements.txt الملف عند بدء تشغيلها.
  • إذا قمت بإنشاء بيئة مخصصة لإنشاء وقت تشغيل مثيل حساب، يمكنك الحصول على الصورة من صفحة تفاصيل البيئة، وتحديدها في flow.dag.yaml الملف في مجلد التدفق. لمعرفة المزيد، راجع تغيير الصورة الأساسية لجلسة الحساب. تأكد من أن لديك أو للمستخدم ذي الصلة الهوية المدارة المعينة على مساحة acr pull العمل إذن للصورة.

لقطة شاشة للبحث عن صورة في صفحة تفاصيل البيئة.

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

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