Inleiding tot Databricks Lakehouse Monitoring
In dit artikel wordt Databricks Lakehouse Monitoring beschreven. Het behandelt de voordelen van het bewaken van uw gegevens en geeft een overzicht van de onderdelen en het gebruik van Databricks Lakehouse Monitoring.
Met Databricks Lakehouse Monitoring kunt u de statistische eigenschappen en kwaliteit van de gegevens in alle tables in uw account bewaken. U kunt het ook gebruiken om de prestaties van machine learning-modellen en model-serving eindpunten bij te houden door inference tables te bewaken die modelinvoer en voorspellingen bevatten. In het diagram ziet u de gegevensstroom via gegevens- en ML-pijplijnen in Databricks en hoe u bewaking kunt gebruiken om continu gegevenskwaliteit en modelprestaties bij te houden.
Waarom Databricks Lakehouse Monitoring gebruiken?
Als u nuttige inzichten wilt trekken uit uw gegevens, moet u vertrouwen hebben in de kwaliteit van uw gegevens. Het bewaken van uw gegevens biedt kwantitatieve metingen waarmee u de kwaliteit en consistentie van uw gegevens in de loop van de tijd kunt bijhouden en bevestigen. Wanneer u wijzigingen in de gegevensdistributie van uw tableof de prestaties van het bijbehorende model detecteert, kan de door Databricks Lakehouse Monitoring gemaakte tables u vastleggen en waarschuwen voor de wijziging en kunt u helpen de oorzaak te identificeren.
Databricks Lakehouse Monitoring helpt u bij het beantwoorden van vragen zoals:
- Hoe ziet gegevensintegriteit eruit en hoe verandert deze in de loop van de tijd? Wat is bijvoorbeeld het deel van null- of nul-values in de huidige gegevens en is deze toegenomen?
- Hoe ziet de statistische verdeling van de gegevens eruit en hoe verandert deze in de loop van de tijd? Wat is bijvoorbeeld het 90e percentiel van een numerieke column? Of, wat is de verdeling van values in een categorische columnen hoe verschilt het van gisteren?
- Is er sprake van afwijking tussen de huidige gegevens en een bekende basislijn, of tussen opeenvolgende tijdvensters van de gegevens?
- Hoe ziet de statistische verdeling of afwijking van een subset of segment van de gegevens eruit?
- Hoe veranderen de invoer en voorspellingen van ML-modellen in de loop van de tijd?
- Hoe is de trending van modelprestaties in de loop van de tijd? Presteert modelversie A beter dan versie B?
Daarnaast kunt u met Databricks Lakehouse Monitoring de tijdgranulariteit van waarnemingen beheren en aangepaste metrische gegevens set.
Vereisten
Het volgende is vereist voor het gebruik van Databricks Lakehouse Monitoring:
- Uw werkruimte moet zijn ingeschakeld voor Unity Catalog en u moet toegang hebben tot Databricks SQL.
- Alleen Delta-tables worden ondersteund voor bewaking en de table moet een van de volgende table typen zijn: beheerde tables, externe tables, views, gerealiseerde viewsof streaming-tables.
- Monitors die zijn gemaakt over gematerialiseerde views en streaming tables bieden geen ondersteuning voor incrementele verwerking.
- Niet alle regio's worden ondersteund. Voor regionale ondersteuning, zie de columnLakehouse-bewaking in de tableAI en machine learning.
Notitie
Databricks Lakehouse Monitoring maakt gebruik van serverloze berekeningen voor taken. Zie De kosten van Lakehouse Monitoring bekijken voor meer informatie over het bijhouden van Kosten van Lakehouse Monitoring.
Hoe Lakehouse Monitoring werkt op Databricks
Als u een table in Databricks wilt bewaken, maakt u een monitor die is gekoppeld aan de table. Als u de prestaties van een Machine Learning-model wilt bewaken, koppelt u de monitor aan een deductie table die de invoer van het model en de bijbehorende voorspellingen bevat.
Databricks Lakehouse Monitoring biedt de volgende typen analyse: tijdreeks, momentopname en deductie.
Profieltype | Beschrijving |
---|---|
Tijdreeks | Gebruik voor tables die een tijdreeksdataset bevat op basis van een tijdstempel column. Bewaking berekent metrische gegevenskwaliteit in tijdvensters van de tijdreeks. |
Deductie | Gebruik dit voor tables dat het aanvraaglogboek voor een model bevat. Elke rij is een verzoek, met columns voor de tijdstempel, de modelinvoer, de bijbehorende voorspelling en (optioneel) grondwaarheidslabel. Bewaking vergelijkt metrische gegevens over modelprestaties en gegevenskwaliteit in tijdgebaseerde vensters van het aanvraaglogboek. |
Momentopname | Gebruik dit voor alle andere typen tables. Bewaking berekent metrische gegevens van gegevenskwaliteit voor alle gegevens in de table. De volledige table wordt met elke refreshverwerkt. |
In deze sectie wordt kort de invoer tables die door Databricks Lakehouse Monitoring wordt gebruikt en de metriek tables die het produceert beschreven. Het diagram toont de relatie tussen de invoer tables, de metrische tables, de monitor en het dashboard.
Primair table en basislijn table
Naast de table die moeten worden bewaakt en 'primaire table' worden genoemd, kunt u desgewenst een basislijn table opgeven om te gebruiken als referentie voor het meten van drift of de verandering in values in de loop van de tijd. Een basislijn table is handig wanneer u een voorbeeld hebt van wat u verwacht dat uw gegevens eruitzien. Het idee is dat drift vervolgens wordt berekend ten opzichte van verwachte gegevens values en distributies.
De basislijn table moet een gegevensset bevatten die de verwachte kwaliteit van de invoergegevens weerspiegelt, wat betreft statistische distributies, afzonderlijke column distributies, ontbrekende valuesen andere kenmerken. Deze moet overeenkomen met de schema van de bewaakte table. De uitzondering is de tijdstempel column voor tables die wordt gebruikt met tijdreeksen of inferentieprofielen. Als columns ontbreekt in de primaire table of de basislijn table, gebruikt het monitoringsysteem best-effort heuristieken om de resultaten te berekenen.
Voor monitors die een momentopnameprofiel gebruiken, moet de basislijn-table een momentopname van de gegevens bevatten where de distributie een acceptabele kwaliteitsnorm vertegenwoordigt. Bij cijferdistributiegegevens kan men bijvoorbeeld set de basislijn vergelijken met een eerdere klas waarin where de cijfers gelijkmatig waren verdeeld.
Voor monitors die een tijdreeksprofiel gebruiken, moet de basislijn table gegevens bevatten die de tijd window(s) vertegenwoordigen en gegevensdistributies where een acceptabele kwaliteitsnorm vormen. Bij weergegevens kunt u bijvoorbeeld set de basislijn naar een week, maand of jaar where de temperatuur dicht bij de verwachte normale temperaturen was.
Voor monitors die gebruikmaken van een deductieprofiel, is een goede keuze voor een basislijn de gegevens die zijn gebruikt voor het trainen of valideren van het model dat wordt bewaakt. Op deze manier kunnen gebruikers worden gewaarschuwd wanneer de gegevens zijn afgelopen ten opzichte van waarop het model is getraind en gevalideerd. Deze table moet dezelfde functie bevatten columns als de primaire tableen moet bovendien dezelfde model_id_col
hebben die is opgegeven voor de inferenceLog van de primaire table, zodat de gegevens consistent worden geaggregeerd. In het ideale geval moet de test- of validatie-set die gebruikt wordt om het model te evalueren, worden gebruikt om vergelijkbare kwaliteitsmetingen te garanderen.
Metriek tables en dashboard
Een table monitor maakt twee metrieken tables en een dashboard aan. Metriek values wordt berekend voor de hele tableen voor de tijdvensters en datasubsets (of delen) die je opgeeft wanneer je de monitor maakt. Daarnaast worden voor deductieanalyse metrische gegevens berekend voor elke model-id. Voor meer informatie over de metriek tables, zie controleer metriek tables.
- De profielmetrieken table bevatten samenvattingsstatistieken. Zie de metrische gegevens van het profiel tableschema.
- De driftmetriek table bevatten statistieken met betrekking tot de drift van de gegevens in de loop van de tijd. Als er een basislijn table wordt opgegeven, wordt de afwijking ook gemonitord ten opzichte van de basislijn values. Zie de metrische gegevens van drift tableschema.
De metrische tables zijn Delta tables en worden opgeslagen in een door u gespecificeerde Unity Catalogschema. U kunt deze tables bekijken met behulp van de Databricks-gebruikersinterface, ze opvragen met behulp van Databricks SQL en hierop gebaseerde dashboards en waarschuwingen maken.
Voor elke monitor maakt Databricks automatisch een dashboard om u te helpen bij het visualiseren en presenteren van de monitorresultaten. Het dashboard kan volledig worden aangepast. Zie Dashboards.
Aan de slag met Lakehouse Monitoring op Databricks
Zie de volgende artikelen om get te starten:
- Maak een monitor met behulp van de Databricks-gebruikersinterface.
- Maak een monitor met behulp van de API.
- Begrijp monitorstatistieken tables.
- Werk met het monitordashboard.
- Maak SQL-waarschuwingen op basis van een monitor.
- Aangepaste metrische gegevens maken.
- Bewaken van aangepaste model-serveer-eindpunten.
- Controleer de redelijkheid en vooroordelen voor classificatiemodellen.
- Zie het referentiemateriaal voor de Databricks Lakehouse Monitoring-API.
- Voorbeeldnotitieblokken.