Delen via


Deductietabellen voor bewakings- en foutopsporingsmodellen

Belangrijk

Deze functie is beschikbaar als openbare preview.

In dit artikel worden deductietabellen beschreven voor het bewaken van gediende modellen. In het volgende diagram ziet u een typische werkstroom met deductietabellen. De deductietabel legt automatisch binnenkomende aanvragen en uitgaande antwoorden vast voor een model dat het eindpunt verwerkt en registreert deze als een Unity Catalog Delta-tabel. U kunt de gegevens in deze tabel gebruiken om ML-modellen te bewaken, fouten op te sporen en te verbeteren.

Werkstroom voor deductietabellen

Wat zijn deductietabellen?

Het bewaken van de prestaties van modellen in productiewerkstromen is een belangrijk aspect van de levenscyclus van HET AI- en ML-model. Deductietabellen vereenvoudigen bewaking en diagnostische gegevens voor modellen door continu de aanvraaginvoer en -antwoorden (voorspellingen) van Mosaic AI Model Serving-eindpunten te verwerken en op te slaan in een Delta-tabel in Unity Catalog. Vervolgens kunt u alle mogelijkheden van het Databricks-platform gebruiken, zoals DBSQL-query's, notebooks en Lakehouse Monitoring om uw modellen te bewaken, fouten op te sporen en te optimaliseren.

U kunt deductietabellen inschakelen voor elk bestaand of nieuw gemaakt model voor eindpunten en aanvragen voor dat eindpunt worden vervolgens automatisch geregistreerd bij een tabel in UC.

Enkele algemene toepassingen voor deductietabellen zijn het volgende:

  • Gegevens en modelkwaliteit bewaken. U kunt uw modelprestaties en gegevensdrift continu bewaken met Behulp van Lakehouse Monitoring. Lakehouse Monitoring genereert automatisch dashboards voor gegevens- en modelkwaliteit die u met belanghebbenden kunt delen. Daarnaast kunt u waarschuwingen inschakelen om te weten wanneer u uw model opnieuw moet trainen op basis van verschuivingen in binnenkomende gegevens of verminderingen van modelprestaties.
  • Problemen met productie opsporen. Logboekgegevens van deductietabellen, zoals HTTP-statuscodes, uitvoeringstijden van modellen en JSON-code voor aanvragen en antwoorden. U kunt deze prestatiegegevens gebruiken voor foutopsporing. U kunt ook de historische gegevens in deductietabellen gebruiken om modelprestaties te vergelijken met historische aanvragen.
  • Maak een trainingstaak. Door deductietabellen samen te voegen met basiswaarlabels, kunt u een trainingslichaam maken dat u kunt gebruiken om uw model opnieuw te trainen of af te stemmen en te verbeteren. Met Databricks-werkstromen kunt u een doorlopende feedbacklus instellen en opnieuw trainen automatiseren.

Eisen

  • Voor uw werkruimte moet Unity Catalog zijn ingeschakeld.
  • Zowel de maker van het eindpunt als de modifier moet de machtiging Kan beheren hebben voor het eindpunt. Zie Toegangsbeheerlijsten.
  • Zowel de maker van het eindpunt als de modifier moet de volgende machtigingen hebben in Unity Catalog:
    • USE CATALOG machtigingen voor de opgegeven catalogus.
    • USE SCHEMA machtigingen voor het opgegeven schema.
    • CREATE TABLE machtigingen in het schema.

Deductietabellen in- en uitschakelen

In deze sectie wordt beschreven hoe u deductietabellen kunt in- of uitschakelen met behulp van de Databricks-gebruikersinterface. U kunt ook de API gebruiken; Zie Deductietabellen inschakelen voor model die eindpunten leveren met behulp van de API voor instructies.

De eigenaar van de deductietabellen is de gebruiker die het eindpunt heeft gemaakt. Alle toegangsbeheerlijsten (ACL's) in de tabel volgen de standaardmachtigingen voor Unity Catalog en kunnen worden gewijzigd door de eigenaar van de tabel.

Waarschuwing

De deductietabel kan beschadigd raken als u een van de volgende handelingen uitvoert:

  • Wijzig het tabelschema.
  • Wijzig de tabelnaam.
  • Verwijder de tabel.
  • Machtigingen voor de Unity Catalog-catalogus of -schema verliezen.

In dit geval toont de auto_capture_config eindpuntstatus een FAILED status voor de nettoladingstabel. Als dit gebeurt, moet u een nieuw eindpunt maken om deductietabellen te blijven gebruiken.

Gebruik de volgende stappen om deductietabellen in te schakelen tijdens het maken van een eindpunt:

  1. Klik op Serveren in de Gebruikersinterface van Databricks Machine Learning.

  2. Klik op Een service-eindpunt maken.

  3. Selecteer Deductietabellen inschakelen.

  4. Selecteer in de vervolgkeuzelijsten de gewenste catalogus en het gewenste schema waarin u de tabel wilt plaatsen.

    catalogus en schema voor deductietabel

  5. De standaardtabelnaam is <catalog>.<schema>.<endpoint-name>_payload. Desgewenst kunt u een aangepast tabelvoorvoegsel invoeren.

  6. Klik op Een service-eindpunt maken.

U kunt deductietabellen ook inschakelen op een bestaand eindpunt. Ga als volgt te werk om een bestaande eindpuntconfiguratie te bewerken:

  1. Navigeer naar de eindpuntpagina.
  2. Klik op Configuratie bewerken.
  3. Volg de vorige instructies, te beginnen met stap 3.
  4. Wanneer u klaar bent, klikt u op Eindpunt bijwerken.

Volg deze instructies om deductietabellen uit te schakelen:

Belangrijk

Wanneer u deductietabellen op een eindpunt uitschakelt, kunt u ze niet opnieuw inschakelen. Als u deductietabellen wilt blijven gebruiken, moet u een nieuw eindpunt maken en deductietabellen erop inschakelen.

  1. Navigeer naar de eindpuntpagina.
  2. Klik op Configuratie bewerken.
  3. Klik op Deductietabel inschakelen om het vinkje te verwijderen.
  4. Zodra u tevreden bent met de eindpuntspecificaties, klikt u op Bijwerken.

Werkstroom: Modelprestaties bewaken met behulp van deductietabellen

Volg deze stappen om modelprestaties te bewaken met behulp van deductietabellen:

  1. Schakel deductietabellen in op uw eindpunt, hetzij tijdens het maken van het eindpunt of door het daarna bij te werken.
  2. Plan een werkstroom voor het verwerken van de JSON-nettoladingen in de deductietabel door ze uit te pakken volgens het schema van het eindpunt.
  3. (Optioneel) Voeg de uitgepakte aanvragen en antwoorden toe met basislabels voor waarheid, zodat metrische gegevens van de modelkwaliteit kunnen worden berekend.
  4. Maak een monitor over de resulterende Delta-tabel en vernieuw de metrische gegevens.

De startersnotebooks implementeren deze werkstroom.

Starter-notebook voor het bewaken van een deductietabel

In het volgende notebook worden de bovenstaande stappen geïmplementeerd om aanvragen uit een Lakehouse Monitoring-deductietabel uit te pakken. Het notebook kan op aanvraag worden uitgevoerd of volgens een terugkerend schema met behulp van Databricks-werkstromen.

Startersnotitieblok voor deductietabel Lakehouse Monitoring

Notebook downloaden

Starter-notebook voor het bewaken van de tekstkwaliteit van eindpunten die LLM's leveren

In het volgende notebook worden aanvragen uit een deductietabel uitgepakt, wordt een set metrische gegevens voor tekstevaluatie berekend (zoals leesbaarheid en toxiciteit) en wordt bewaking van deze metrische gegevens mogelijk. Het notebook kan op aanvraag worden uitgevoerd of volgens een terugkerend schema met behulp van Databricks-werkstromen.

LLM-deductietabel Lakehouse Monitoring Starter Notebook

Notebook downloaden

Resultaten in de deductietabel opvragen en analyseren

Nadat uw aangeboden modellen gereed zijn, worden alle aanvragen die aan uw modellen worden gedaan, automatisch geregistreerd bij de deductietabel, samen met de antwoorden. U kunt de tabel in de gebruikersinterface bekijken, een query uitvoeren op de tabel vanuit DBSQL of een notebook of een query uitvoeren op de tabel met behulp van de REST API.

Als u de tabel in de gebruikersinterface wilt weergeven: klik op de eindpuntpagina op de naam van de deductietabel om de tabel te openen in Catalog Explorer.

koppeling naar de naam van de deductietabel op de eindpuntpagina

Als u een query wilt uitvoeren op de tabel vanuit DBSQL of een Databricks-notebook: u kunt code uitvoeren die vergelijkbaar is met het volgende om een query uit te voeren op de deductietabel.

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

Als u deductietabellen hebt ingeschakeld met behulp van de gebruikersinterface, payload_table is dit de tabelnaam die u hebt toegewezen toen u het eindpunt maakte. Als u deductietabellen hebt ingeschakeld met behulp van de API, payload_table wordt deze gerapporteerd in de state sectie van het auto_capture_config antwoord. Zie Voor een voorbeeld deductietabellen inschakelen voor modellen die eindpunten leveren met behulp van de API.

Prestatienotitie

Nadat u het eindpunt hebt aanroepen, ziet u dat de aanroep is geregistreerd bij de deductietabel binnen een uur na het verzenden van een scoreaanvraag. Bovendien garandeert Azure Databricks dat logboekbezorging ten minste één keer plaatsvindt, dus het is mogelijk, hoewel onwaarschijnlijk, dat er dubbele logboeken worden verzonden.

Schema van deductietabel in Unity Catalog

Elke aanvraag en elk antwoord dat wordt geregistreerd bij een deductietabel, wordt geschreven naar een Delta-tabel met het volgende schema:

Notitie

Als u het eindpunt aanroept met een batch invoer, wordt de hele batch geregistreerd als één rij.

Kolomnaam Beschrijving Type
databricks_request_id Een door Azure Databricks gegenereerde aanvraag-id die is gekoppeld aan alle aanvragen voor het verwerken van modellen. STRING
client_request_id Een optionele door de client gegenereerde aanvraag-id die kan worden opgegeven in de aanvraagbody van het model. Zie Geef op client_request_id voor meer informatie. STRING
date De UTC-datum waarop de aanvraag voor het verwerken van het model is ontvangen. DATUM
timestamp_ms De tijdstempel in epoch milliseconden op het moment dat de aanvraag voor het verwerken van het model werd ontvangen. LANG
status_code De HTTP-statuscode die is geretourneerd uit het model. INT
sampling_fraction De steekproeffractie die wordt gebruikt in het geval dat de aanvraag is uitgevallen. Deze waarde ligt tussen 0 en 1, waarbij 1 aangeeft dat 100% van de binnenkomende aanvragen is opgenomen. DOUBLE
execution_time_ms De uitvoeringstijd in milliseconden waarvoor het model deductie heeft uitgevoerd. Dit omvat geen overheadnetwerklatenties en vertegenwoordigt alleen de tijd die het model nodig heeft om voorspellingen te genereren. LANG
request De JSON-hoofdtekst van de onbewerkte aanvraag die is verzonden naar het eindpunt van de modelfunctie. STRING
response De onbewerkte antwoord-JSON-hoofdtekst die is geretourneerd door het model dat het eindpunt levert. STRING
request_metadata Een kaart met metagegevens die betrekking hebben op het model dat het eindpunt biedt dat aan de aanvraag is gekoppeld. Deze kaart bevat de eindpuntnaam, modelnaam en modelversie die wordt gebruikt voor uw eindpunt. KAARTTEKENREEKS<, TEKENREEKS>

Specificeren client_request_id

Het client_request_id veld is een optionele waarde die de gebruiker kan opgeven in de hoofdtekst van de aanvraag voor het model. Hierdoor kan de gebruiker een eigen id opgeven voor een aanvraag die wordt weergegeven in de uiteindelijke deductietabel onder de client_request_id tabel en kan worden gebruikt voor het samenvoegen van uw aanvraag met andere tabellen die gebruikmaken van het client_request_id, zoals samenvoegen met grondwaarlabels. Als u een client_request_idwilt opgeven, neemt u deze op als sleutel op het hoogste niveau van de nettolading van de aanvraag. Als er geen client_request_id is opgegeven, wordt de waarde weergegeven als null in de rij die overeenkomt met de aanvraag.

{
  "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
    }
  ]
}

