التدريب
الشهادة
شهادة Microsoft معتمدة: شريك عالم بيانات من Azure - Certifications
إدارة استيعاب البيانات وإعدادها وتدريب النموذج ونشره ومراقبة حلول التعلم الآلي باستخدام Python وAzure التعلم الآلي وMLflow.
لم يعد هذا المتصفح مدعومًا.
بادر بالترقية إلى Microsoft Edge للاستفادة من أحدث الميزات والتحديثات الأمنية والدعم الفني.
توضح هذه المقالة كيفية إنشاء نقاط نهاية خدمة النموذج التي تخدم نماذج مخصصة باستخدام خدمة نموذج Databricks.
توفر خدمة النموذج الخيارات التالية لخدمة إنشاء نقطة النهاية:
لإنشاء نقاط نهاية تخدم نماذج الذكاء الاصطناعي التوليدية، راجع إنشاء نموذج الذكاء الاصطناعي إنشاء يخدم نقاط النهاية.
import mlflow.deployments
client = mlflow.deployments.get_deploy_client("databricks")
لفهم خيارات التحكم في الوصول لنقاط نهاية خدمة النموذج لإدارة نقطة النهاية، راجع إدارة الأذونات على نقطة نهاية خدمة النموذج.
يمكنك أيضا إضافة متغيرات البيئة لتخزين بيانات الاعتماد لخدمة النموذج. راجع تكوين الوصول إلى الموارد من نقاط نهاية خدمة النموذج
يمكنك إنشاء نقطة نهاية للنموذج الذي يخدم مع واجهة مستخدم الخدمة .
انقر فوق تقديم في الشريط الجانبي لعرض واجهة مستخدم العرض.
انقر فوق Create serving endpoint.
بالنسبة للنماذج المسجلة في سجل نموذج مساحة العمل أو النماذج في كتالوج Unity:
في حقل الاسم ، أدخل اسما لنقطة النهاية.
في قسم الكيانات التي تم تقديمها
انقر فوق Create. تظهر صفحة نقاط نهاية العرض مع عرض حالة نقطة نهاية العرض على أنها غير جاهزة.
يمكنك إنشاء نقاط نهاية باستخدام واجهة برمجة تطبيقات REST. راجع POST /api/2.0/serving-endpoints لمعلمات تكوين نقطة النهاية.
ينشئ المثال التالي نقطة نهاية تخدم الإصدار الأول من ads1
النموذج المسجل في سجل النموذج. لتحديد نموذج من كتالوج Unity، قم بتوفير اسم النموذج الكامل بما في ذلك الكتالوج الأصلي والمخطط مثل . catalog.schema.example-model
POST /api/2.0/serving-endpoints
{
"name": "workspace-model-endpoint",
"config":
{
"served_entities": [
{
"name": "ads-entity"
"entity_name": "my-ads-model",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": true
},
{
"entity_name": "my-ads-model",
"entity_version": "4",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"traffic_config":
{
"routes": [
{
"served_model_name": "my-ads-model-3",
"traffic_percentage": 100
},
{
"served_model_name": "my-ads-model-4",
"traffic_percentage": 20
}
]
}
},
"tags": [
{
"key": "team",
"value": "data science"
}
]
}
فيما يلي مثال على الاستجابة. حالة نقطة config_update
النهاية هي NOT_UPDATING
والنموذج الذي يتم تقديمه في READY
حالة.
{
"name": "workspace-model-endpoint",
"creator": "user@email.com",
"creation_timestamp": 1700089637000,
"last_updated_timestamp": 1700089760000,
"state": {
"ready": "READY",
"config_update": "NOT_UPDATING"
},
"config": {
"served_entities": [
{
"name": "ads-entity",
"entity_name": "my-ads-model-3",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": true,
"workload_type": "CPU",
"state": {
"deployment": "DEPLOYMENT_READY",
"deployment_state_message": ""
},
"creator": "user@email.com",
"creation_timestamp": 1700089760000
}
],
"traffic_config": {
"routes": [
{
"served_model_name": "my-ads-model-3",
"traffic_percentage": 100
}
]
},
"config_version": 1
},
"tags": [
{
"key": "team",
"value": "data science"
}
],
"id": "e3bd3e471d6045d6b75f384279e4b6ab",
"permission_level": "CAN_MANAGE",
"route_optimized": false
}
توفر عمليات نشر MLflow واجهة برمجة تطبيقات لإنشاء مهام وتحديثها وحذفها. تقبل واجهات برمجة التطبيقات لهذه المهام نفس المعلمات مثل واجهة برمجة تطبيقات REST لخدمة نقاط النهاية. راجع POST /api/2.0/serving-endpoints لمعلمات تكوين نقطة النهاية.
from mlflow.deployments import get_deploy_client
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name="workspace-model-endpoint",
config={
"served_entities": [
{
"name": "ads-entity"
"entity_name": "my-ads-model",
"entity_version": "3",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"traffic_config": {
"routes": [
{
"served_model_name": "my-ads-model-3",
"traffic_percentage": 100
}
]
}
}
)
يمكنك أيضًا:
تكوين نقطة النهاية لخدمة نماذج متعددة.
تمكين جداول الاستدلال لالتقاط الطلبات الواردة والاستجابات الصادرة تلقائيا إلى نموذجك الذي يخدم نقاط النهاية.
توزيع GPU متوافق مع إصدارات الحزمة التالية:
لنشر النماذج الخاصة بك باستخدام وحدات معالجة الرسومات، قم بتضمين workload_type
الحقل في تكوين نقطة النهاية أثناء إنشاء نقطة النهاية أو كتحديث تكوين نقطة نهاية باستخدام واجهة برمجة التطبيقات. لتكوين نقطة النهاية لأحمال عمل وحدة معالجة الرسومات باستخدام واجهة مستخدم العرض ، حدد نوع وحدة معالجة الرسومات المطلوب من القائمة المنسدلة نوع الحساب.
{
"served_entities": [{
"name": "ads1",
"entity_version": "2",
"workload_type": "GPU_LARGE",
"workload_size": "Small",
"scale_to_zero_enabled": false,
}]
}
يلخص الجدول التالي أنواع أحمال عمل GPU المتوفرة المدعومة.
نوع حمل عمل GPU | مثيل وحدة معالجة الرسومات | ذاكرة وحدة معالجة الرسومات |
---|---|---|
GPU_SMALL |
1xT4 | 16 غيغابايت |
GPU_LARGE |
1xA100 | 80 غيغابايت |
GPU_LARGE_2 |
2xA100 | 160 غيغابايت |
بعد تمكين نقطة نهاية نموذج مخصص، يمكنك تحديث تكوين الحساب كما هو مطلوب. هذا التكوين مفيد بشكل خاص إذا كنت بحاجة إلى موارد إضافية للنموذج الخاص بك. يلعب حجم حمل العمل وتكوين الحساب دورا رئيسيا في الموارد المخصصة لخدمة النموذج الخاص بك.
حتى يكون التكوين الجديد جاهزا، يحتفظ التكوين القديم بخدمة نسبة استخدام الشبكة المتوقعة. أثناء وجود تحديث قيد التقدم، لا يمكن إجراء تحديث آخر. ومع ذلك، يمكنك إلغاء تحديث قيد التقدم من واجهة مستخدم تقديم الخدمة.
بعد تمكين نقطة نهاية نموذج، حدد تحرير نقطة النهاية لتعديل تكوين الحساب لنقطة النهاية.
يمكنك القيام بما يلي:
يمكنك إلغاء تحديث تكوين قيد التقدم عن طريق تحديد إلغاء التحديث في الجزء العلوي الأيسر من صفحة تفاصيل نقطة النهاية. تتوفر هذه الوظيفة فقط في واجهة مستخدم العرض.
فيما يلي مثال على تحديث تكوين نقطة النهاية باستخدام واجهة برمجة تطبيقات REST. راجع PUT /api/2.0/serving-endpoints/{name}/config.
PUT /api/2.0/serving-endpoints/{name}/config
{
"name": "unity-catalog-model-endpoint",
"config":
{
"served_entities": [
{
"entity_name": "catalog.schema.my-ads-model",
"entity_version": "5",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"traffic_config":
{
"routes": [
{
"served_model_name": "my-ads-model-5",
"traffic_percentage": 100
}
]
}
}
}
تستخدم MLflow Deployments SDK نفس المعلمات مثل واجهة برمجة تطبيقات REST، راجع PUT /api/2.0/serving-endpoints/{name}/config للحصول على تفاصيل مخطط الطلب والاستجابة.
يستخدم نموذج التعليمات البرمجية التالي نموذجا من سجل نموذج كتالوج Unity:
import mlflow
from mlflow.deployments import get_deploy_client
mlflow.set_registry_uri("databricks-uc")
client = get_deploy_client("databricks")
endpoint = client.create_endpoint(
name=f"{endpointname}",
config={
"served_entities": [
{
"entity_name": f"{catalog}.{schema}.{model_name}",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": True
}
],
"traffic_config": {
"routes": [
{
"served_model_name": f"{model_name}-1",
"traffic_percentage": 100
}
]
}
}
)
لتسجيل نموذجك، أرسل طلبات إلى نقطة نهاية خدمة النموذج.
تتضمن دفاتر الملاحظات التالية نماذج مسجلة مختلفة في Databricks يمكنك استخدامها لبدء العمل باستخدام نقاط نهاية خدمة النموذج.
يمكن استيراد أمثلة النموذج إلى مساحة العمل باتباع التوجيهات في استيراد دفتر ملاحظات. بعد اختيار نموذج وإنشاءه من أحد الأمثلة، قم بتسجيله في كتالوج Unity، ثم اتبع خطوات سير عمل واجهة المستخدم لخدمة النموذج.
التدريب
الشهادة
شهادة Microsoft معتمدة: شريك عالم بيانات من Azure - Certifications
إدارة استيعاب البيانات وإعدادها وتدريب النموذج ونشره ومراقبة حلول التعلم الآلي باستخدام Python وAzure التعلم الآلي وMLflow.