الترقية إلى الإصدار 2

تقدم واجهات برمجة تطبيقات REST الإصدار 2 من Azure التعلم الآلي وملحق Azure CLI وPython SDK التناسق ومجموعة من الميزات الجديدة لتسريع دورة حياة التعلم الآلي للإنتاج. توفر هذه المقالة نظرة عامة حول الترقية إلى الإصدار 2 مع توصيات لمساعدتك في اتخاذ قرار بشأن v1 أو v2 أو كليهما.

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

  • الإلمام العام ب Azure التعلم الآلي وv1 Python SDK.
  • هل تفهم ما هو v2؟

هل يجب أن أستخدم v2؟

يجب عليك استخدام الإصدار 2 إذا كنت تبدأ مشروع تعلم آلي جديد أو سير عمل جديد. يجب عليك استخدام v2 إذا كنت تريد استخدام الميزات الجديدة المعروضة في الإصدار 2. وتشمل الميزات الآتي:

  • الاستدلال المدار
  • المكونات التي يعاد استخدامها في خطوط التدفق
  • جدولة محسنة للبنية الأساسية لبرنامج ربط العمليات التجارية
  • لوحة معلومات الذكاء الاصطناعي المسؤول
  • سجل الأصول

يمكن لمشروع v2 جديد إعادة استخدام موارد v1 الموجودة مثل مساحات العمل والحوسبة والأصول الموجودة مثل النماذج والبيئات التي تم إنشاؤها باستخدام v1.

تتضمن بعض فجوات الميزات في الإصدار 2 ما يلي:

  • دعم Spark في الوظائف - هذا قيد المعاينة حاليا في الإصدار 2.
  • نشر المهام (البنية الأساسية لبرنامج ربط العمليات التجارية في v1) كنقاط نهاية. ومع ذلك، يمكنك جدولة المسارات دون نشر.
  • دعم مخازن بيانات SQL/قاعدة البيانات.
  • القدرة على استخدام المكونات الكلاسيكية التي تم إنشاؤها مسبقا في المصمم مع v2.

يجب عليك بعد ذلك التأكد من أن الميزات التي تحتاجها في v2 تفي بمتطلبات مؤسستك، مثل توفرها بشكل عام.

هام

سيتم تشغيل الميزات الجديدة في Azure التعلم الآلي فقط في الإصدار 2.

ما هي واجهة برمجة التطبيقات v2 التي يجب أن أستخدمها؟

في واجهات v2 عبر واجهة برمجة تطبيقات REST وCLI وPython SDK متوفرة. تعتمد الواجهة التي يجب استخدامها على السيناريو والتفضيلات الخاصة بك.

واجهة برمجة التطبيقات (API) ملاحظات
REST أقل التبعيات والنفقات العامة. يستخدم لإنشاء التطبيقات على Azure التعلم الآلي كمنصة، مباشرة في لغات البرمجة دون توفير SDK، أو حسب التفضيل الشخصي.
CLI يوصى به للأتمتة باستخدام CI/CD أو لكل تفضيل شخصي. يسمح بالتكرار السريع مع ملفات YAML والفصل المباشر بين التعليمات البرمجية لنموذج Azure التعلم الآلي وML.
Python SDK يوصى به للبرمجة النصية المعقدة (على سبيل المثال، إنشاء مهام البنية الأساسية لبرنامج ربط العمليات التجارية الكبيرة) أو حسب التفضيل الشخصي. يسمح بالتكرار السريع مع ملفات YAML أو التطوير فقط في Python.

تعيين Python SDK v1 إلى v2

راجع كل من المقالات التالية لتعيين رمز المقارنة ل SDK v1 مقابل v2.

الموارد والأصول مقالة
مساحة عمل إدارة مساحة العمل في SDK v1 وSDK v2
مخزن بيانات إدارة مخزن البيانات في SDK v1 وSDK v2
بيانات أصول البيانات في SDK v1 وv2
Compute إدارة الحساب في SDK v1 وSDK v2
التدريب تشغيل برنامج نصي
التدريب عمليات التشغيل المحلية
التدريب ضبط المعلمة الفائقة
التدريب تشغيل متوازي
التدريب خطوط الانابيب
التدريب AutoML
النماذج إدارة النموذج في SDK v1 وSDK v2
التوزيع ترقية نقاط نهاية النشر إلى SDK v2

الموارد والأصول في v1 وv2

يقدم هذا القسم نظرة عامة على موارد وأصول محددة في Azure التعلم الآلي. راجع مقالة المفهوم لكل كيان للحصول على تفاصيل حول استخدامها في v2.

مساحة عمل

لا تحتاج مساحات العمل إلى الترقية باستخدام الإصدار 2. يمكنك استخدام نفس مساحة العمل، بغض النظر عما إذا كنت تستخدم v1 أو v2.

إذا قمت بإنشاء مساحات عمل باستخدام التشغيل التلقائي، ففكر في ترقية التعليمات البرمجية لإنشاء مساحة عمل إلى الإصدار 2. عادة ما تتم إدارة موارد Azure عبر Azure Resource Manager (وBicep) أو أدوات توفير الموارد المماثلة. بدلا من ذلك، يمكنك استخدام ملفات CLI (v2) وYAMML.

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع إدارة مساحة العمل في SDK v1 وSDK v2.

هام

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

الاتصال (اتصال مساحة العمل في v1)

يتم الاحتفاظ باتصالات مساحة العمل من v1 على مساحة العمل، وهي متوفرة بالكامل مع v2.

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع إدارة مساحة العمل في SDK v1 وSDK v2.

مخزن بيانات

أنواع مخزن بيانات تخزين الكائنات التي تم إنشاؤها باستخدام v1 متاحة بالكامل للاستخدام في v2. مخازن بيانات قاعدة البيانات غير مدعومة؛ التصدير إلى تخزين الكائن (عادة كائن ثنائي كبير الحجم من Azure) هو مسار الترحيل الموصى به.

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع إدارة مخزن البيانات في SDK v1 وSDK v2.

البيانات (مجموعات البيانات في v1)

تتم إعادة تسمية مجموعات البيانات إلى أصول البيانات. يتم توفير التوافق مع الإصدارات السابقة، ما يعني أنه يمكنك استخدام مجموعات البيانات V1 في V2. عند استهلاك مجموعة بيانات V1 في وظيفة V2، ستلاحظ أنه يتم تعيينها تلقائيا إلى أنواع V2 كما يلي:

  • V1 FileDataset = مجلد V2 (uri_folder)
  • V1 TabularDataset = V2 Table (mltable)

تجدر الإشارة إلى أنه لم يتم توفير التوافق مع إعادة التوجيه، ما يعني أنه لا يمكنك استخدام أصول بيانات V2 في V1.

تتناول هذه المقالة المزيد حول معالجة البيانات في الإصدار 2 - قراءة البيانات وكتابتها في وظيفة

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع أصول البيانات في SDK v1 وv2.

Compute

حساب من النوع AmlCompute و ComputeInstance متاح بالكامل للاستخدام في v2.

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع إدارة الحوسبة في SDK v1 وSDK v2.

المهام (التجارب، التشغيل، البنية الأساسية لبرنامج ربط العمليات التجارية في v1)

في v2، يتم دمج "التجارب" و"التشغيل" و"البنية الأساسية لبرنامج ربط العمليات التجارية" في المهام. المهمة لها نوع. معظم المهام هي command المهام التي تقوم بتشغيل أمر، مثل python main.py. ما يتم تشغيله في المهمة غير محدد لأي لغة برمجة، حتى تتمكن من تشغيل bash البرامج النصية أو استدعاء python المترجمين الفوريين أو تشغيل مجموعة من الأوامر curl أو أي شيء آخر. نوع شائع آخر من المهام هو pipeline، الذي يحدد المهام التابعة التي قد تكون لها علاقات إدخال/إخراج، ما يشكل رسما بيانيا ودوريا موجها (DAG).

للمقارنة بين التعليمات البرمجية SDK v1 وv2، راجع

المصمم

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

يمكنك الاستمرار في استخدام المصمم لإنشاء البنية الأساسية لبرنامج ربط العمليات التجارية باستخدام المكونات الكلاسيكية التي تم إنشاؤها مسبقا وأنواع مجموعات البيانات v1 (جدولي، ملف). لا يمكنك استخدام المكونات الكلاسيكية التي تم إنشاؤها مسبقا للمصمم الحالي مع أصل بيانات v2.

لا يمكنك إنشاء مسار باستخدام كل من المكونات الكلاسيكية المصممة مسبقا والمكونات المخصصة v2.

النموذج

يمكن استخدام النماذج التي تم إنشاؤها من v1 في v2.

للمقارنة بين التعليمات البرمجية ل SDK v1 وv2، راجع إدارة النموذج في SDK v1 وSDK v2

نقطة النهاية والنشر (نقطة النهاية وخدمة الويب في الإصدار 1)

باستخدام SDK/CLI v1، يمكنك نشر النماذج على ACI أو AKS كخدمات ويب. ستستمر عمليات نشر نموذج الإصدار 1 الحالي وخدمات الويب في العمل كما هي، ولكن استخدام SDK/CLI v1 لنشر النماذج على ACI أو AKS كخدمات ويب يعتبر الآن قديما. بالنسبة إلى عمليات نشر النموذج الجديدة، نوصي بالترقية إلى الإصدار 2. في الإصدار 2، نقدم نقاط النهاية المدارة أو نقاط نهاية Kubernetes. يرشد الجدول التالي توصيتنا:

نوع نقطة النهاية في v2 الترقية من ملاحظات
محلي ACI اختبار سريع لتوزيع النموذج محليا؛ ليس للإنتاج.
نقطة النهاية المدارة عبر الإنترنت ACI، AKS البنية الأساسية لتوزيع النموذج المدار على مستوى المؤسسة مع استجابات قريبة من الوقت الحقيقي والتحجيم الهائل للإنتاج.
نقطة نهاية الدفعة المدارة ParallelRunStep في مسار لتسجيل الدفعات البنية الأساسية لنشر النموذج المُدار على مستوى المؤسسة مع معالجة دفعية متوازية على نطاق واسع للإنتاج.
خدمة Azure Kubernetes ‏(AKS) ACI، AKS إدارة نظام مجموعة (مجموعات) AKS الخاصة بك لتوزيع النموذج، مما يمنح المرونة والتحكم الدقيق على حساب النفقات العامة لـ تكنولوجيا المعلومات.
Azure Arc Kubernetes ‏‫غير متوفر‬ إدارة مجموعة (مجموعات) Kubernetes الخاصة بك في السحب الأخرى أو في الإعدادات الداخلية، ما يمنح المرونة والتحكم الدقيق على حساب حمل تكنولوجيا المعلومات.

للمقارنة بين التعليمات البرمجية ل SDK v1 وv2، راجع ترقية نقاط نهاية التوزيع إلى SDK v2. للحصول على خطوات الترحيل من خدمات الويب ACI الحالية إلى نقاط النهاية المدارة عبر الإنترنت، راجع مقالة دليل الترقية ومدونتنا.

البيئة

يمكن استخدام البيئات التي تم إنشاؤها من v1 في v2. في v2، تحتوي البيئات على ميزات جديدة مثل الإنشاء من سياق Docker محلي.

إدارة البيانات السرية

تختلف إدارة أسرار Key Vault بشكل كبير في الإصدار 2 مقارنة ب V1. لا تتوفر أساليب V1 set_secret وSDK get_secret في الإصدار 2. بدلا من ذلك، يجب استخدام الوصول المباشر باستخدام مكتبات عميل Key Vault.

للحصول على تفاصيل حول Key Vault، راجع استخدام بيانات اعتماد المصادقة السرية في وظائف التدريب التعلم الآلي Azure.

السيناريوهات عبر دورة حياة التعلم الآلي

هناك بعض السيناريوهات الشائعة عبر دورة حياة التعلم الآلي باستخدام Azure التعلم الآلي. سننظر في عدد قليل ونقدم توصيات عامة للترقية إلى الإصدار 2.

إعداد Azure

توصي Azure بقوالب Azure Resource Manager (غالبا عبر Bicep لتسهيل الاستخدام) لإنشاء الموارد. الشيء نفسه هو نهج جيد لإنشاء موارد Azure التعلم الآلي أيضا.

إذا كان فريقك يستخدم Azure التعلم الآلي فقط، فقد تفكر في توفير مساحة العمل وأي موارد أخرى عبر ملفات YAML وCLI بدلا من ذلك.

نماذج النماذج الأولية

نوصي v2 لنماذج النماذج الأولية. قد تفكر في استخدام CLI للاستخدام التفاعلي ل Azure التعلم الآلي، بينما التعليمة البرمجية لتدريب النموذج الخاص بك هي Python أو أي لغة برمجة أخرى. بدلا من ذلك، يمكنك اعتماد نهج المكدس الكامل مع Python فقط باستخدام Azure التعلم الآلي SDK أو نهج مختلط مع Azure التعلم الآلي Python SDK وملفات YAML.

تدريب نموذج الإنتاج

نوصي بv2 لتدريب نموذج الإنتاج. تعمل المهام على دمج المصطلحات وتوفير مجموعة من التناسق التي تسمح بتحول أسهل بين الأنواع (على سبيل المثال، command إلى sweep) وعملية GitOps سهلة لتسلسل المهام في ملفات YAML.

باستخدام v2، يجب فصل التعليمات البرمجية للتعلم الآلي عن التعليمة البرمجية لوحدة التحكم. يسمح هذا الفصل بالتكرار الأسهل ويسمح بتحول أسهل بين المحلي والسحابة. نوصي أيضا باستخدام MLflow للتعقب وتسجيل النموذج. راجع مقالة مفهوم MLflow للحصول على التفاصيل.

