Model Sunma uç noktasına birden çok model sunma
Bu makalede, Azure Databricks Model Sunma'nın kullanıldığı bir hizmet uç noktasına birden çok model sunma açıklanmaktadır.
Gereksinimler
Bkz . Model Sunma uç noktası oluşturma gereksinimleri .
Uç noktaları sunan modele yönelik erişim denetimi seçeneklerini ve uç nokta yönetimine yönelik en iyi yöntem kılavuzlarını anlamak için bkz . Uç nokta ACL'lerini sunma.
Uç nokta oluşturma ve ilk trafik bölmeyi ayarlama
Databricks Machine Learning API'siyle Model Sunma uç noktaları oluşturabilirsiniz. Bir uç nokta, Model Kayıt Defteri'nde kayıtlı kayıtlı herhangi bir Python MLflow modeline hizmet verebilir.
Aşağıdaki API örneği, iki model içeren tek bir uç nokta oluşturur ve uç nokta trafiğini bu modeller arasında böler. Sunulan model olan , current
sürümü 1'i model-A
barındırır ve uç nokta trafiğinin %90'ını alırken, diğer hizmet sunulan model, challenger
1 sürümünü model-B
barındırır ve uç nokta trafiğinin %10'unu alır.
POST /api/2.0/serving-endpoints
{
"name":"multi-model"
"config":{
"served_entities":[
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
},
{
"name":"challenger",
"entity_name":"model-B",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"traffic_config":{
"routes":[
{
"served_model_name":"current",
"traffic_percentage":"90"
},
{
"served_model_name":"challenger",
"traffic_percentage":"10"
}
]
}
}
}
Sunulan modeller arasındaki trafiğin bölünmesini güncelleştirme
Sunulan modeller arasındaki trafiğin bölünmesini de güncelleştirebilirsiniz. Aşağıdaki API örneği, sunulan modeli uç current
nokta trafiğinin %50'sini, diğer modeli challenger
ise trafiğin kalan %50'sini alacak şekilde ayarlar.
Bu güncelleştirmeyi, Yapılandırmayı düzenle düğmesini kullanarak Databricks Machine Learning kullanıcı arabirimindeki Sunum sekmesinden de yapabilirsiniz.
PUT /api/2.0/serving-endpoints/{name}/config
{
"served_entities":[
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
},
{
"name":"challenger",
"entity_name":"model-B",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"traffic_config":{
"routes":[
{
"served_model_name":"current",
"traffic_percentage":"50"
},
{
"served_model_name":"challenger",
"traffic_percentage":"50"
}
]
}
}
Uç noktanın arkasındaki tek tek modelleri sorgulama
Bazı senaryolarda, uç noktanın arkasındaki modelleri tek tek sorgulamak isteyebilirsiniz.
Bunu yapmak için aşağıdakileri kullanabilirsiniz:
POST /serving-endpoints/{endpoint-name}/served-models/{served-model-name}/invocations
Burada belirli bir hizmet modeli sorgulanır. İstek biçimi, uç noktayı sorgulamayla aynıdır. Tek tek sunulan model sorgulandığında trafik ayarları yoksayılır.
Uç nokta örneği bağlamında multi-model
, tüm istekler adresine /serving-endpoints/multi-model/served-models/challenger/invocations
gönderilirse, tüm istekler sunulan model tarafından challenger
sunulur.
Not defteri: Birden çok modeli tek bir modelde paketleme
İşlem maliyetlerinden tasarruf etmek için birden çok modeli tek bir modelde de paketleyebilirsiniz.
Birden çok MLflow modelini tek bir MLflow modeli not defterinde paketleme
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin