Sdílet prostřednictvím


Sledování obsluhovaných modelů pomocí inferenčních tabulek a brány AI

Důležitý

Pokud váš koncový bod pro poskytování vlastního modelu vyžaduje starší systém odvozovacích tabulek, viz Odvozovací tabulky pro monitorování a ladění modelů.

Tento článek popisuje tabulky odvozování s podporou brány AI pro monitorování obsluhovaných modelů. Tabulka odvozování automaticky zaznamenává příchozí požadavky a odchozí odpovědi pro koncový bod a protokoluje je jako tabulku Unity Catalog Delta. Pomocí dat v této tabulce můžete monitorovat, vyhodnocovat, porovnávat a vyladit modely strojového učení.

Co jsou inferenční tabulky s podporou AI Gateway?

Tabulky pro odvozování podporované bránou AI zjednodušují monitorování a diagnostiku modelů tím, že průběžně zaznamenávají vstupy a odpovědi požadavků (předpovědi) z koncových bodů obsluhy modelů Mosaic AI a ukládají je do tabulky Delta v katalogu Unity. Pak můžete použít všechny možnosti platformy Databricks, jako jsou dotazy a poznámkové bloky SQL Databricks, k monitorování, ladění a optimalizaci modelů.

Tabulky odvozování můžete povolit u existujícího nebo nově vytvořeného modelu obsluhující koncový bod a požadavky na tento koncový bod se pak automaticky zaprotokolují do tabulky v katalogu Unity.

Mezi běžné aplikace pro odvozování tabulek patří:

  • Vytvořte trénovací korpus. Spojením tabulek odvozování s popisky základní pravdy můžete vytvořit trénovací korpus, který můžete použít k přetrénování nebo vyladění a vylepšení modelu. Pomocí úloh Lakeflow můžete nastavit nepřetržitou smyčku zpětné vazby a automatizovat opakované trénování.
  • Monitorování kvality dat a modelu Pomocí monitorování Lakehouse můžete průběžně monitorovat výkon modelu a odchylky dat. Monitorování Lakehouse automaticky generuje řídicí panely kvality dat a modelů, které můžete sdílet se zúčastněnými stranami. Kromě toho můžete upozornění povolit, abyste věděli, kdy potřebujete model přetrénovat na základě posunů v příchozích datech nebo snížení výkonu modelu.
  • Odstraňování chyb v produkci Záznamy inferenčních tabulek obsahují data jako stavové kódy HTTP, kód JSON požadavku a odpovědi, doby spuštění modelu a výstupy trasování během běhu modelu. Tato data o výkonu můžete použít pro účely ladění. K porovnání výkonu modelu u historických požadavků můžete použít také historická data v tabulkách odvozování.
  • Monitorování nasazených agentů AI Inferenční tabulky mohou také ukládat trasování MLflow pro AI agenty, kteří pomáhají ladit problémy a monitorovat výkon.

Požadavky

  • Váš pracovní prostor musí mít povolený katalog Unity.
  • Autor koncového bodu i modifikátor musí mít Může spravovat oprávnění ke koncovému bodu. 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.

Varování

Tabulka odvozování může zastavit protokolování dat nebo se poškodit, pokud uděláte některou z následujících věcí:

  • Změňte schéma tabulky.
  • Změňte název tabulky.
  • Odstraňte tabulku.
  • Ztratí oprávnění k přístupu ke katalogu nebo schématu Unity Catalogu.
  • Změňte nebo odstraňte vlastníka tabulky.

Povolení a zakázání odvozovacích tabulek

V této části se dozvíte, jak povolit nebo zakázat tabulky odvozování pomocí uživatelského rozhraní obsluhy. 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.

K povolení odvozovacích tabulek během vytváření koncového bodu použijte následující postup:

  1. V uživatelském rozhraní Databricks Mosaic AI klikněte na Sloužící.
  2. Klikněte na Vytvořit obslužný koncový bod.
  3. V části AI Gateway vyberte Povolit tabulky pro inferenci.

