إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق فقط على:بوابة Foundry (كلاسيكية). هذه المقالة غير متاحة لبوابة Foundry الجديدة.
تعرف على المزيد حول البوابة الجديدة.
ملحوظة
بعض الروابط في هذا المقال قد تفتح محتوى في وثائق Microsoft Foundry الجديدة بدلا من وثائق Foundry (الكلاسيكية) التي تشاهدها الآن.
يقدم كتالوج نماذج بوابة Microsoft Foundry أكثر من 1,600 نموذج يمكنك نشرها باستخدام الحوسبة المدارة (وتسمى أيضا النشر الإلكتروني المدار) للاستدلال اللحظي في بيئات الإنتاج. مع نشر الحوسبة المدارة، تحصل على بنية تحتية قابلة للتوسع وجاهزة للإنتاج لنماذج اللغة الكبيرة الخاصة بك.
في هذا المقال، تتعلم كيفية نشر النماذج باستخدام خيار نشر الحوسبة المدارة وإجراء الاستدلال على النموذج المنتشر.
المتطلبات المسبقه
اشتراك في Azure مع طريقة دفع صالحة. اشتراكات Azure المجانية أو التجريبية لا تعمل. إذا لم يكن لديك اشتراك Azure، أنشئ حساب Azure مدفوع.
إذا لم يكن لديك واحد، أنشئ مشروعا يعتمد على المركز. لمزيد من المعلومات، راجع إنشاء مشروع.
تتطلب Foundry Models from Partners and Community الوصول إلى Azure Marketplace، بينما Foundry Models Sold Direct by Azure لا تفرض هذا المتطلب. تأكد من أن اشتراكك في Azure يحتوي على الأذونات المطلوبة للاشتراك في عروض النماذج في Azure Marketplace. لمزيد من المعلومات، راجع تمكين Azure Marketplace purchases.
تمنح Azure أدوات التحكم القائمة على الأدوار (Azure RBAC) الوصول إلى العمليات في بوابة Foundry. لأداء الخطوات الواردة في هذا المقال، يجب تعيين دور مطور الذكاء الاصطناعي Azure لحسابك المستخدم في مجموعة الموارد. لمزيد من المعلومات، راجع التحكم في الوصول القائم على الأدوار في بوابة Foundry.
حصة الآلة الافتراضية (VM) في اشتراكك في Azure لوحدات SKU الخاصة بالآلات الافتراضية المطلوبة لتشغيل نموذجك. كل عملية نشر تستهلك حصة نواة VM لكل منطقة. لمزيد من المعلومات، راجع اعتبارات الحصص، بما في ذلك متطلبات الحصص وكيفية طلب الزيادات.
بالنسبة للنشرات التي تحتوي على Python SDK: Python 3.8 أو أحدث، بما في ذلك Azure Machine Learning SDK (
azure-ai-ml) ومكتبة Azure Identity (azure-identity).
ابحث عن النموذج الخاص بك في كتالوج النماذج
- تسجيل الدخول إلى Microsoft Foundry. تأكد من إيقاف مفتاح New Foundry . تشير هذه الخطوات إلى Foundry (الكلاسيكي).
- إذا لم تكن موجودا بالفعل في مشروعك، فحدده.
- حدد Model catalog من الجزء الأيمن.
في عامل تصفية خيارات النشر ، حدد الحوسبة المدارة.
نصيحة
لأنك تستطيع تخصيص اللوحة اليسرى في بوابة مايكروسوفت فاوندري، قد ترى عناصر مختلفة عما هو موضح في هذه الخطوات. إذا كنت لا ترى ما تبحث عنه، فحدد ... المزيد في الجزء السفلي من الجزء الأيمن.
حدد نموذجا لفتح بطاقة الطراز الخاصة به. في هذا المقال، تستخدم النموذج
Phi-4.
توزيع النموذج
في صفحة النموذج، اختر استخدام هذا النموذج. يفتح هذا الإجراء نافذة النشر إذا كان بالإمكان نشر النموذج المختار على حساب مدار فقط.
بدلا من ذلك، إذا اخترت نموذجا يدعم خيار نشر آخر، فإنك تصل إلى نافذة "خيارات الشراء". اختر خيار شراء الحساب المدار لفتح نافذة النشر.
- حدد خانة الاختيار في نافذة النشر لاستخدام الحصة النسبية المشتركة المؤقتة. للنشر في حساب مدار مستضاف ذاتيا، يجب أن يكون لديك حصة نسبية كافية في اشتراكك. إذا لم يكن لديك حصة نسبية كافية متوفرة، يمكنك استخدام الوصول المؤقت إلى الحصة النسبية عن طريق تحديد الخيار الذي أريد استخدام الحصة النسبية المشتركة وأقر بأن نقطة النهاية هذه سيتم حذفها في 168 ساعة.
يتم ملء نافذة النشر مسبقا ببعض التحديدات وقيم المعلمات. يمكنك إما الاحتفاظ بها أو تغييرها حسب الرغبة. يمكنك أيضا تحديد نقطة نهاية موجودة للنشر أو إنشاء نقطة نهاية جديدة. على سبيل المثال، حدد عدد مثيلات وأنشئ
1نقطة نهاية جديدة للتوزيع.حدد نشر لإنشاء التوزيع الخاص بك. قد تستغرق عملية الإنشاء بضع دقائق حتى تكتمل. عند اكتماله، يفتح المدخل صفحة نشر النموذج.
نصيحة
لرؤية نقاط النهاية المنشورة في مشروعك، انتقل إلى قسم الأصول الخاصة بي في الجزء الأيمن وحدد النماذج + نقاط النهاية.
تحقق من نجاح مهمتك. في صفحة تفاصيل النشر، تحقق من أن حالة التزويد تظهر ناجحا وحالة النشر تظهر صحية. إذا لاحظت أي أخطاء، راجع قسم استكشاف الأخطاء .
تستخدم نقطة النهاية التي تم إنشاؤها مصادقة المفتاح للتفويض. للحصول على المفاتيح المقترنة بنقطة نهاية معينة، اتبع الخطوات التالية:
- اختر النشر وسجل مؤشر الركض والمفتاح المستهدف لنقطة النهاية.
- استخدم بيانات الاعتماد هذه لاستدعاء النشر وإنشاء التنبؤات.
يتبع URI المستهدف هذا التنسيق:
https://<endpoint-name>.<region>.inference.ml.azure.com/score
استهلاك عمليات النشر
بعد إنشاء التوزيع الخاص بك، اتبع الخطوات التالية لاستهلاكه:
- اختر النماذج + نقاط النهاية تحت قسم أصولي في مشروع Foundry الخاص بك.
- حدد النشر من علامة التبويب عمليات توزيع النموذج .
- انتقل إلى علامة التبويب اختبار للحصول على نموذج استنتاج إلى نقطة النهاية.
- ارجع إلى علامة التبويب "التفاصيل" لنسخ "عنوان URI الهدف" الخاص بالنشر، والذي يمكنك استخدامه لتشغيل الاستدلال باستخدام التعليمات البرمجية.
- انتقل إلى علامة التبويب "استهلاك" في التوزيع للعثور على نماذج التعليمات البرمجية للاستهلاك.
- انسخ معرف النموذج من صفحة التفاصيل الخاصة بالنموذج الذي حددته. يبدو هذا للنموذج المحدد:
azureml://registries/azureml/models/Phi-4/versions/8.
توزيع النموذج
Install Azure Machine Learning SDK.
pip install azure-ai-ml pip install azure-identityقم بالتحقق باستخدام Azure Machine Learning وإنشاء كائن عميل. استبدل الرموز المؤقتة بمعرف الاشتراك، واسم مجموعة الموارد، واسم مشروع Foundry.
from azure.ai.ml import MLClient from azure.identity import InteractiveBrowserCredential workspace_ml_client = MLClient( credential=InteractiveBrowserCredential(), subscription_id="your subscription ID goes here", resource_group_name="your resource group name goes here", workspace_name="your project name goes here", )يتم التحقق من هذا الكود مع Azure باستخدام بيانات اعتماد المتصفح التفاعلية وينشئ عميلا للتفاعل مع مشروع Foundry الخاص بك. عند تشغيل هذا الكود، تفتح نافذة متصفح للمصادقة.
المرجع:MLClient، InteractiveBrowserCredential
إنشاء نقطة نهاية. بالنسبة لخيار نشر الحوسبة المدارة، تحتاج إلى إنشاء نقطة نهاية قبل نشر نموذج. فكر في نقطة النهاية كحاوية يمكنها إيواء عمليات نشر نماذج متعددة. يجب أن تكون أسماء نقاط النهاية فريدة في منطقة، لذلك في هذا المثال استخدم الطابع الزمني لإنشاء اسم نقطة نهاية فريد.
import time, sys from azure.ai.ml.entities import ( ManagedOnlineEndpoint, ManagedOnlineDeployment, ProbeSettings, ) # Make the endpoint name unique timestamp = int(time.time()) online_endpoint_name = "customize your endpoint name here" + str(timestamp) # Create an online endpoint endpoint = ManagedOnlineEndpoint( name=online_endpoint_name, auth_mode="key", ) workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).wait()ينشئ هذا الكود نقطة نهاية مدارة عبر الإنترنت مع مصادقة تعتمد على المفاتيح. عادة ما تستغرق العملية من 2 إلى 3 دقائق. عند الانتهاء، سيكون لديك رابط نقطة نهاية يمكنك نشر النماذج.
المرجع:ManagedOnlineEndpoint، online_endpoints.begin_create_or_update
إنشاء نشر. استبدل معرف النموذج في التعليمات البرمجية التالية بمعرف النموذج الذي نسخته من صفحة تفاصيل النموذج الذي حددته في قسم البحث عن النموذج الخاص بك في كتالوج النماذج .
model_name = "azureml://registries/azureml/models/Phi-4/versions/8" demo_deployment = ManagedOnlineDeployment( name="demo", endpoint_name=online_endpoint_name, model=model_name, instance_type="Standard_DS3_v2", instance_count=2, liveness_probe=ProbeSettings( failure_threshold=30, success_threshold=1, timeout=2, period=10, initial_delay=1000, ), readiness_probe=ProbeSettings( failure_threshold=10, success_threshold=1, timeout=10, period=10, initial_delay=1000, ), ) workspace_ml_client.online_deployments.begin_create_or_update(demo_deployment).wait() endpoint.traffic = {"demo": 100} workspace_ml_client.online_endpoints.begin_create_or_update(endpoint).result()هذا الكود ينشر النموذج إلى نقطة النهاية لديك مع نسختين Standard_DS3_v2 للآلة الافتراضية. يشمل النشر مسبارات حيوية وجاهزية لمراقبة الصحة. تم ضبط حركة المرور إلى 100% لهذا النشر. تستغرق العملية عدة دقائق لإكمالها. عند الانتهاء، يكون نموذجك جاهزا لقبول طلبات الاستنتاج.
المرجع:ManagedOnlineDeployment, ProbeSettings, online_deployments.begin_create_or_update
إجراء الاستدلال على النشر
تحتاج إلى بيانات JSON نموذجية لاختبار الاستنتاج. أنشئ ملفا مسماة
sample_score.jsonفي مجلد العمل الخاص بك يحتوي على المحتوى التالي:{ "inputs": { "question": [ "Where do I live?", "Where do I live?", "What's my name?", "Which name is also used to describe the Amazon rainforest in English?" ], "context": [ "My name is Wolfgang and I live in Berlin", "My name is Sarah and I live in London", "My name is Clara and I live in Berkeley.", "The Amazon rainforest (Portuguese: Floresta Amaz\u00f4nica or Amaz\u00f4nia; Spanish: Selva Amaz\u00f3nica, Amazon\u00eda or usually Amazonia; French: For\u00eat amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain \"Amazonas\" in their names. The Amazon represents over half of the planet's remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest in the world, with an estimated 390 billion individual trees divided into 16,000 species." ] } }الاستدلال باستخدام
sample_score.json. غير موقع ملف التقييم في الكود التالي، بناء على مكان حفظ ملف JSON النموذجي.import json scoring_file = "./sample_score.json" response = workspace_ml_client.online_endpoints.invoke( endpoint_name=online_endpoint_name, deployment_name="demo", request_file=scoring_file, ) response_json = json.loads(response) print(json.dumps(response_json, indent=2))هذا الكود يرسل الأسئلة النموذجية والسياق إلى النموذج المنشور ويطبع الإجابات. يقوم النموذج بالإجابة على الأسئلة عن طريق استخراج النص المناسب من السياق المقدم. تشمل النتائج المتوقعة نص الإجابة ودرجات الثقة لكل سؤال.
المرجع:online_endpoints.invoke
تكوين التحجيم التلقائي
لتكوين التحجيم التلقائي لعمليات التوزيع، اتبع الخطوات التالية:
- سجل الدخول إلى بوابة Azure.
- حدد نوع المورد Azure
Machine learning online deploymentللنموذج الذي نشرته للتو في مجموعة الموارد لمشروع الذكاء الاصطناعي. - حدد Settings>Scaling من الجزء الأيمن.
- حدد التحجيم التلقائي المخصص وقم بتكوين إعدادات التحجيم التلقائي. لمزيد من المعلومات حول التدرج التلقائي، راجع Autoscale online endpoints في وثائق Azure Machine Learning.
حذف النشر
لحذف عمليات النشر من بوابة Foundry، اختر حذف النشر في اللوحة العلوية لصفحة تفاصيل النشر.
اعتبارات الحصة النسبية
لنشر وتنفيذ الاستدلال باستخدام نقاط نهاية في الوقت الحقيقي، تستهلك حصة النواة من الآلة الافتراضية (VM) التي يخصصها Azure لاشتراكك على أساس كل منطقة. عند التسجيل في Foundry، تحصل على حصة افتراضية للأجهزة الافتراضية لعدة عائلات VM متوفرة في المنطقة. يمكنك الاستمرار في إنشاء عمليات النشر حتى تصل إلى حد الحصة النسبية. بمجرد حدوث ذلك، يمكنك طلب زيادة الحصة.
استكشاف الأخطاء وإصلاحها
يقدم هذا القسم حلولا للمشاكل الشائعة التي قد تواجهها عند نشر النماذج باستخدام الحوسبة المدارة.
فشل النشر مع تجاوز الحصة خطأ
الإصدار: تتلقى خطأ يشير إلى عدم الحصة عند إنشاء نشر.
الحل:
- تحقق من استخدام الحصة الحالي في بوابة Azure ضمن إعدادات الحصة الخاصة بالاشتراك
- اطلب زيادة الحصة عبر بوابة Azure للوحدة الافتراضية المحددة التي تحتاجها
- فكر في استخدام وحدة تخزين VM مختلفة تحتوي على حصة متاحة
- انظر إدارة وزيادة الحصص للموارد مع Azure Machine Learning للحصول على إرشادات مفصلة
أخطاء المصادقة عند استدعاء نقطة النهاية
الإصدار: تتلقى أخطاء مصادقة (401 غير مصرح به) عند استدعاء نقطة النهاية المنشورة.
الحل:
- تحقق من أنك تستخدم رابط الرابط الصحيح لنقطة النهاية ومفتاح المصادقة من صفحة تفاصيل النشر
- تحقق من أن المفتاح لم يعاد توليده منذ أن قمت بنسخه.
- تأكد من أن صلاحيات Azure RBAC الخاصة بك لم تتغير
- بالنسبة لاستدعاءات SDK، تأكد من أن كائن الاعتماد الخاص بك تم تهيئة كائن الاعتماد بشكل صحيح
فشل أو انتهاء مهلة النشر
الإصدار: يبقى النشر في حالة التوفير لفترة طويلة أو يفشل بسبب خطأ في المهلة.
الحل:
- تحقق من سجلات النشر في بوابة Foundry بحثا عن رسائل خطأ محددة
- تحقق من أن إعدادات الشبكة المدارة في المركز تتيح الوصول إلى الموارد المطلوبة
- تأكد من صحة معرف النموذج وأن النموذج لا يزال متاحا في الكتالوج
- حاول النشر باستخدام وحدة تخزين مختلفة لجهاز افتراضي أو تقليل عدد العينات
النموذج يرجع ردودا غير متوقعة أو خاطئة
الإصدار: النموذج المنشور يستجيب لكنه يعيد نتائج غير متوقعة.
الحل:
- تحقق من أن تنسيق بيانات الإدخال يتطابق مع مخطط النموذج المتوقع
- تحقق من وثائق بطاقة الطراز لمعرفة مواصفات الإدخال/الإخراج
- اختبار باستخدام بيانات عينة موفرة في توثيق النموذج
- راجع الطلب والرد في تبويب الاختبار في بوابة Foundry
لمزيد من المساعدة في استكشاف المشكلة، راجع استكشاف أخطاء نشر نقطة النهاية عبر الإنترنت.