Compartilhar via


Monitorar modelos atendidos usando tabelas de inferência habilitadas para Gateway de IA

Importante

Esse recurso está em uma versão prévia.

Importante

Este artigo descreve tópicos que se aplicam a tabelas de inferência para modelos externos, cargas de trabalho com taxa de transferência provisionada ou modelos de agente. Para modelos personalizados, confira Tabelas de inferência para monitoramento e depuração de modelos.

Este artigo descreve tabelas de inferência habilitadas pelo Gateway de IA para o monitoramento de modelos servidos. A tabela de inferências captura automaticamente as solicitações de entrada e as respostas de saída em um endpoint, registrando-as como uma tabela Delta do Unity Catalog. Você pode usar os dados nesta tabela para monitorar, avaliar, comparar e ajustar modelos de machine learning.

Quais são as tabelas de inferência habilitadas pelo Gateway de IA?

As tabelas de inferência habilitadas para Gateway de IA simplificam o monitoramento e o diagnóstico de modelos, registrando continuamente as entradas e respostas de solicitações (previsões) dos pontos de extremidade do Serviço de Modelo de IA do Mosaic e salvando-as em uma tabela Delta no Catálogo do Unity. Em seguida, você pode usar todos os recursos da plataforma Databricks, como consultas SQL do Databricks e notebooks para monitorar, depurar e otimizar seus modelos.

Você pode habilitar tabelas de inferência em um endpoint de serviço de modelo já existente ou recém-criado, e as solicitações para esse endpoint são automaticamente registradas em uma tabela no Catálogo do Unity.

Alguns aplicativos comuns para tabelas de inferência são os seguintes:

  • Crie um corpus de treinamento. Ao unir tabelas de inferência com rótulos de verdade básica, você pode criar um corpus de treinamento que pode ser usado para treinar novamente ou ajustar e melhorar seu modelo. Usando tarefas do Databricks, você pode configurar um loop de feedback contínuo e automatizar o re-treinamento.
  • Monitore a qualidade dos dados e do modelo. Você pode monitorar continuamente o desempenho do seu modelo e o desvio de dados usando a ferramenta de Monitoramento Lakehouse. O Monitoramento do Lakehouse gera automaticamente dashboards de qualidade de dados e de modelos que você pode compartilhar com as partes interessadas. Além disso, você pode habilitar alertas para saber quando precisa treinar novamente seu modelo com base em mudanças nos dados de entrada ou reduções no desempenho do modelo.
  • Depuração de problemas de produção. Tabelas de inferência registram dados como códigos de status HTTP, código JSON de solicitação e resposta, tempos de execução do modelo e acompanhamentos de saída durante os tempos de execução do modelo. Você pode usar esses dados de desempenho para fins de depuração. Você também pode usar os dados históricos em tabelas de inferência para comparar o desempenho do modelo em solicitações históricas.

Requisitos

Aviso

A tabela de inferência poderá interromper o registro em log de dados ou ficar corrompida se você fizer o seguinte:

  • Altere o esquema da tabela.
  • Altere o nome da tabela.
  • Excluir a tabela.
  • Perder permissões para o catálogo ou esquema do Catalog do Unity.

Habilitar e desabilitar tabelas de inferência

Esta seção mostra como habilitar ou desabilitar tabelas de inferência usando a interface do usuário de serviço. O proprietário das tabelas de inferência é o usuário que criou o ponto de extremidade. Todas as ACLs (listas de controle de acesso) na tabela seguem as permissões padrão do Catálogo do Unity e podem ser modificadas pelo proprietário da tabela.

Para habilitar tabelas de inferência durante a criação do ponto de extremidade, use as seguintes etapas:

  1. Clique em Servir na interface do usuário da IA do Databricks Mosaic.
  2. Clique em Criar ponto de extremidade de serviço.
  3. Na seção Gateway de IA, selecione Habilitar tabelas de inferência.

Você também pode habilitar tabelas de inferência em um ponto de extremidade existente. Para editar uma configuração de ponto de extremidade existente, faça o seguinte:

  1. Na seção Gateway de IA, clique em Editar Gateway de IA.
  2. Selecione Habilitar tabelas de inferência.

Siga estas instruções para desabilitar tabelas de inferência:

  1. Navegue até a página do ponto de extremidade.
  2. Clique em Editar Gateway de IA.
  3. Clique em Habilitar tabela de inferência para remover a marca de seleção.
  4. Quando estiver satisfeito com as especificações do Gateway de IA, clique em Atualizar.

