Pular para o conteúdo principal

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

info

Visualização

Esse recurso está em Public Preview.

important

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

atenção

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:

  1. Clique em Serving na UI do Databricks Mosaic AI.
  2. Clique em Criar endpoint de serviço .
  3. 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:

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

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

  1. Navegue até a página de seu endpoint.
  2. Clique em Edit AI Gateway .
  3. Clique em Habilitar tabela de inferência para remover a marca de seleção.
  4. 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:

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.

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

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.

SQL
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.

SQL
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

request_date

A data UTC em que a solicitação do modelo de serviço foi recebida.

Data

databricks_request_id

Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo.

String

client_request_id

O identificador de solicitação fornecido pelo usuário que pode ser especificado no corpo da solicitação do modelo de serviço.

String

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 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

execution_duration_ms

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

request

O corpo bruto da solicitação JSON que foi enviado para o modelo de serviço endpoint.

String

response

O corpo da resposta bruta JSON que foi retornado pelo modelo de serviço endpoint.

String

served_entity_id

O ID exclusivo 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.

matriz

requester

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

{catalog_name}.{schema_name}.{model_name}_payload

Cargas de solicitação e resposta JSON brutas

Logs de solicitação de payload

{catalog_name}.{schema_name}.{model_name}_payload_request_logs

Solicitação e respostas formatadas, rastreamentos do MLflow

Logs de avaliação de payload

{catalog_name}.{schema_name}.{model_name}_payload_assessment_logs

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

databricks_request_id

Um identificador de solicitação gerado pelo site Databricks anexado a todas as solicitações de servindo modelo.

String

client_request_id

Um identificador de solicitação opcional gerado pelo cliente que pode ser especificado no corpo da solicitação do modelo de serviço.

String

date

A data UTC em que a solicitação do modelo de serviço foi recebida.

Data

timestamp_ms

O registro de data e hora em milissegundos de época em que a solicitação do modelo de serviço 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 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

execution_time_ms

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

conversation_id

O ID da conversa extraído da solicitação logs.

String

request

A última consulta do usuário na conversa do usuário.

String

response

A última resposta ao usuário.

String

request_raw

A representação de strings da solicitação.

String

response_raw

representação em strings da resposta.

String

trace

representação de strings do traço extraído do databricks_options da resposta Estruturas.

String

request_metadata

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>

schema_version

A versão do esquema.

String

A seguir, o esquema da tabela Payload assessment logs:

Nome da coluna

Descrição

Tipo

request_id

Uma ID de solicitação do Databricks.

String

step_id

O ID da etapa, derivado da avaliação de recuperação.

String

source

Um campo estruturado que contém as informações sobre quem criou a avaliação.

struct

timestamp

Carimbo de data/hora da solicitação.

Timestamp

text_assessment

Os dados de qualquer feedback sobre as respostas do agente no aplicativo de avaliação.

String

retrieval_assessment

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 e logging_error_codes são preenchidas com MAX_REQUEST_SIZE_EXCEEDED ou MAX_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.