Monitorar modelos atendidos usando tabelas de inferência habilitadas para AI Gateway
Visualização
O Mosaic AI Gateway está em Public Preview e é compatível com us-east1
e us-central1
.
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 pontos de extremidade que atendem a qualquer um dos seguintes itens:
- provisionamento Taxa de transferência cargas de trabalho
- Modelos de pagamento por tokens
- Modelos externos
- Modelos personalizados
-
Um Databricks workspace em uma região onde o servindo modelo é suportado. Consulte a disponibilidade regional do modelo servindo.
-
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.
- Altere ou exclua o proprietário da tabela.
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 MLflow, consulte Observabilidade do agente com MLflow Tracing.
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.
A tabela do sistema system.serving.served_entities
não é compatível com o ponto de extremidade pay-per-tokens, mas o senhor pode unir as tabelas de inferência e uso para obter detalhes semelhantes.
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
-
Tabela de inferência log A entrega para o endpoint servindo modelo que serve modelos personalizados leva cerca de 2 horas.
-
Tabelas de inferência log O fornecimento para o endpoint do modelo de serviço que atende a cargas de trabalho, modelos externos ou agentes do Foundation Model API é atualmente o melhor esforço. O senhor pode esperar que o site 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.