U existujícího koncového bodu můžete také povolit odvozovací tabulky. Pokud chcete upravit existující konfiguraci koncového bodu, postupujte takto:

  1. V části Brána AI klikněte na Upravit bránu AI.
  2. Vyberte Povolit odvozovací tabulky.

Podle těchto pokynů zakažte odvozovací tabulky:

  1. Přejděte na stránku koncového bodu.
  2. Klikněte na Upravit bránu AI.
  3. Klikněte na Povolit odvozovací tabulku a zrušte zaškrtnutí.
  4. Jakmile budete spokojeni se specifikacemi služby AI Gateway, klikněte na Aktualizovat.

Povolení odvozovacích tabulek pro agenty AI

Můžete také povolit inferenční tabulky pro nasazené agenty AI. Tyto inferenční tabulky ukládají datové části a podrobnosti požadavků a také protokoly sledování MLflow.

Pomocí následujících metod povolte tabulky odvozování pro agenty AI:

Další informace o trasování agenta MLflow najdete v části MLflow Tracing - pozorovatelnost generativní AI.

Dotazování a analýza výsledků v tabulce odvozování

Jakmile budou vaše obsluhované modely připravené, všechny požadavky provedené na vašich modelech se automaticky zaprotokolují do tabulky odvozování spolu s odpověďmi. Tabulku můžete zobrazit v uživatelském rozhraní, dotazovat se na tabulku z Databricks SQL nebo poznámkového bloku nebo dotazovat tabulku pomocí rozhraní REST API.

Zobrazení tabulky v uživatelském rozhraní: Na stránce koncového bodu kliknutím na název tabulky odvozování otevřete tabulku v Průzkumníku katalogu.

odkaz na název tabulky odvození na stránce koncového bodu

Dotazování na tabulku z Databricks SQL nebo poznámkového bloku Databricks: Můžete spustit kód podobný následujícímu dotazu na tabulku odvozování.

SELECT * FROM <catalog>.<schema>.<payload_table>

Chcete-li připojit data odvozovací tabulky s podrobnostmi o podkladovém základním modelu na vašem koncovém bodě: Podrobnosti o základním modelu jsou zachyceny v systémové tabulce system.serving.served_entities.

Poznámka:

system.serving.served_entities Systémová tabulka není podporovaná pro koncové body s platbami za tokeny, ale můžete připojit odvozování a tabulky využití, abyste získali podobné podrobnosti.

SELECT * FROM <catalog>.<schema>.<payload_table> payload
JOIN system.serving.served_entities se on payload.served_entity_id = se.served_entity_id

schéma odvozovací tabulky s podporou brány AI

Tabulky odvození povolené pomocí služby AI Gateway mají následující schéma:

Název sloupce Popis Typ
request_date Datum UTC, kdy byl přijat požadavek na obslužný model. DATUM
databricks_request_id Identifikátor požadavku vygenerovaný službou Azure Databricks připojený ke všem žádostem obsluhující model ŘETĚZEC
client_request_id Identifikátor požadavku zadaný uživatelem, který lze zadat v modelu obsluhující tělo požadavku. ŘETĚZEC
request_time Časové razítko, kdy je požadavek přijat. ČASOVÁ ZNAČKA
status_code Stavový kód HTTP vrácený z modelu. INT
sampling_fraction Podíl vzorkování použitý v případě, že byl požadavek snížen vzorkováním. Tato hodnota je mezi 0 a 1, kde 1 představuje, že bylo zahrnuto 100% příchozích požadavků. DVOJITÝ
execution_duration_ms Doba v milisekundách, pro kterou model provedl odvozování. Toto nezahrnuje dodatečné latence sítě a představuje pouze čas, který modelu zabralo generování předpovědí. BIGINT
request Nezpracovaný text JSON požadavku, který byl odeslán do koncového bodu zpracování modelu. ŘETĚZEC
response Surové tělo JSON odpovědi, které vrátil koncový bod obsluhující model. ŘETĚZEC
served_entity_id Jedinečné ID obsluhované entity. ŘETĚZEC
logging_error_codes Chyby, ke kterým došlo, když se nepodařilo zaprotokolovat data. Kódy chyb zahrnují MAX_REQUEST_SIZE_EXCEEDED a MAX_RESPONSE_SIZE_EXCEEDED. POLE
requester ID uživatele nebo služebního principála, jehož oprávnění se používají k vyvolání žádosti u koncového bodu služby. Toto pole se vrátí NULL pro koncové body vlastního modelu optimalizované pro směrování . ŘETĚZEC

