Több modell kiszolgálása modellkiszolgáló végpontra
Ez a cikk azt ismerteti, hogyan szolgálhat ki több modellt egy Azure Databricks-modellkiszolgálót használó CPU-kiszolgáló végponton.
Ha több generatív AI-modellt szeretne kiszolgálni, például a külső modellek által biztosított modelleket, tekintse meg a több külső modell végponthoz való kiszolgálását.
Követelmények
Lásd a végpontlétrehozási modellt kiszolgáló modell követelményeit .
A végpontokat kiszolgáló modell hozzáférés-vezérlési beállításainak és a végpontkezelés ajánlott eljárásainak megismeréséhez tekintse meg a végpontok ACL-jeinek kiszolgálását ismertető cikket.
Végpont létrehozása és a kezdeti forgalom felosztásának beállítása
A Databricks Machine Learning-kiszolgáló API-val vagy a Databricks Machine Learning felhasználói felületével létrehozhat modell-kiszolgáló végpontokat. A végpontok a Modellregisztrációs adatbázisban regisztrált regisztrált Python MLflow-modelleket is kiszolgálhatják.
Az alábbi API-példa egyetlen végpontot hoz létre két modellel, és beállítja a végpont forgalmának felosztását ezek között a modellek között. A kiszolgált modell az current
1. verziót üzemelteti model-A
, és a végpontforgalom 90%-át kapja meg, míg a másik kiszolgált modell challenger
az 1 model-B
. verziót üzemelteti, és a végpont forgalmának 10%-át kapja meg.
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"
}
]
}
}
}
A kiszolgált modellek közötti forgalom felosztásának frissítése
A kiszolgált modellek közötti forgalom felosztását is frissítheti. Az alábbi API-példa beállítja a kiszolgált modellt, current
hogy lekérje a végpont forgalmának 50%-át, challenger
a másik modellt pedig a forgalom fennmaradó 50%-ának lekéréséhez.
Ezt a frissítést a Databricks Machine Learning felhasználói felületén található Szolgáltatás lapról is elvégezheti a Konfiguráció szerkesztése gomb használatával.
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"
}
]
}
}
Végpont mögötti egyes modellek lekérdezése
Bizonyos esetekben érdemes lehet egyes modelleket lekérdezni a végpont mögött.
Ezt a következővel teheti meg:
POST /serving-endpoints/{endpoint-name}/served-models/{served-model-name}/invocations
Itt lekérdezi az adott kiszolgált modellt. A kérés formátuma megegyezik a végpont lekérdezésével. Az egyes kiszolgált modell lekérdezése során a rendszer figyelmen kívül hagyja a forgalmi beállításokat.
A végponti példa kontextusában multi-model
, ha az összes kérést elküldi /serving-endpoints/multi-model/served-models/challenger/invocations
a rendszer, akkor az összes kérést a challenger
kiszolgált modell kézbesíti.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: