Monitorar serviços de modelo usando tabelas de inferência
Beta
Este recurso está em Beta. Administradores de conta podem controlar o acesso a este recurso na página Prévias do console da conta. Consulte Gerenciar prévias do Databricks.
Esta página descreve como usar tabelas de inferência para monitorar serviços de modelo 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 fazem log de solicitações e respostas dos seus serviços de modelo em tabelas Delta do Unity Catalog. Você pode usar esses dados para monitoramento, depuração e otimização dos seus modelos.
Casos de uso comuns incluem:
- **Depuração**: analise as cargas úteis de solicitação e resposta para solucionar problemas.
- Monitoramento : acompanhe o desempenho do modelo e identifique anomalias.
- Otimização : revise as interações para melhorar os prompts e as configurações do modelo.
- compliance: Mantenha log de auditoria de todas as interações do modelo.
Requisitos
-
Prévia do Unity AI Gateway ativada para sua account. Consulte Gerenciar prévias do Databricks.
-
Um workspace do Databricks em uma região suportada pelo Unity AI Gateway.
-
Unity Catalog habilitado para seu workspace. Consulte Ativar um workspace para o Unity Catalog.
-
O privilégio
MANAGEno serviço de modelo. Tanto o criador quanto o modificador do serviço de modelo devem ter este privilégio. -
O privilégio
CREATE TABLEno catálogo e esquema especificados do Unity Catalog. -
O privilégio
USE CATALOGno catálogo especificado. -
O privilégio
USE SCHEMAno esquema especificado. -
O catálogo não pode ser um catálogo OpenSharing para o metastore atual.
-
O Databricks recomenda habilitar a otimização preditiva para um desempenho aprimorado.
Habilitar tabelas de inferência
Tabelas de inferência só podem ser configuradas após a criação de um serviço de modelo.
Para habilitar tabelas de inferência:
- Na barra lateral, clique em AI Gateway .
- Clique no nome do serviço de modelo para abrir a página do serviço de modelo.
- Clique em **Configurar** ao lado de **Tabelas de Inferência**.
- Especifique o catálogo e o esquema onde você deseja armazenar a tabela de inferência.
- Clique em Salvar .
O proprietário da tabela de inferência é o usuário que criou o serviço de modelo. Todas as ACLs seguem as permissões padrão do Unity Catalog e podem ser modificadas pelo proprietário da tabela.
Especificar uma tabela existente não é compatível. **Databricks** cria automaticamente uma nova tabela de inferência ao habilitar as tabelas de inferê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.
- Exclua a tabela.
Desativar tabelas de inferência
Para desativar tabelas de inferência:
- Na barra lateral, clique em AI Gateway .
- Clique no nome do serviço de modelo para abrir a página do serviço de modelo.
- Clique no ícone de edição ao lado de Tabelas de inferência .
- Clique em Desativar tabelas de inferência .
Consultar a tabela de inferência
Você pode view a tabela na UI, ou consultar a tabela do Databricks SQL ou de um Notebook.
Para view a tabela na UI, clique no link da tabela de inferência na página de serviço do modelo para abrir a tabela no Catalog Explorer.
Para consultar a tabela do Databricks SQL ou de um Notebook:
SELECT * FROM <catalog>.<schema>.<payload_table>
Substitua <catalog>, <schema> e <payload_table> pelo local de sua tabela.
Esquema da tabela de inferência
As tabelas de inferência do Unity AI Gateway têm o seguinte esquema:
Nome da coluna | Tipo | Descrição | Exemplo |
|---|---|---|---|
| String | Um identificador exclusivo para a solicitação. |
|
| String | Um identificador exclusivo para cada chamada de inferência individual. Múltiplas invocações podem compartilhar o mesmo |
|
| Mapa | Tags associadas à solicitação. |
|
| Timestamp | O carimbo de data/hora quando a solicitação foi recebida. |
|
| INT | O código de status HTTP da resposta. |
|
| double | A fração de amostragem se a subamostragem foi usada. Um valor de 1 significa que não há subamostragem. |
|
| Long | A latência total em milissegundos. |
|
| Long | O tempo para o primeiro byte em milissegundos. |
|
| String | O payload de requisição JSON bruto. |
|
| String | O payload de resposta JSON bruto. |
|
| String | O tipo de destino (por exemplo, modelo externo ou modelo básico). |
|
| String | O nome do modelo ou provedor de destino. |
|
| String | O modelo específico utilizado para a solicitação. |
|
| matriz | Códigos de erro se o registro falhar (por exemplo, |
|
| String | O ID do usuário ou da entidade de serviço que fez a solicitação. |
|
| String | A versão do esquema do registro da tabela de inferência. |
|
Limitações
- Somente para catálogos de armazenamento externo : Tabelas de inferência podem ser criadas apenas em catálogos de armazenamento externo. Catálogos de armazenamento default não são atualmente compatíveis.
- Endpoints privados não são compatíveis : tabelas de inferência não podem ser criadas em um armazenamento protegido por meio de um endpoint privado. Consulte limitações do conector Zerobus Ingest.
- Entrega com melhor esforço : logs geralmente estão disponíveis minutos após uma solicitação, mas a entrega não é garantida.
- Tamanho máximo do payload: solicitações e respostas maiores que 10 MiB não são log. A coluna
logging_error_codesindica quando isso ocorre comMAX_REQUEST_SIZE_EXCEEDEDouMAX_RESPONSE_SIZE_EXCEEDED. - Respostas de erro : Os logs podem não ser preenchidos para solicitações que retornam erros 401, 403, 429 ou 500.