Povolení odvozovacích tabulek v modelech obsluhujících koncové body pomocí rozhraní API
Důležité
Tato funkce je ve verzi Public Preview.
Důležité
Tento článek popisuje témata týkající se inferenčních tabulek pro vlastní modely. Pro externí modely nebo úlohy se zřízenou propustností použijte tabulky pro odvozování umožněné branou AI.
Tento článek vysvětluje, jak pomocí rozhraní Databricks API povolit tabulky odvozování pro model obsluhující koncový bod. Obecné informace o používání odvozovacích tabulek, včetně toho, jak je povolit pomocí uživatelského rozhraní Databricks, najdete v tématu Tabulky odvozování pro monitorování a ladění modelů.
Tabulky odvozování můžete povolit při vytváření nového koncového bodu nebo u existujícího koncového bodu. Databricks doporučuje, abyste vytvořili koncový bod s instančním objektem, aby na odvozovací tabulku neměl vliv, pokud se uživatel, který koncový bod vytvořil, odebere z pracovního prostoru.
Vlastníkem tabulek odvozování je uživatel, který koncový bod vytvořil. Všechny seznamy řízení přístupu (ACL) v tabulce se řídí standardními oprávněními katalogu Unity a může je upravit vlastník tabulky.
Požadavky
- Váš pracovní prostor musí mít povolený katalog Unity.
- Autor koncového bodu i modifikátor musí mít oprávnění Může spravovat koncový bod. Viz seznamy řízení přístupu.
- Tvůrce koncového bodu i modifikátor musí mít v katalogu Unity následující oprávnění :
-
USE CATALOG
oprávnění k zadanému katalogu. -
USE SCHEMA
oprávnění k zadanému schématu. -
CREATE TABLE
oprávnění ve schématu.
-
Povolení odvozovacích tabulek při vytváření koncového bodu pomocí rozhraní API
Tabulky odvozování pro koncový bod můžete povolit během vytváření koncového bodu pomocí rozhraní API. Pokyny k vytvoření koncového bodu najdete v tématu Vytvoření vlastního modelu obsluhující koncové body.
V rozhraní API musí auto_capture_config
text požadavku zadat:
- Katalog Unity: řetězec představující katalog pro uložení tabulky
- Schéma katalogu Unity: řetězec představující schéma pro uložení tabulky
- (volitelné) předpona tabulky: řetězec sloužící jako předpona pro název inferenční tabulky. Pokud není zadaný, použije se název koncového bodu.
- (volitelné) povoleno: logická hodnota použitá k povolení nebo zakázání odvozovacích tabulek. Tato hodnota je ve výchozím nastavení true.
Po zadání katalogu, schématu a volitelné předpony tabulky se vytvoří tabulka v <catalog>.<schema>.<table_prefix>_payload
. Tato tabulka automaticky vytvoří spravovanou tabulku katalogu Unity. Vlastníkem tabulky je uživatel, který vytvoří koncový bod.
Poznámka:
Zadání existující tabulky se nepodporuje, protože se při vytváření koncového bodu nebo aktualizacích koncových bodů vždy automaticky vytvoří tabulka odvozování.
Upozorňující
Tabulka odvozování může být poškozena, pokud provedete některou z následujících věcí:
- Změňte schéma tabulky.
- Změňte název tabulky.
- Odstraňte tabulku.
- Ztratíte oprávnění ke katalogu nebo schématu Unity Catalog.
V tomto případě stav auto_capture_config
koncového bodu ukazuje stav FAILED
pro tabulku datové části. Pokud k tomu dojde, musíte vytvořit nový koncový bod, abyste mohli dál používat odvozovací tabulky.
Následující příklad ukazuje, jak povolit odvozovací tabulky během vytváření koncového bodu.
POST /api/2.0/serving-endpoints
{
"name": "feed-ads",
"config":
{
"served_entities": [
{
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"auto_capture_config":
{
"catalog_name": "ml",
"schema_name": "ads",
"table_name_prefix": "feed-ads-prod"
}
}
}
Odpověď vypadá takto:
{
"name": "feed-ads",
"creator": "customer@example.com",
"creation_timestamp": 1666829055000,
"last_updated_timestamp": 1666829055000,
"state": {
"ready": "NOT_READY",
"config_update": "IN_PROGRESS"
},
"pending_config": {
"start_time": 1666718879000,
"served_entities": [
{
"name": "ads1-1",
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true,
"state": {
"deployment": "DEPLOYMENT_CREATING",
"deployment_state_message": "Creating"
},
"creator": "customer@example.com",
"creation_timestamp": 1666829055000
}
],
"config_version": 1,
"traffic_config": {
"routes": [
{
"served_model_name": "ads1-1",
"traffic_percentage": 100
}
]
},
"auto_capture_config": {
"catalog_name": "ml",
"schema_name": "ads",
"table_name_prefix": "feed-ads-prod",
"state": {
"payload_table": {
"name": "feed-ads-prod_payload"
}
},
"enabled": true
}
},
"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"permission_level": "CAN_MANAGE"
}
Po povolení protokolování pro tabulky s odvozením počkejte, až bude váš bod připraven. Pak ho můžete začít volat.
Po vytvoření tabulky odvozování by systém měl zpracovat vývoj schématu a přidání dat.
Následující operace nemají vliv na integritu tabulky:
- Spuštění OPTIMIZE, ANALYZE a VACUUM pro tabulku.
- Odstranění starých nepoužívaných dat
Pokud nezadáte auto_capture_config
, ve výchozím nastavení se konfigurace nastavení z předchozí verze konfigurace znovu použije. Pokud jsou například tabulky odvozování již povolené, použijí se stejná nastavení při příští aktualizaci koncového bodu nebo pokud byly odvozovací tabulky zakázané, bude i nadále zakázána.
{
"served_entities": [
{
"name":"current",
"entity_name":"model-A",
"entity_version":"1",
"workload_size":"Small",
"scale_to_zero_enabled":true
}
],
"auto_capture_config": {
"enabled": false
}
}
Povolení odvozovacích tabulek v existujícím koncovém bodu pomocí rozhraní API
Pomocí rozhraní API můžete také povolit tabulky odvození u existujícího koncového bodu. Po povolení odvozování tabulek pokračujte zadáním stejného textu auto_capture_config
v budoucích voláních rozhraní API koncového bodu aktualizace, aby se dál používaly tabulky odvozování.
Poznámka:
Změna umístění tabulky po povolení odvozovacích tabulek se nepodporuje.
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"
}
]
},
"auto_capture_config":{
"catalog_name": "catalog",
"schema_name": "schema",
"table_name_prefix": "my-endpoint"
}
}
Zakázání odvozovacích tabulek
Při zakázání odvozovacích tabulek nemusíte zadávat katalog, schéma ani předponu tabulky. Jediné povinné pole je enabled: false
.
POST /api/2.0/serving-endpoints
{
"name": "feed-ads",
"config":{
"served_entities": [
{
"entity_name": "ads1",
"entity_version": "1",
"workload_size": "Small",
"scale_to_zero_enabled": true
}
],
"auto_capture_config":{
"enabled": false
}
}
}
Pokud chcete znovu povolit zakázanou tabulku odvozování, postupujte podle pokynů v Povolení tabulek odvozování u existujícího koncového bodu. Můžete použít stejnou tabulku nebo zadat novou tabulku.
Další kroky
Po povolení inferenčních tabulek můžete monitorovat nasazené modely na koncovém bodu nasazení modelu pomocí monitorování Databricks Lakehouse. Podrobnosti najdete v tématu Workflow: Monitorování výkonu modelu pomocí odvozovacích tabulek.