Sdílet prostřednictvím


Tabulky inference pro monitorování a ladění modelů

Důležité

Tato funkce je ve verzi Public Preview.

Důležité

Tento článek popisuje zkušenost s tabulkou dedukce ve starším režimu, která je relevantní pouze pro určité zřízené propustnosti a koncové body vlastních modelů. Nedoporučuje se tato zkušenost. Databricks doporučuje tabulky odvozování s podporou brány AI díky své dostupnosti u vlastního modelu, základového modelu a agenta, který obsluhuje koncové body.

Poznámka:

Pokud v Databricks obsluhujete aplikaci gen AI, můžete pomocí monitorování AI genu Databricks automaticky nastavit tabulky odvozování a sledovat provozní i kvalitní metriky pro vaši aplikaci.

Tento článek popisuje tabulky odvozování pro monitorování obsluhovaných modelů. Následující diagram znázorňuje typický pracovní postup s odvozovacími tabulkami. Tabulka odvozování automaticky zaznamenává příchozí požadavky a odchozí odpovědi pro model obsluhující koncový bod a protokoluje je jako tabulku Delta katalogu Unity. Data v této tabulce můžete použít k monitorování, ladění a vylepšování modelů ML.

pracovní postup odvozovacích tabulekInference tables workflowInference tables workflow

Co jsou odvozovací tabulky?

Monitorování výkonu modelů v produkčních pracovních postupech je důležitým aspektem životního cyklu modelu AI a ML. Tabulky pro inferenci zjednodušují monitorování a diagnostiku modelů průběžným protokolováním vstupů a odpovědí požadavků (předpovědí) z koncových bodů obsluhy modelu Mosaic AI a jejich uložením do tabulky Delta v katalogu Unity. K monitorování, ladění a optimalizaci modelů pak můžete použít všechny možnosti platformy Databricks, jako jsou dotazy Sql Databricks, poznámkové bloky a monitorování Lakehouse.

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

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

  • 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.
  • Řešení problémů v produkci Tabulky inference zaznamenávají data, například stavové kódy HTTP, časy spuštění modelu a kód JSON požadavku a odpovědi. Tato data o výkonu můžete použít pro účely ladění. Historická data v tabulkách odvozování můžete použít také k porovnání výkonu modelu u historických požadavků.
  • Vytvořte trénovací korpus. Spojením odvozovacích tabulek s popisky základní pravdy můžete vytvořit trénovací korpus, který můžete použít k opětovnému tré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í.

Požadavky

  • Váš pracovní prostor musí mít povolený katalog Unity.
  • Autor koncového bodu i upravovatel musí mít oprávnění ke správě koncového bodu. Viz řídící seznamy 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í 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í Databricks. Můžete také použít rozhraní API; Pokyny najdete v tématu Povolení tabulek odvozování v modelech obsluhujících koncové body pomocí rozhraní API.

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.

Varování

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.

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

  1. Klikněte na Obsluha v uživatelském rozhraní Databricks Mosaic AI.

  2. Klikněte na Vytvořit koncový bod služby.

  3. Vyberte Povolit odvozovací tabulky.

  4. V rozevíracích nabídkách vyberte požadovaný katalog a schéma, ve kterém se má tabulka nacházet.

    katalog a schéma pro odvozování tabulek

  5. Výchozí název tabulky je <catalog>.<schema>.<endpoint-name>_payload. V případě potřeby můžete zadat vlastní předponu tabulky.

  6. Klikněte na Vytvořit koncový bod služby.

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. Přejděte na stránku koncového bodu.
  2. Klikněte na Upravit konfiguraci.
  3. Postupujte podle předchozích pokynů počínaje krokem 3.
  4. Až budete hotovi, klikněte na Aktualizovat koncový bod služby.

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

  1. Přejděte na stránku koncového bodu.
  2. Klikněte na Upravit konfiguraci.
  3. Klikněte na Povolit odvozovací tabulku a zrušte zaškrtnutí.
  4. Jakmile budete spokojeni se specifikacemi koncových bodů, klikněte na Aktualizovat.

pracovní postup : Monitorování výkonu modelu pomocí odvozovacích tabulek

Pokud chcete monitorovat výkon modelu pomocí odvozovacích tabulek, postupujte takto:

  1. Povolte tabulky odvozování ve vašem koncovém bodu, a to buď během vytváření koncového bodu, nebo následnou aktualizací.
  2. Naplánujte pracovní postup pro zpracování datových částí JSON v tabulce odvozování tak, že je rozbalíte podle schématu koncového bodu.
  3. (Volitelné) Přiřaďte oddělené požadavky a odpovědi s referenčními označeními, aby bylo možné vypočítat metriky kvality modelu.
  4. Vytvořte monitorování nad výslednou tabulkou Delta a aktualizujte metriky.

Počáteční poznámkové bloky implementují tento pracovní postup.

Úvodní notebook pro monitorování inferenční tabulky

Následující poznámkový blok provádí kroky uvedené výše pro rozbalení požadavků z inferenční tabulky monitoringu Lakehouse. Poznámkový blok můžete spustit na vyžádání nebo podle opakujícího se plánu pomocí úloh Lakeflow.

Úvodní poznámkový blok pro monitorování Lakehouse: Tabulka inferencí

Pořiďte si notebook

Úvodní poznámkový blok pro monitorování kvality textu z koncových bodů obsluhujících LLM

