Modelos de monitorização usando tabelas de inferência

Importante

Este recurso está em versão Beta. Os administradores de conta podem controlar o acesso a esta funcionalidade a partir da página de Pré-visualizações da consola da conta. Ver Gerir pré-visualizações Azure Databricks.

Esta página descreve como usar tabelas de inferência para monitorizar os endpoints do Unity AI Gateway.

O que são as tabelas de inferência do Unity AI Gateway?

As tabelas de inferência do Unity AI Gateway registam os pedidos e respostas dos endpoints do Unity AI Gateway nas tabelas Delta do Unity Catalog. Pode usar estes dados para monitorizar, depurar e otimizar os seus modelos.

Os casos de uso comuns incluem:

  • Depuração: Analisar as cargas úteis de pedidos e respostas para identificar e resolver problemas.
  • Monitorização: Acompanhar o desempenho do modelo e identificar anomalias.
  • Otimização: Analise as interações para melhorar os prompts e configurações do modelo.
  • Conformidade: Mantenha registos de auditoria de todas as interações com modelos.

Requerimentos

  • Pré-visualização do Unity AI Gateway ativada para a sua conta. Ver Gerir pré-visualizações Azure Databricks.

  • Um espaço de trabalho Azure Databricks numa região suportada por Unity AI Gateway.

  • Unity Catalog ativado para o seu espaço de trabalho. Consulte Habilitar um espaço de trabalho para o Unity Catalog.

  • Tanto o criador do ponto de extremidade quanto o modificador devem ter a permissão Pode gerenciar no ponto de extremidade.

    • CREATE TABLE permissão no catálogo e esquema especificados do Catálogo Unity.
    • USE CATALOG Permissão no catálogo especificado.
    • USE SCHEMA Permissão no esquema especificado.
  • O catálogo não pode ser um catálogo de Delta Sharing para a metastore atual.

  • O Databricks recomenda permitir a otimização preditiva para melhorar o desempenho.

Ativar tabelas de inferência

As tabelas de inferência só podem ser configuradas depois de criar um endpoint Unity AI Gateway.

Para permitir tabelas de inferência:

  1. Na barra lateral, clique AI Gateway.
  2. Clique no nome do endpoint para abrir a página do endpoint.
  3. Clique em Configurar ao lado de Tabelas de Inferência.
  4. Especifique o catálogo e o esquema onde quer guardar a tabela de inferência.
  5. Clique em Salvar.

O proprietário da tabela de inferência é o utilizador que criou o endpoint. Todas as ACLs seguem as permissões padrão do Catálogo Unity e podem ser modificadas pelo proprietário da tabela.

Observação

Especificar uma tabela existente não é suportado. O Azure Databricks cria automaticamente uma nova tabela de inferência quando ativas as tabelas de inferência.

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.

Desativar tabelas de inferência

Para desativar tabelas de inferência:

  1. Na barra lateral, clique AI Gateway.
  2. Clique no nome do endpoint para abrir a página do endpoint.
  3. Clique no ícone de edição ao lado das tabelas de Inferência.
  4. Clique em desativar tabelas de inferências.

Consultar a tabela de inferência

Podes ver a tabela na interface, ou consultar a tabela no Databricks SQL ou num caderno.

Para visualizar a tabela na interface, clique no link da tabela de inferência na página endpoint para abrir a tabela no Explorador de Catálogos.

Para consultar a tabela a partir do Databricks SQL ou de um caderno:

SELECT * FROM <catalog>.<schema>.<payload_table>

Substitui <catalog>, <schema>, e <payload_table> pela localização da tua mesa.

Esquema de tabela de inferência

As tabelas de inferência do Unity AI Gateway têm o seguinte esquema:

Nome da coluna Tipo Description Example
request_id STRING Um identificador exclusivo para o pedido. 7a99b43cb46c432bb0a7814217701909
request_tags MAP Etiquetas associadas ao pedido. {"team": "engineering"}
event_time DATA E HORA A data e hora em que o pedido foi recebido. 2024-05-17T13:47:13.282-07:00
status_code INT O código de estado HTTP da resposta. 200
sampling_fraction DUPLO A fração de amostragem se foi utilizada uma amostragem reduzida. Um valor de 1 significa que não há amostragem descendente. 1
latency_ms LONG A latência total em milissegundos. 300
time_to_first_byte_ms LONG O tempo até ao primeiro byte em milissegundos. 200
request STRING A carga útil bruta do pedido JSON. {"messages": [...], ...}
response STRING A carga útil de resposta JSON bruta. {"choices": [...], ...}
destination_id STRING O ID do modelo de destino ou do fornecedor. 7a99b43c-b46c-432b-b0a7-814217701909
logging_error_codes ARRAY Códigos de erro se o registo falhou (por exemplo, MAX_REQUEST_SIZE_EXCEEDED). ["MAX_RESPONSE_SIZE_EXCEEDED"]
requester STRING O ID do utilizador ou principal do serviço que fez o pedido. databricks.engineer@databricks.com
schema_version STRING A versão esquemática do registo da tabela de inferência. 0

Limitações

  • Apenas catálogos de armazenamento externo: As tabelas de inferência só podem ser criadas em catálogos de armazenamento externo. Catálogos de armazenamento padrão não são suportados atualmente.
  • Endpoints privados não suportados: Tabelas de inferência não podem ser criadas em armazenamento protegido através de um endpoint privado. Ver limitações do conector Zerobus Ingest.
  • Entrega de melhor esforço: Os registos estão normalmente disponíveis dentro de minutos após o pedido, mas a entrega não é garantida.
  • Tamanho máximo da carga útil: Pedidos e respostas superiores a 10 MiB não são registados. A logging_error_codes coluna indica quando isto ocorre com MAX_REQUEST_SIZE_EXCEEDED ou MAX_RESPONSE_SIZE_EXCEEDED.
  • Respostas a erros: Os registos podem não ser preenchidos para pedidos que devolvam erros 401, 403, 429 ou 500.

Próximos passos