Schémata tabulek odvození agenta AI

Pro agenty AI vytvoří Databricks tři inferenční tabulky pro každé nasazení, aby se protokolovaly požadavky a odpovědi na obslužný bod modelu.

Odvozovací tabulka Příklad názvu tabulky Azure Databricks Obsah tabulky
Užitečný náklad {catalog_name}.{schema_name}.{model_name}_payload Nezpracovaná datová zátěž požadavků a odpovědí JSON
Protokoly žádostí o užitečné zatížení {catalog_name}.{schema_name}.{model_name}_payload_request_logs Formátované požadavky a odpovědi, trasování MLflow
Protokoly posouzení užitečného zatížení {catalog_name}.{schema_name}.{model_name}_payload_assessment_logs Naformátovaná zpětná vazba, jak je uvedeno v recenzní aplikaci, pro každý požadavek

Uživatelé můžou očekávat data v tabulkách uživatelských dat do jedné hodiny od interakce s obslužným bodem. Protokoly záznamů žádostí o data a posouzení mohou trvat déle, než se naplní, a jsou odvozeny z tabulky surových dat. Protokoly žádostí a posouzení můžete extrahovat sami z datové tabulky. Odstranění a aktualizace tabulky užitečného zatížení se neprojeví v protokolech žádostí o užitečné zatížení ani v protokolech posouzení užitečného zatížení.

Poznámka:

Pokud máte povolenou bránu firewall služby Azure Storage, obraťte se na tým Databricks a nechte si povolit inferenční tabulky pro vaše koncové body.

Následující text ukazuje schéma pro tabulku protokolů požadavků pro Payload:

Název sloupce Popis Typ
databricks_request_id Identifikátor požadavku vygenerovaný službou Azure Databricks připojený ke všem žádostem obsluhující model ŘETĚZEC
client_request_id Volitelný identifikátor požadavku vygenerovaný klientem, který lze zadat v modelu obsluhující tělo požadavku. ŘETĚZEC
date Datum UTC, kdy byl přijat požadavek na obslužný model. DATUM
timestamp_ms Časové razítko v milisekundách od počátku epochy, kdy byl přijat požadavek na obsluhu modelu. Dlouhý
timestamp Razítko požadavku. ČASOVÁ ZNAČKA
status_code Stavový kód HTTP vrácený z modelu. INT
sampling_fraction Podíl vzorkování použitý v případě, že byl požadavek snížen vzorkováním. Tato hodnota je mezi 0 a 1, kde 1 představuje, že bylo zahrnuto 100% příchozích požadavků. DVOJITÝ
execution_time_ms Doba provádění v milisekundách, pro kterou model provedl odvozování. Toto nezahrnuje dodatečné latence sítě a představuje pouze čas, který modelu zabralo generování předpovědí. Dlouhý
conversation_id ID konverzace extrahované z protokolů požadavků. ŘETĚZEC
request Poslední dotaz uživatele z konverzace uživatele. ŘETĚZEC
response Poslední odpověď na uživatele. ŘETĚZEC
request_raw Řetězcová reprezentace požadavku. ŘETĚZEC
response_raw Řetězcová reprezentace reakce ŘETĚZEC
trace Řetězcové znázornění trasování extrahovaného ze databricks_options struktury odpovědi ŘETĚZEC
request_metadata Mapa metadat souvisejících s koncovým bodem obsluhující model přidružený k požadavku Tato mapa obsahuje název koncového bodu, název modelu a verzi modelu používanou pro váš koncový bod. MAPA<ŘETĚZEC, ŘETĚZEC>
schema_version Verze schématu. ŘETĚZEC

