Monitore modelos servidos usando tabelas de inferência habilitadas para AI Gateway
Importante
Este recurso está no
Importante
Este artigo descreve tópicos que se aplicam a tabelas de inferência para modelos externos, cargas de trabalho de taxa de transferência provisionada ou modelos de agente. Para modelos personalizados, consulte Tabelas de inferência para monitorar e depurar modelos.
Este artigo descreve tabelas de inferência habilitadas para AI Gateway para monitorar modelos servidos. A tabela de inferência captura automaticamente solicitações de entrada e respostas de saída para um ponto de extremidade e as registra como uma tabela Delta do Unity Catalog. Você pode usar os dados nesta tabela para monitorar, avaliar, comparar e ajustar modelos de aprendizado de máquina.
O que são tabelas de inferência habilitadas para AI Gateway?
As tabelas de inferência habilitadas pelo Gateway AI simplificam o monitoramento e o diagnóstico de modelos, registrando continuamente as entradas e respostas de solicitações de atendimento (previsões) dos pontos finais do Mosaic AI Model Serving e salvando-as numa tabela Delta no Unity Catalog. Em seguida, você pode usar todos os recursos da plataforma Databricks, como consultas e blocos de anotações Databricks SQL para monitorar, depurar e otimizar seus modelos.
Você pode habilitar tabelas de inferência em um endpoint de servir modelo existente ou recém-criado, e as requisições para esse endpoint são então automaticamente registadas numa tabela no Unity Catalog.
Algumas aplicações comuns para tabelas de inferência são as seguintes:
- Crie um corpus de formação. Ao unir tabelas de inferência com rótulos de verdade básica, você pode criar um corpus de treinamento que pode usar para treinar novamente ou ajustar e melhorar seu modelo. Usando o Databricks Jobs, você pode configurar um ciclo de feedback contínuo e automatizar o retreinamento.
- Monitore a qualidade dos dados e do modelo. Você pode monitorar continuamente o desempenho do seu modelo e o desvio de dados usando o Lakehouse Monitoring. O Lakehouse Monitoring gera automaticamente dados e painéis de qualidade de 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 recebidos ou reduções no desempenho do modelo.
- Depurar problemas de produção. As 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 rastreamentos de saída de durante a 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 ativadas pelo AI Gateway são suportadas apenas para pontos de extremidade que usam largura de banda provisionada ou fornecem modelos externos.
Um espaço de trabalho Databricks em:
Para espaços de trabalho com conectividade privada configurada na conta de armazenamento do Catálogo Unity, siga as etapas em Configurar conectividade privada a partir da computação sem servidor.
O Databricks recomenda que você habilite a otimização preditiva para desempenho otimizado das suas tabelas de inferência.
Seu espaço de trabalho deve ter o Unity Catalog habilitado.
Tanto o criador quanto o modificador do ponto de extremidade devem ter permissão Pode gerenciar no ponto de extremidade. Consulte Listas de controle de acesso.
Tanto o criador do endpoint quanto o modificador devem ter as seguintes permissões no Unity Catalog:
-
USE CATALOG
permissões no catálogo especificado. -
USE SCHEMA
permissões no esquema especificado. -
CREATE TABLE
permissões no esquema.
-
Advertência
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.
- Eliminar a tabela.
- Perder permissões para o catálogo ou esquema do Catálogo 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 listas de controle de acesso (ACLs) na tabela seguem as permissões padrão do Catálogo 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 Servindo na interface do usuário do Databricks Mosaic AI.
- Clique Criarde ponto de extremidade de serviço .
- Na seção AI Gateway, 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 de Portal de IA, clique em Editar o Portal de IA.
- Selecione Ativar tabelas de inferência.
Siga estas instruções para desativar as tabelas de inferência:
- Navegue até à página do endpoint.
- Clique em AI GatewayEdit.
- Clique Ativar tabela de inferência para remover a marca de seleção.
- Depois de estar satisfeito com as especificações do AI Gateway, clique em Atualizar.
Consultar e analisar 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. Você pode exibir a tabela na interface do usuário, consultar a tabela do Databricks SQL ou de um bloco de anotações 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 abri-la no Gerenciador de Catálogos.
Para consultar a tabela do Databricks SQL ou de um bloco de anotações Databricks: Você pode executar 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 servido 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 AI Gateway
As tabelas de inferência habilitadas usando o AI Gateway têm o seguinte esquema:
Nome da coluna | Descrição | Tipo |
---|---|---|
request_date |
A data UTC em que o modelo de solicitação de notificação foi recebido. | DATA |
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 |
A marca temporal na qual o pedido é recebido. | 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 utilizada no caso de o pedido ter sido sujeito a uma redução de amostragem. Esse valor está entre 0 e 1, onde 1 representa que 100% das solicitações recebidas foram incluídas. | DUPLO |
execution_duration_ms |
O tempo em milissegundos para o qual o modelo realizou inferência. Isso não inclui latências de rede de sobrecarga e representa apenas o tempo que o modelo levou para gerar previsões. | BIGINT |
request |
O corpo de pedido JSON bruto que foi enviado para o endpoint de serviço do modelo. | STRING |
response |
O corpo bruto de resposta JSON que foi retornado pelo ponto de extremidade de serviço do modelo. | 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 utilizador ou entidade de serviço cujas permissões são usadas para a solicitação de invocação do endpoint de serviço. | STRING |
Limitações
Cargas de trabalho de taxa de transferência provisionadas:
- Se você criar um novo modelo de ponto de extremidade de serviço que use taxa de transferência provisionada, somente tabelas de inferência habilitadas para AI Gateway serão suportadas.
- Se você tiver um modelo de ponto de extremidade de serviço existente que usa taxa de transferência provisionada e nunca ter tabelas de inferência configuradas anteriormente, poderá atualizá-lo para usar tabelas de inferência habilitadas para AI Gateway.
- Se você tiver um modelo existente servindo ponto de extremidade que usa taxa de transferência provisionada e tiver tabelas de inferência configuradas atualmente ou anteriormente, não poderá atualizá-lo para usar tabelas de inferência habilitadas para AI Gateway.
- Para transmitir em tempo real os registos de resposta do agente de IA, apenas são agregados campos e rastreamentos compatíveis com ChatCompletion.
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 1 hora após uma solicitação. Entre em contato com sua equipe de conta Databricks para obter mais informações.
O tamanho máximo de solicitação e resposta registrado é de 1 MiB (1.048.576 bytes). As cargas úteis de solicitação e resposta que excedem isso são registadas como
null
elogging_error_codes
, e 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 ver as limitações gerais do ponto de extremidade de serviço de modelo, consulte Limites de serviço de modelo e regiões.