De client_request_id kan later worden gebruikt voor grondwaarlabels worden samengevoegd als er andere tabellen zijn die labels aan de client_request_idtabel hebben gekoppeld.

Beperkingen

  • Door de klant beheerde sleutels worden niet ondersteund.
  • Voor eindpunten die basismodellen hosten, worden deductietabellen alleen ondersteund voor ingerichte doorvoerworkloads.
  • Deductietabellen worden niet ondersteund op eindpunten die externe modellen hosten.
  • Azure Firewall kan leiden tot fouten bij het maken van de Unity Catalog Delta-tabel, dus wordt niet standaard ondersteund. Neem contact op met uw Databricks-accountteam om dit in te schakelen.
  • Wanneer deductietabellen zijn ingeschakeld, is de limiet voor de totale maximale gelijktijdigheid voor alle servicemodellen in één eindpunt 128. Neem contact op met uw Azure Databricks-accountteam om een verhoging van deze limiet aan te vragen.
  • Als een deductietabel meer dan 500K-bestanden bevat, worden er geen extra gegevens geregistreerd. Als u wilt voorkomen dat deze limiet wordt overschreden, voert u OPTIMIZE uit of stelt u retentie in uw tabel in door oudere gegevens te verwijderen. Als u het aantal bestanden in de tabel wilt controleren, voert u de opdracht uit DESCRIBE DETAIL <catalog>.<schema>.<payload_table>.

Zie Limieten en regio's voor het leveren van modellen voor algemene eindpunten voor modellen.