توزيع نموذج الإنتاج

نوصي بv2 لتوزيع نموذج الإنتاج. تقوم نقاط النهاية المدارة بتجريد حمل تكنولوجيا المعلومات وتوفير حل أداء لتوزيع النماذج وتسجيلها، سواء للسيناريوهات عبر الإنترنت (في الوقت الفعلي تقريبا) والدفعة (المتوازية على نطاق واسع).

يتم دعم عمليات توزيع Kubernetes في v2 من خلال AKS أو Azure Arc، ما يتيح عمليات التوزيع السحابية والأماكن المحلية التي تديرها مؤسستك.

عمليات التعلم الآلي (MLOps)

يتضمن سير عمل MLOps عادة CI/CD من خلال أداة خارجية. عادة ما يتم استخدام CLI في CI/CD، على الرغم من أنه يمكنك بدلا من ذلك استدعاء Python أو استخدام REST مباشرة.

يتم تطوير مسرع الحل لـ MLOps مع v2 في https://github.com/Azure/mlops-v2 ويمكن استخدامه كمرجع أو اعتماده لإعداد وأتمتة دورة حياة التعلم الآلي.

ملاحظة على GitOps مع v2

نموذج رئيسي مع v2 هو تسلسل كيانات التعلم الآلي كملفات YAML للتحكم في المصدر مع git، مما يتيح نهج GitOps أفضل مما كان ممكنا مع v1. على سبيل المثال، يمكنك فرض النهج الذي يمكن من خلاله فقط لمدير الخدمة المستخدم في مسارات CI/CD إنشاء/تحديث/حذف بعض الكيانات أو جميعها، ما يضمن أن التغييرات تمر بعملية تحكم مثل طلبات السحب مع المراجعين المطلوبين. نظرا لأن الملفات الموجودة في التحكم بالمصادر هي YAML، فمن السهل تتبع التغييرات وتعقبها بمرور الوقت. قد تفكر أنت وفريقك في التحول إلى هذا النموذج أثناء الترقية إلى الإصدار 2.

يمكنك الحصول على تمثيل YAML لأي كيان مع CLI عبر az ml <entity> show --output yaml. لاحظ أن هذا الإخراج سيكون له خصائص أنشأها النظام، والتي يمكن تجاهلها أو حذفها.

هل يجب ترقية التعليمات البرمجية v1 الموجودة إلى v2

يمكنك إعادة استخدام أصول v1 الموجودة في مهام سير عمل الإصدار 2. على سبيل المثال، يمكن استخدام نموذج تم إنشاؤه في v1 لتنفيذ الاستدلال المدار في v2.

اختياريا، إذا كنت ترغب في ترقية أجزاء معينة من التعليمات البرمجية v1 الموجودة إلى v2، يرجى الرجوع إلى ارتباطات المقارنة المتوفرة في هذا المستند.

هل يمكنني استخدام v1 وv2 معا؟

يمكن أن يتعايش الإصدار 1 وv2 في مساحة العمل. يمكنك إعادة استخدام الأصول الموجودة في مهام سير عمل الإصدار 2. على سبيل المثال، يمكن استخدام نموذج تم إنشاؤه في v1 لتنفيذ الاستدلال المدار في v2. تعمل الموارد مثل مساحة العمل والحساب ومخزن البيانات عبر v1 وv2، مع استثناءات. يمكن للمستخدم استدعاء v1 Python SDK لتغيير وصف مساحة العمل، ثم استخدام ملحق v2 CLI تغييره مرة أخرى. يمكن إرسال المهام (التجارب/عمليات التشغيل/المسارات في v1) إلى نفس مساحة العمل من v1 أو v2 Python SDK. يمكن أن تحتوي مساحة العمل على كل من نقاط نهاية توزيع نموذج v1 وv2.

استخدام التعليمات البرمجية v1 وv2 معا

لا نوصي باستخدام v1 وv2 SDKs معا في نفس التعليمات البرمجية. من الممكن تقنيا استخدام v1 وv2 في نفس التعليمات البرمجية لأنهما يستخدمان مساحات أسماء Azure مختلفة. ومع ذلك، هناك العديد من الفئات التي تحمل نفس الاسم عبر مساحات الأسماء هذه (مثل مساحة العمل، النموذج) التي يمكن أن تسبب الارتباك وتجعل إمكانية قراءة التعليمات البرمجية وتصحيح الأخطاء صعبة.

هام

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

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