Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Se seu ponto de extremidade do serviço de modelo personalizado exigir a experiência de tabela de inferência herdada, consulte Tabelas de inferência para modelos de monitoramento e depuração.
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 pelo Gateway de IA simplificam o monitoramento e o diagnóstico de modelos ao registrar continuamente as entradas e as respostas de solicitações de serviço (previsões) dos pontos de extremidade do Serviço de Modelo do Mosaic AI e salvá-las 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 Lakeflow, você pode configurar um ciclo de feedback contínuo e automatizar o re-treinamento.
- Monitore a qualidade dos dados e do modelo. Você pode monitorar continuamente o desempenho do modelo e o desvio de dados usando a perfilagem de dados, que gera automaticamente dados e painéis de qualidade do modelo 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 de log, como códigos de status HTTP, solicitações e respostas em formato JSON, tempos de execução do modelo e saída de rastreamentos 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.
- Monitorar agentes de IA implantados. As tabelas de inferência também podem armazenar rastreamentos de MLflow para agentes de IA que ajudam você a depurar problemas e monitorar o desempenho.
Requisitos
- Tabelas de inferência habilitadas para AI Gateway têm suporte para pontos de extremidade que atendem a qualquer um dos seguintes:
- Um workspace do Databricks em uma região em que há suporte para o serviço de modelo. Consulte a disponibilidade de recursos de serviço do Modelo.
- A computação sem servidor deve ser habilitada no workspace.
- Para workspaces que têm conectividade privada configurada na conta de armazenamento do Catálogo do Unity, siga as etapas em Configurar a conectividade privada com os recursos do Azure.
- O Databricks recomenda que você habilite a otimização preditiva para o desempenho otimizado de suas tabelas de inferência.
- Seu workspace deve ter o Catálogo do Unity habilitado.
- O criador do ponto de extremidade e o modificador devem ter a permissão Pode Gerenciar no ponto de extremidade. Consulte as listas de controle do Access.
- O criador do ponto de extremidade e o modificador devem ter as seguintes permissões no Catálogo do Unity:
- Permissões
USE CATALOGno catálogo especificado. - Permissões
USE SCHEMAno esquema especificado. - Permissões
CREATE TABLEno esquema.
- Permissões
- O catálogo não pode ser um catálogo de compartilhamento Delta para o metastore atual.
Observação
Não há suporte para especificar uma tabela existente. O Azure Databricks cria automaticamente uma nova tabela de inferência quando você cria um ponto de extremidade ou atualiza a configuração do Gateway de IA com a opção de configuração de tabela de inferência ativada.
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.
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 Serviço na interface do usuário do Databricks Mosaic AI.
- 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 AI Gateway.
- Clique em Habilitar tabela de inferência para remover a marca de seleção.
- Depois de estar satisfeito com as especificações do Gateway de IA, clique em Atualizar.
Habilitar tabelas de inferência para agentes de IA
Você também pode habilitar tabelas de inferência para agentes de IA implantados. Essas tabelas de inferência armazenam informações de carga útil e detalhes da solicitação, bem como logs de rastreamento do MLflow.
Habilite tabelas de inferência para agentes de IA usando os seguintes métodos:
- Os agentes implantados usando a
mlflow.deploy()API têm tabelas de inferência habilitadas automaticamente. Consulte Implantar um agente para aplicativos de IA generativos. - Para implantações programáticas, defina a variável de ambiente
ENABLE_MLFLOW_TRACINGcomoTruena configuração do ponto de extremidade. Consulte Adicionar variáveis de ambiente de texto sem formatação.
Para saber mais sobre o rastreamento de agente do MLflow, consulte MLflow Tracing – GenAI observability.
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 ponto de extremidade, clique no nome da tabela de inferência para abrir a tabela no Gerenciador de Catálogos.
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 sua tabela de inferência com detalhes sobre o modelo de base subjacente atendido no seu ponto de extremidade: os detalhes do modelo de base 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. | CADEIA DE CARACTERES |
client_request_id |
O identificador de solicitação fornecido pelo usuário que pode ser especificado no corpo da solicitação de serviço de modelo. | CADEIA DE CARACTERES |
request_time |
A data e hora em que a solicitação é recebida. | TIMESTAMP |
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. | CADEIA DE CARACTERES |
response |
O corpo JSON de resposta bruta que foi retornado pelo ponto de extremidade de serviço do modelo. | CADEIA DE CARACTERES |
served_entity_id |
A ID exclusiva da entidade atendida. | CADEIA DE CARACTERES |
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. Esse campo retorna NULL para pontos de extremidade de modelo personalizado com otimização de rota. |
CADEIA DE CARACTERES |
Esquemas de tabela de inferência do agente de IA
Aviso
Os logs de solicitação e os logs de avaliação foram preteridos e serão removidos em uma versão futura. Consulte os logs de solicitação e a substituição de logs de avaliação para obter diretrizes de migração.
Para agentes de IA, o Databricks cria três tabelas de inferência para cada implantação para registrar solicitações e respostas de e para o ponto de extremidade que atende ao modelo:
| Tabela de inferência | Exemplo de nome da tabela do Azure Databricks | Conteúdo da tabela |
|---|---|---|
| Conteúdo | {catalog_name}.{schema_name}.{model_name}_payload |
Cargas úteis de solicitação e resposta JSON brutas |
| Logs de solicitação de conteúdo | {catalog_name}.{schema_name}.{model_name}_payload_request_logs |
Solicitações e respostas formatadas, rastreamentos do MLflow |
| Logs de avaliação de conteúdo | {catalog_name}.{schema_name}.{model_name}_payload_assessment_logs |
Comentários formatados, conforme fornecido no Aplicativo de Revisão, para cada solicitação |
Os usuários podem esperar que os dados nas tabelas de payload estejam disponíveis em até uma hora após a interação com o ponto de extremidade do serviço. Os logs de solicitação de carga útil e os logs de avaliação podem demorar mais para serem preenchidos e são derivados da tabela de carga útil bruta. Você pode extrair logs de solicitação e avaliação da tabela de payload. As exclusões e atualizações na tabela de carga não são refletidas nos logs de solicitação de carga ou nos logs de avaliação de carga.
Observação
Se você tiver o Firewall de Armazenamento do Microsoft Azure habilitado, entre em contato com sua equipe de conta do Databricks para habilitar tabelas de inferência para seus pontos de extremidade.
A seguir é mostrado o esquema para a tabela de logs de solicitação de Payload:
| Nome da coluna | Descrição | Tipo |
|---|---|---|
databricks_request_id |
Um identificador de solicitação gerado pelo Azure Databricks anexado a todas as solicitações de serviço de modelo. | CADEIA DE CARACTERES |
client_request_id |
Um identificador de solicitação gerado pelo cliente opcional que pode ser especificado no corpo da solicitação de serviço do modelo. | CADEIA DE CARACTERES |
date |
A data UTC em que a solicitação de serviço de modelo foi recebida. | DATE |
timestamp_ms |
O carimbo de data/hora em milissegundos de época em que a solicitação de serviço do modelo foi recebida. | LONG |
timestamp |
Carimbo de data/hora da solicitação. | TIMESTAMP |
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_time_ms |
O tempo de execução em milissegundos para os quais 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. | LONG |
conversation_id |
A conversa foi extraída dos logs de solicitação. | CADEIA DE CARACTERES |
request |
A última pergunta do usuário na conversa. | CADEIA DE CARACTERES |
response |
A última resposta para o usuário. | CADEIA DE CARACTERES |
request_raw |
A representação em formato de string da solicitação. | CADEIA DE CARACTERES |
response_raw |
Representação de cadeia de caracteres da resposta. | CADEIA DE CARACTERES |
trace |
Representação em cadeia de caracteres do rastreamento extraído do databricks_options da estrutura de resposta. |
CADEIA DE CARACTERES |
request_metadata |
Um mapa de metadados relacionados ao endpoint de serviço do modelo associado à solicitação. Este mapa contém o nome do ponto de extremidade, o nome do modelo e a versão do modelo usados para o ponto de extremidade. | CADEIA DE CARACTERES DO MAPA<, CADEIA DE CARACTERES> |
schema_version |
A versão do esquema. | CADEIA DE CARACTERES |
A seguir é mostrado o esquema para a tabela de logs de avaliação de carga útil:
| Nome da coluna | Descrição | Tipo |
|---|---|---|
request_id |
Um ID de solicitação do Databricks. | CADEIA DE CARACTERES |
step_id |
A etapa É derivada da avaliação de recuperação. | CADEIA DE CARACTERES |
source |
Um campo de struct que contém as informações sobre quem criou a avaliação. | ESTRUTURA |
timestamp |
Carimbo de data/hora da solicitação. | TIMESTAMP |
text_assessment |
Os dados de quaisquer comentários sobre as respostas do agente no aplicativo de revisão. | CADEIA DE CARACTERES |
retrieval_assessment |
Os dados para qualquer feedback sobre os documentos recuperados para uma resposta. | CADEIA DE CARACTERES |
Limitações
- Cargas de trabalho de taxa de transferência provisionadas:
- 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 e ele não tiver tabelas de inferência configuradas, 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 e ele tiver tabelas de inferência herdadas configuradas, desabilite a tabela de inferência herdada antes de atualizar o ponto de extremidade para usar tabelas de inferência habilitadas para Gateway de IA.
- Quando as tabelas de inferência ativadas pelo Gateway de IA estiverem habilitadas, você não poderá alternar para tabelas de inferência herdadas.
- Para registros de resposta de agentes de IA em streaming, somente os campos e rastreamentos compatíveis com ChatCompletion são agregados.
- Cargas de trabalho de modelo personalizado:
- Se você criar um novo ponto de extremidade do serviço de modelo que fornece um modelo personalizado, o Databricks recomenda usar tabelas de inferência habilitadas para AI Gateway. Se a experiência da tabela de inferência herdada for necessária, você só poderá configurar seu novo ponto de extremidade para AI Gateway usando a API REST.
- Se você tiver um endpoint de serviço existente que disponibilize um modelo personalizado e não tenha tabelas de inferência configuradas, poderá atualizá-lo para usar tabelas de inferência habilitadas pelo Gateway de IA.
- Se você tiver um ponto de extremidade do serviço de modelo existente que fornece um modelo personalizado e ele tiver tabelas de inferência herdadas configuradas, desabilite a tabela de inferência herdada antes de atualizar o ponto de extremidade para usar tabelas de inferência habilitadas para AI Gateway.
- Quando as tabelas de inferência ativadas pelo Gateway de IA estiverem habilitadas, você não poderá alternar para tabelas de inferência herdadas.
- A entrega de logs de tabelas de inferência para pontos de extremidade do serviço de modelo que fornecem cargas de trabalho de API de Modelo Fundacional, modelos externos ou agentes atualmente é best-effort. 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, resposta e rastreamento registrados é de 1 MiB (1.048.576 bytes). Os conteúdos que excedem isso são registrados como
nullelogging_error_codessão preenchidos comMAX_REQUEST_SIZE_EXCEEDEDouMAX_RESPONSE_SIZE_EXCEEDED. - As tabelas de inferência para pontos de extremidade de serviço de modelo otimizado de rota estão na Visualização Pública.
- Os logs de tabela de inferência não têm garantia de serem preenchidos caso o ponto de extremidade de serviço do modelo exiba um erro.
- Para endpoints de modelo personalizados, os logs podem não ser registrados para erros 4xx ou 5xx.
- Para outros pontos de extremidade, os logs podem não ser registrados para erros 401, 403, 429 ou 500.
Para limitações específicas do Gateway de IA, consulte Limitações. Para limitações gerais de ponto de extremidade do serviço de modelo, veja Limites e regiões do Serviço de Modelo.