Následující ukazuje schéma tabulky protokolů posouzení datové sady:

Název sloupce Popis Typ
request_id ID tohoto požadavku Databricks ŘETĚZEC
step_id ID kroku odvozené z vyhodnocení načítání. ŘETĚZEC
source Pole struktury obsahující informace o tom, kdo posouzení vytvořil. STRUKTURA
timestamp Časové razítko požadavku. ČASOVÁ ZNAČKA
text_assessment Data o všech názorech na odpovědi agenta z aplikace pro kontrolu. ŘETĚZEC
retrieval_assessment Údaje pro jakoukoli zpětnou vazbu týkající se dokumentů načtených pro odpověď. ŘETĚZEC

Omezení

  • Úlohy zřízené propustnosti:
    • Pokud vytvoříte nový model obsluhující koncový bod, který používá zřízenou propustnost, podporují se pouze tabulky odvozování s podporou brány AI.
    • Pokud máte existující model obsluhující koncový bod, který používá zřízenou propustnost a nikdy předtím nenakonfiguroval starší tabulky odvozování, můžete ho aktualizovat tak, aby používaly tabulky odvozování s podporou brány AI.
    • Pokud máte existující model obsluhující koncový bod, který používá zřízenou propustnost a má aktuálně nakonfigurované starší tabulky odvozování nebo dříve nakonfigurované, nemůžete ho aktualizovat tak, aby používaly tabulky odvozování s podporou brány AI.
    • Pro logy odpovědí agenta AI během streamování se agregují pouze pole a trasování kompatibilní s ChatCompletion.
  • Vlastní úlohy modelu:
    • Pokud vytvoříte nový model obsluhující koncový bod, který slouží vlastnímu modelu, databricks doporučuje používat tabulky odvozování s podporou brány AI. Pokud je potřeba použít starší prostředí tabulky odvozování, můžete nakonfigurovat nový koncový bod pouze pro AI Gateway pomocí rozhraní REST API.
    • Pokud máte existující koncový bod obsluhující model, který obsluhuje vlastní model a nemá nakonfigurované tabulky odvozování, můžete ho aktualizovat tak, aby používal tabulky odvozování s podporou AI Gateway.
    • Pokud máte existující koncový bod obsluhující model, který slouží vlastnímu modelu a má nakonfigurované tabulky odvozování starší verze, musíte zakázat tabulku odvozování starší verze, abyste mohli koncový bod aktualizovat tak, aby používal tabulky odvozování s podporou brány AI.
    • Po povolení odvozovacích tabulek s podporou brány AI není možné přepnout na tabulky odvození starší verze.
  • Doručování protokolů odvozovacích tabulek pro koncové body, které obsluhují úlohy rozhraní API základního modelu, externí modely nebo agenty, je v současné době na principu nejlepšího úsilí. Můžete očekávat, že protokoly budou k dispozici do 1 hodiny od žádosti. Další informace získáte od týmu účtu Databricks.
  • Maximální velikost požadavku a odpovědi, které se protokolují, je 1 MiB (1 048 576 bajtů). Datové části požadavků a odpovědí, které tuto hodnotu překračují, jsou zaznamenány v protokolu jako null a logging_error_codes jsou naplněny MAX_REQUEST_SIZE_EXCEEDED nebo MAX_RESPONSE_SIZE_EXCEEDED.
  • Tabulky inferencí pro koncové body obsluhy modelů pro optimalizaci směrování jsou ve veřejné náhledové verzi.

Informace o omezeních specifických pro AI Gateway najdete v tématu Omezení. Obecná omezení služby koncového bodu pro model najdete v tématu Omezení a oblasti poskytování modelu.