Následující poznámkový blok rozbalí požadavky z tabulky odvozování, vypočítá sadu metrik vyhodnocení textu (například čitelnost a toxicitu) a umožňuje monitorování těchto metrik. Poznámkový blok můžete spustit na vyžádání nebo podle opakujícího se plánu pomocí úloh Lakeflow.

Úvodní poznámkový blok inferenční tabulky LLM Lakehouse Monitoring

Pořiďte si notebook

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 DBSQL 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í tabulky z DBSQL 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>

Pokud jste povolili odvozovací tabulky pomocí uživatelského rozhraní, payload_table je název tabulky, který jste přiřadili při vytváření koncového bodu. Pokud jste povolili odvozování tabulek pomocí rozhraní API, payload_table se zobrazí v state části odpovědi auto_capture_config. Příklad najdete v tématu Povolení odvozovacích tabulek v modelech obsluhujících koncové body pomocí rozhraní API.

Poznámka k výkonu

Po vyvolání koncového bodu můžete vidět, jak je volání během hodiny od odeslání žádosti o skórování zaznamenáno do vaší inference tabulky. Kromě toho Azure Databricks zaručuje doručení protokolů alespoň jednou, takže je možné, i když je nepravděpodobné, že se odesílají duplicitní protokoly.

Schéma odvozovací tabulky Unity Catalog

Každý požadavek a odpověď, které se zaprotokolují do odvozovací tabulky, se zapisují do tabulky Delta s následujícím schématem:

Poznámka:

Pokud vyvoláte koncový bod s dávkou vstupů, zaprotokoluje se celá dávka jako jeden řádek.

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. Viz Specify client_request_id pro více informací. ŘETĚZEC
date Datum UTC, kdy byl přijat požadavek na obsluhu modelu. DATUM
timestamp_ms Časové razítko v milisekundách od počátku epochy, kdy byl přijat požadavek na obsluhu modelu. DLOUHÝ
status_code Stavový kód HTTP vrácený z modelu. INT
sampling_fraction Zlomek vzorkování použitý v případě, že byla snížena úroveň vzorkování požadavku. 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Ý
request Nezpracovaný text JSON požadavku, který byl odeslán do koncového bodu obsluhy modelu. ŘETĚZEC
response Nezpracovaný text JSON odpovědi vrácený koncovým bodem obsluhy modelu. Ř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. MAPOVACÍ<ŘETĚZEC, ŘETĚZEC>

Specifikovatclient_request_id

Pole client_request_id je volitelná hodnota, kterou může uživatel zadat v modelu obsluhující tělo požadavku. To uživateli umožní zadat vlastní identifikátor požadavku, který se zobrazí v poslední tabulce odvozování v client_request_id a dá se použít pro připojení žádosti s jinými tabulkami, které používají client_request_id, jako je připojení základního popisku pravdy. Pokud chcete specifikovat client_request_id, zahrňte ho jako klíč nejvyšší úrovně v těle požadavku. Pokud není zadána žádná client_request_id hodnota, zobrazí se hodnota v řádku odpovídajícím požadavku jako null.

{
  "client_request_id": "<user-provided-id>",
  "dataframe_records": [
    {
      "sepal length (cm)": 5.1,
      "sepal width (cm)": 3.5,
      "petal length (cm)": 1.4,
      "petal width (cm)": 0.2
    },
    {
      "sepal length (cm)": 4.9,
      "sepal width (cm)": 3,
      "petal length (cm)": 1.4,
      "petal width (cm)": 0.2
    },
    {
      "sepal length (cm)": 4.7,
      "sepal width (cm)": 3.2,
      "petal length (cm)": 1.3,
      "petal width (cm)": 0.2
    }
  ]
}

client_request_id lze později použít pro spojení popisků základní pravdy, pokud existují jiné tabulky, které mají přidružené popisky client_request_id.

Omezení

  • Klíče spravované zákazníkem se nepodporují.
  • U koncových bodů, které hostují foundation models, jsou tabulky odvozování podporovány pouze u pracovních zátěží se zřízenou propustností .
  • Azure Firewall může způsobit selhání vytvoření tabulky Unity Catalog Delta, takže se ve výchozím nastavení nepodporuje. Spojte se s týmem účtu Databricks a povolte ho.
  • Pokud jsou tabulky odvozování povolené, je limit maximální souběžnosti napříč všemi obsluhované modely v jednom koncovém bodu 128. Spojte se s týmem účtu Azure Databricks a požádejte o zvýšení tohoto limitu.
  • Pokud tabulka odvozování obsahuje více než 500 tisíc souborů, nebudou zaprotokolována žádná další data. Pokud se chcete vyhnout překročení tohoto limitu, spusťte OPTIMIZE nebo nastavte uchovávání dat v tabulce odstraněním starších dat. Pokud chcete zkontrolovat počet souborů v tabulce, spusťte DESCRIBE DETAIL <catalog>.<schema>.<payload_table>.
  • Doručování protokolů pro tabulky odvozování je v současné době na základě nejlepšího úsilí, ale můžete očekávat, že protokoly budou dostupné do 1 hodiny od odeslání požadavku. Další informace získáte od týmu účtu Databricks.

Obecná omezení koncového bodu obsluhy modelu najdete v tématu Omezení a oblasti obsluhy modelů.