Monitorar modelos atendidos usando tabelas de inferência habilitadas para AI Gateway
Visualização
Esse recurso está em Public Preview.
Este artigo descreve tópicos que se aplicam a tabelas de inferência para modelos externos, cargas de trabalho de provisionamento ou modelos de agentes. Para modelos personalizados, consulte Tabelas de inferência para monitoramento e depuração de modelos.
Este artigo descreve as tabelas de inferência habilitadas para o AI Gateway para monitorar modelos atendidos. A tabela de inferência captura automaticamente as solicitações de entrada e as respostas de saída para um endpoint e logs como uma tabela Unity Catalog Delta . O senhor pode usar os dados dessa tabela para monitorar, avaliar, comparar e ajustar o modelo de aprendizado de máquina.
O que são tabelas de inferência habilitadas pelo AI Gateway?
AI As tabelas de inferência habilitadas para gateway simplificam o monitoramento e o diagnóstico de modelos, registrando continuamente as entradas e respostas de solicitações de serviço (previsões) do endpoint Mosaic AI Model Serving e salvando-as em uma tabela Delta em Unity Catalog. Em seguida, o senhor pode usar todos os recursos da plataforma Databricks, como as consultas Databricks SQL e o Notebook para monitorar, depurar e otimizar seus modelos.
O senhor pode ativar tabelas de inferência no modelo de serviço existente ou recém-criado endpoint, e as solicitações para esse endpoint são automaticamente registradas em uma tabela em Unity Catalog.
Alguns aplicativos comuns para tabelas de inferência são os seguintes:
- Criar um corpus de treinamento. Ao unir as tabelas de inferência com o rótulo da verdade fundamental, o senhor pode criar um corpus de treinamento que pode ser usado para retreinar ou ajustar e aprimorar seu modelo. Usando o Databricks Jobs, o senhor pode configurar um loop de feedback contínuo e automatizar o re-treinamento.
- Monitore os dados e a qualidade do modelo. O senhor pode monitorar continuamente o desempenho do modelo e o desvio de dados usando o lakehouse monitoramento. O lakehouse monitoramento gera automaticamente painéis de qualidade de dados e modelos que o senhor pode compartilhar com as partes interessadas. Além disso, o senhor pode ativar o alerta para saber quando precisa treinar novamente o modelo com base em mudanças nos dados recebidos ou reduções no desempenho do modelo.
- Depure problemas de produção. Tabelas de inferência log dados como códigos de status HTTP, solicitação e resposta JSON código, tempos de execução do modelo e saída de traços durante os tempos de execução do modelo. O senhor pode usar esses dados de desempenho para fins de depuração. O senhor também pode usar os dados históricos em tabelas de inferência para comparar o desempenho do modelo em solicitações históricas.
- Monitorar os agentes implantados AI. As tabelas de inferência também podem armazenar MLflow traces para AI agentes, ajudando o senhor a depurar problemas e monitorar o desempenho.
Requisitos
-
AI As tabelas de inferência habilitadas para gateway são compatíveis apenas com endpoints que usam provisionamento de taxa de transferência, atendem a modelos externos ou atendem a um agente implantado em AI.
-
Um Databricks workspace em ambos:
-
Para obter conectividade privada, conclua as etapas em Habilitar conectividade privada usando o AWS PrivateLink. AWS O PrivateLink não é compatível com o site default.
-
A Databricks recomenda que o senhor ative a otimização preditiva para otimizar o desempenho de suas tabelas de inferência.
-
Seu workspace deve ter o Unity Catalog habilitado.
-
Tanto o criador do site endpoint quanto o modificador devem ter permissão para gerenciar o site endpoint. Consulte Listas de controle de acesso.
-
Tanto o criador do site endpoint quanto o modificador devem ter as seguintes permissões em Unity Catalog:
USE CATALOG
permissões no catálogo especificado.USE SCHEMA
permissões no esquema especificado.CREATE TABLE
permissões no esquema.
A tabela de inferência pode parar de registrar dados ou ficar corrompida se você fizer o seguinte:
- Altere o esquema da tabela.
- Altere o nome da tabela.
- Exclua a tabela.
- Perder permissões para o catálogo ou esquema do Unity Catalog.
Ativar e desativar tabelas de inferência
Esta seção mostra como ativar ou desativar tabelas de inferência usando a Serving UI. O proprietário das tabelas de inferência é o usuário que criou o site endpoint. Todas as listas de controle de acesso (ACLs) na tabela seguem as permissões padrão do Unity Catalog e podem ser modificadas pelo proprietário da tabela.
Para ativar as tabelas de inferência durante a criação do endpoint, siga as etapas abaixo:
- Clique em Serving na UI do Databricks Mosaic AI.
- Clique em Criar endpoint de serviço .
- Na seção AI Gateway, selecione Enable inference tables (Ativar tabelas de inferência ).
O senhor também pode ativar tabelas de inferência em um endpoint existente. Para editar uma configuração de endpoint existente, faça o seguinte:
- Na seção AI Gateway, clique em Edit AI Gateway .
- Selecione Habilitar tabelas de inferência .
Siga estas instruções para desativar as tabelas de inferência:
- Navegue até a página de seu endpoint.
- Clique em Edit AI Gateway .
- Clique em Habilitar tabela de inferência para remover a marca de seleção.
- Quando o senhor estiver satisfeito com as especificações do AI Gateway, clique em Update (Atualizar ).
Habilitar tabelas de inferência para os agentes do site AI
O senhor também pode ativar tabelas de inferência para implantar agentes AI. Essas tabelas de inferência armazenam detalhes da carga útil e da solicitação, bem como MLflow Trace logs.
Habilite tabelas de inferência para os agentes do site AI usando os seguintes métodos:
- Os agentes implantados usando o
mlflow.deploy()
API têm tabelas de inferência ativadas automaticamente. Veja implantado um agente para aplicativos generativos AI. - Para implementações programáticas, defina a variável de ambiente
ENABLE_MLFLOW_TRACING
comoTrue
na configuração do endpoint. Consulte Adicionar texto simples variável de ambiente.
Para saber mais sobre o rastreamento de agentes do site MLflow, consulte Monitorar agentes implantados com tabelas de inferência.
Consulte e analise os resultados na tabela de inferência
Depois que os modelos atendidos estiverem prontos, todas as solicitações feitas aos modelos serão registradas automaticamente na tabela de inferência, juntamente com as respostas. O senhor pode view a tabela na interface do usuário, consultar a tabela em Databricks SQL ou em um Notebook, ou consultar a tabela usando o REST API.
Para view a tabela na interface do usuário: Na página endpoint, clique no nome da tabela de inferência para abrir a tabela no Catalog Explorer.
Para consultar a tabela em Databricks SQL ou em um notebook Databricks: O senhor pode executar um código semelhante ao seguinte para consultar a tabela de inferência.
SELECT * FROM <catalog>.<schema>.<payload_table>
Para join os dados de sua tabela de inferência com detalhes sobre o modelo de base subjacente servido em seu endpoint : Os detalhes do modelo de base são capturados em system.serving.served_entities tabela do sistema.
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 AI Gateway
As tabelas de inferência ativadas usando o AI Gateway têm o seguinte esquema:
Nome da coluna | Descrição | Tipo |
---|---|---|
| A data UTC em que a solicitação do modelo de serviço foi recebida. | Data |
| Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo. | String |
| O identificador de solicitação fornecido pelo usuário que pode ser especificado no corpo da solicitação do modelo de serviço. | String |
| A data e hora em que a solicitação é recebida. | Timestamp |
| O código de status HTTP que foi retornado do modelo. | INT |
| A fração de amostragem usada no caso de a solicitação ter sido reduzida. Esse valor está entre 0 e 1, em que 1 representa que 100% das solicitações recebidas foram incluídas. | double |
| O tempo em milissegundos durante o qual o modelo realizou a inferência. Isso não inclui latências de rede aérea e representa apenas o tempo necessário para o modelo gerar previsões. | BigInt |
| O corpo bruto da solicitação JSON que foi enviado para o modelo de serviço endpoint. | String |
| O corpo da resposta bruta JSON que foi retornado pelo modelo de serviço endpoint. | String |
| O ID exclusivo da entidade atendida. | String |
| Os erros que ocorreram quando os dados não puderam ser registrados. Os códigos de erro incluem | matriz |
| O ID do usuário ou da entidade de serviço cujas permissões são usadas para a solicitação de invocação do serviço endpoint. | String |
AI esquemas de tabelas de inferência de agentes
Para os agentes do AI, o Databricks cria três tabelas de inferência para cada implantação para log solicitações e respostas de e para o modelo de serviço endpoint:
Tabela de inferência | Exemplo de nome de tabela do Databricks | Conteúdo da tabela |
---|---|---|
Payload |
| Cargas de solicitação e resposta JSON brutas |
Logs de solicitação de payload |
| Solicitação e respostas formatadas, rastreamentos do MLflow |
Logs de avaliação de payload |
| Feedback formatado, conforme apresentado no aplicativo de avaliação, para cada solicitação |
Os usuários podem esperar os dados nas tabelas de carga útil dentro de uma hora após a interação com o endpoint de atendimento. Os logs de solicitação de carga útil e os logs de avaliação podem levar mais tempo para serem preenchidos e são derivados da tabela de carga útil bruta. O senhor mesmo pode extrair os logs de solicitação e avaliação da tabela de carga útil. As exclusões e atualizações da tabela de carga útil não são refletidas nos logs de solicitação de carga útil ou nos logs de avaliação de carga útil.
O esquema a seguir mostra o esquema da tabela Payload request logs (Registros de solicitação de carga útil):
Nome da coluna | Descrição | Tipo |
---|---|---|
| Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo. | String |
| Um identificador de solicitação opcional gerado pelo cliente que pode ser especificado no corpo da solicitação do modelo de serviço. | String |
| A data UTC em que a solicitação do modelo de serviço foi recebida. | Data |
| O registro de data e hora em milissegundos de época em que a solicitação do modelo de serviço foi recebida. | Long |
| Carimbo de data/hora da solicitação. | Timestamp |
| O código de status HTTP que foi retornado do modelo. | INT |
| A fração de amostragem usada no caso de a solicitação ter sido reduzida. Esse valor está entre 0 e 1, em que 1 representa que 100% das solicitações recebidas foram incluídas. | double |
| O tempo de execução em milissegundos para o qual o modelo realizou a inferência. Isso não inclui latências de rede aérea e representa apenas o tempo necessário para o modelo gerar previsões. | Long |
| O ID da conversa extraído da solicitação logs. | String |
| A última consulta do usuário na conversa do usuário. | String |
| A última resposta ao usuário. | String |
| A representação de strings da solicitação. | String |
| representação em strings da resposta. | String |
| representação de strings do traço extraído do | String |
| Um mapa de metadados relacionados ao modelo de serviço endpoint associado à solicitação. Esse mapa contém o nome endpoint, o nome do modelo e a versão do modelo usados para o seu endpoint. | MAP<strings, strings> |
| A versão do esquema. | String |
A seguir, o esquema da tabela Payload assessment logs:
Nome da coluna | Descrição | Tipo |
---|---|---|
| Uma ID de solicitação do Databricks. | String |
| O ID da etapa, derivado da avaliação de recuperação. | String |
| Um campo estruturado que contém as informações sobre quem criou a avaliação. | struct |
| Carimbo de data/hora da solicitação. | Timestamp |
| Os dados de qualquer feedback sobre as respostas do agente no aplicativo de avaliação. | String |
| Os dados de qualquer feedback sobre os documentos recuperados para uma resposta. | String |
Limitações
-
provisionamento Taxa de transferência de cargas de trabalho:
- Se o senhor criar um novo modelo de serviço endpoint que use o provisionamento Taxa de transferência, somente as tabelas de inferência habilitadas pelo AI Gateway serão suportadas.
- Se o senhor tiver um modelo de serviço existente endpoint que use o provisionamento Taxa de transferência e nunca tenha tido tabelas de inferência configuradas anteriormente , poderá atualizá-lo para usar as tabelas de inferência habilitadas pelo AI Gateway.
- Se o senhor tiver um modelo de serviço existente endpoint que use o provisionamento Taxa de transferência e tiver tabelas de inferência configuradas atualmente ou anteriormente , não será possível atualizá-lo para usar as tabelas de inferência habilitadas pelo AI Gateway.
- Para a transmissão AI resposta do agente logs, somente os campos e rastreamentos compatíveis com o ChatCompletion são agregados.
-
Tabelas de inferência log Atualmente, a entrega é feita com o máximo de esforço, mas o senhor pode esperar que o logs esteja disponível em até 1 hora após a solicitação. Entre em contato com a equipe do Databricks account para obter mais informações.
-
O tamanho máximo de solicitação e resposta que são registrados é de 1 MiB (1.048.576 bytes). As cargas úteis de solicitação e resposta que excedem esse limite são registradas como
null
elogging_error_codes
são preenchidas comMAX_REQUEST_SIZE_EXCEEDED
ouMAX_RESPONSE_SIZE_EXCEEDED
.
Para conhecer as limitações específicas do AI Gateway, consulte Limitações. Para conhecer as limitações gerais do servindo modelo endpoint, consulte limites e regiões do servindo modelo.