Monitore dados e ativos de IA com perfil de dados
Este artigo descreve o perfil de dados. Ele abrange os benefícios do monitoramento de seus dados e fornece uma visão geral dos componentes e do uso do perfil de dados.
O perfil de dados permite monitorar as propriedades estatísticas e a qualidade dos dados em todas as tabelas em sua account. Também é possível usá-lo para acompanhar o desempenho de modelos de machine learning e endpoints de serviço de modelo, monitorando tabelas de inferência que contêm inputs e previsões de modelo. O diagrama mostra o fluxo de dados por meio de pipelines de dados e ML no Databricks, e como é possível usar o monitoramento para acompanhar continuamente a qualidade dos dados e o desempenho do modelo.
Por que usar o perfil de dados?
Para obter percepções úteis de seus dados, é preciso ter confiança na qualidade de seus dados. O monitoramento de seus dados fornece medidas quantitativas que ajudam a acompanhar e confirmar a qualidade e a consistência de seus dados ao longo do tempo. Ao detectar alterações na distribuição de dados de sua tabela ou no desempenho do modelo correspondente, as tabelas criadas pelo perfil de dados podem capturar e alertá-lo sobre a alteração, e podem ajudar a identificar a causa.
O perfil de dados ajuda a responder a perguntas como as seguintes:
- Como é a integridade dos dados e como ela muda com o tempo? Por exemplo, qual é a fração de valores nulos ou zero nos dados atuais, e, ela aumentou?
- Como é a distribuição estatística dos dados e como ela muda com o tempo? Por exemplo, qual é o 90º percentil de uma coluna numérica? Ou, qual é a distribuição de valores em uma coluna categórica e como ela difere de ontem?
- Há desvio entre os dados atuais e uma linha de base conhecida ou entre janelas de tempo sucessivas dos dados?
- Como é a distribuição estatística ou desvio de um subconjunto ou fatia dos dados?
- Como as entradas e previsões do modelo de ML estão mudando ao longo do tempo?
- Qual é a tendência do desempenho do modelo com o tempo? A versão do modelo A apresenta um desempenho melhor do que a versão B?
Além disso, o perfil de dados permite controlar a granularidade temporal das observações e configurar métricas personalizadas.
Como funciona o perfil de dados no Databricks
Para monitorar uma tabela no Databricks, você cria um monitor anexado à tabela. Para monitorar o desempenho de um modelo do machine learning, anexe o monitor a uma tabela de inferência que contém os inputs do modelo e as previsões correspondentes.
O perfil de dados oferece os seguintes tipos de análise: série temporal, Snapshot e inferência.
Tipo de perfil | Descrição |
|---|---|
Série temporal | Use para tabelas que contêm um dataset de séries temporais com base em uma coluna de carimbo de data/hora. O monitoramento calcula as métricas de qualidade de dados em janelas temporais da série temporal. |
Inferência | Use para tabelas que contêm o log de solicitações para um modelo. Cada linha é uma solicitação, com colunas para o carimbo de data/hora, os inputs do modelo, a previsão correspondente e (opcionalmente) o rótulo da verdade fundamental. O monitoramento compara o desempenho do modelo e as métricas de qualidade de dados em janelas temporais baseadas no log de solicitações. |
Snapshot | Use para todos os outros tipos de tabelas. O monitoramento calcula métricas de qualidade de dados com todos os dados na tabela. A tabela completa é processada com cada refresh. |
Esta seção descreve brevemente as tabelas de entrada utilizadas pelo perfil de dados e as tabelas de métricas que ele produz.
Tabela primária e tabela de referência
Além da tabela a ser monitorada, chamada de "tabela primária", você pode optar por especificar uma tabela de referência para medir o desvio ou a alteração nos valores ao longo do tempo. A tabela de referência é útil quando você tem uma amostra de como espera que sejam os seus dados. A ideia é que o desvio seja então calculado em relação aos valores e distribuições de dados esperados.
A tabela de referência deve conter um dataset que reflita a qualidade esperada dos dados de entrada, no que diz respeito às distribuições estatísticas, distribuições de colunas individuais, valores ausentes e outras características. Deve corresponder ao esquema da tabela monitorada. A exceção é a coluna de carimbo de data/hora para tabelas utilizadas com séries temporais ou perfis de inferência. Se houver colunas faltando na tabela primária ou na tabela de referência, o monitoramento utilizará estratégias baseadas em tentativa e erro para computar as métricas de saída.
Para monitores que utilizam um perfil de snapshot, a tabela de referência deve conter um snapshot dos dados em que a distribuição representa um padrão de qualidade aceitável. Por exemplo, em dados de distribuição de notas, pode-se definir a referência para uma classe anterior em que as notas foram distribuídas de maneira uniforme.
Para monitores que utilizam um perfil de série temporal, a tabela de referência deve conter dados que representem janelas de tempo em que as distribuições de dados representam um padrão de qualidade aceitável. Por exemplo, em dados meteorológicos, você pode definir a referência como uma semana, mês ou ano em que a temperatura estava próxima das temperaturas normais esperadas.
Para monitores que usam um perfil de inferência, uma boa opção para a linha de base são os dados usados para ensinar ou validar o modelo que está sendo monitorado. Dessa forma, os usuários podem ser alertados quando os dados tiverem drift em relação ao que o modelo foi ensinado e validado com base. Esta tabela deve conter as mesmas colunas de recursos que a tabela primária e, além disso, deve ter o mesmo model_id_col que foi especificado para o InferenceLog da tabela primária para que os dados sejam agregados de forma consistente. De preferência, o conjunto de teste ou validação usado para avaliar o modelo deve ser usado para garantir métricas de qualidade comparáveis do modelo.
Tabelas de métricas
Um monitor de tabela cria duas tabelas de métricas. Valores de métrica são computados para a tabela inteira, e para as janelas de tempo e subconjuntos de dados (ou “fatias”) que são especificados ao criar o monitor. Além disso, para análise de inferência, métricas são computadas para cada ID de modelo.
- A tabela de métricas de perfis contém estatísticas resumidas.
- A tabela de métricas de drift contém estatísticas relacionadas ao drift dos dados ao longo do tempo. Se uma tabela de linha de base for fornecida, o drift também será monitorado em relação aos valores da linha de base.
As tabelas de métrica são tabelas Delta e são armazenadas em um esquema do Unity Catalog que é especificado. É possível visualizar essas tabelas usando a UI do Databricks e consultá-las usando o Databricks SQL.
Criar um monitor
Para criar um monitor de dados utilizando a interface do usuário do Databricks, consulte Criar um monitor utilizando a interface do usuário do Databricks.
Para criar um monitor programaticamente usando o Databricks SDK ou a REST API, consulte Criar um monitor usando a API do Databricks.