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
As tabelas de inferência habilitadas para o Gateway de IA têm suporte apenas para pontos de extremidade que utilizam taxa de transferência provisionada ou que servem a modelos externos.
Um workspace do Databricks em uma das seguintes plataformas:
Para workspaces que têm conectividade privada configurada na conta de armazenamento do Catálogo do Unity, siga as etapas em Configurar conectividade privada de computação sem servidor.
Databricks recomenda que você habilite a otimização preditiva para otimizar o desempenho das suas tabelas de inferência.
Seu workspace deve ter o Catálogo do Unity habilitado.
Tanto o criador do ponto de extremidade quanto o modificador devem ter a permissão Pode gerenciar no ponto de extremidade. Confira Listas de controle de acesso.
O criador do endpoint e o modificador devem ter as seguintes permissões de no Catálogo do Unity.
- Permissões
USE CATALOG
no catálogo especificado. - Permissões
USE SCHEMA
no esquema especificado. - Permissões
CREATE TABLE
no esquema.
- Permissões
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:
- Clique em Servir na interface do usuário da IA do Databricks Mosaic.
- Clique em Criar ponto de extremidade de serviço.
- 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:
- Na seção Gateway de IA, clique em Editar Gateway de IA.
- Selecione Habilitar tabelas de inferência.
Siga estas instruções para desabilitar tabelas de inferência:
- Navegue até a página do ponto de extremidade.
- Clique em Editar Gateway de IA.
- Clique em Habilitar tabela de inferência para remover a marca de seleção.
- 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.
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
elogging_error_codes
são preenchidos comMAX_REQUEST_SIZE_EXCEEDED
ouMAX_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.