Consultar e analisar resultados na tabela de inferência

Depois que os modelos servidos estiverem prontos, todas as solicitações feitas aos modelos serão registradas automaticamente na tabela de inferência, juntamente com as respostas. Você pode exibir a tabela na interface do usuário, consultar a tabela no Databricks SQL ou em um notebook ou consultar a tabela usando a API REST.

Para exibir a tabela na interface do usuário: Na página do endpoint, clique no nome da tabela de inferência para abrir a tabela no Catalog Explorer.

link para o nome da tabela de inferência na página do ponto de extremidade

Para consultar a tabela do Databricks SQL ou de um notebook do Databricks: Você pode executar um código semelhante ao seguinte para consultar a tabela de inferência.

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

** Para unir os dados da tabela de inferência com detalhes sobre o modelo de fundação subjacente atendido no seu ponto de extremidade:** Os detalhes do modelo da Fundação são capturados na tabela do sistema system.serving.served_entities.

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

Esquema de tabela de inferência habilitado para Gateway de IA

As tabelas de inferência habilitadas usando o Gateway de IA têm o seguinte esquema:

Nome da coluna Descrição Tipo
request_date A data UTC em que a solicitação de serviço de modelo foi recebida. DATE
databricks_request_id Um identificador de solicitação gerado pelo Azure Databricks anexado a todas as solicitações de serviço de modelo. STRING
request_time O carimbo de data/hora no qual a solicitação é recebida. CARIMBO DE DATA/HORA
status_code O código de status HTTP que foi retornado do modelo. INT
sampling_fraction A fração de amostragem usada no caso de o pedido ter sido reduzido para baixo. Esse valor está entre 0 e 1, onde 1 representa que 100% de solicitações de entrada foram incluídas. DOUBLE
execution_duration_ms O tempo em milissegundos para o qual o modelo executou inferência. Isso não inclui latências de rede de sobrecarga e representa apenas o tempo necessário para o modelo gerar previsões. bigint
request O corpo JSON da solicitação bruta que foi enviado para o ponto de extremidade de serviço do modelo. STRING
response O corpo JSON de resposta bruta que foi retornado pelo ponto de extremidade de serviço do modelo. STRING
served_entity_id A ID exclusiva da entidade atendida. STRING
logging_error_codes Os erros que ocorreram quando os dados não puderam ser registrados. Os códigos de erro incluem MAX_REQUEST_SIZE_EXCEEDED e MAX_RESPONSE_SIZE_EXCEEDED. ARRAY
requester A ID do usuário ou da entidade de serviço cujas permissões são utilizadas para a solicitação de invocação do ponto de extremidade de serviço. STRING

Limitações

  • Cargas de trabalho de taxa de transferência provisionada:

    • Se você criar um ponto de extremidade do serviço de modelo que use a taxa de transferência provisionada, apenas as tabelas de inferência habilitadas para Gateway AI serão compatíveis.
    • Se você tiver um ponto de extremidade de serviço de modelo existente que usa a taxa de transferência provisionada que nunca teve tabelas de inferência configuradas antes, você poderá atualizá-lo para usar tabelas de inferência habilitadas para Gateway de IA.
    • Se você tiver um ponto de extremidade de serviço de modelo existente que usa a taxa de transferência provisionada com tabelas de inferência configuradas no momento ou anteriormente, você não poderá atualizá-lo para usar tabelas de inferência habilitadas para Gateway de IA.
    • Para registros de resposta de agentes de IA em streaming, somente os campos e rastreamentos compatíveis com ChatCompletion são agregados.
  • Atualmente, a entrega de logs de tabelas de inferência é o melhor esforço, mas você pode esperar que os logs estejam disponíveis dentro de uma hora após uma solicitação. Entre em contato com a equipe da sua conta do Databricks para obter mais informações.

  • O tamanho máximo de solicitação e resposta registrados é de 1 MiB (1.048.576 bytes). Os payloads de solicitação e resposta que excedem esse limite são registrados como null e logging_error_codes são preenchidos com MAX_REQUEST_SIZE_EXCEEDED ou MAX_RESPONSE_SIZE_EXCEEDED.

Para informações sobre limitações específicas do Gateway de IA, confira Limitações. Para obter informações sobre limitações de modelos de ponto de extremidade de serviço de caráter geral, confira limites e regiões de modelos de serviço.