Pular para o conteúdo principal

Conceitos de rastreamento

O rastreamento é uma técnica de observabilidade que captura todo o fluxo de execução de uma solicitação em sua aplicação. Ao contrário do registro tradicional, que armazena eventos isolados, o rastreamento cria um mapa detalhado de como os dados fluem pelos seus sistemas e registra todas as operações ao longo do processo.

Para aplicações de IA GenAI, o rastreamento é essencial porque esses sistemas envolvem um fluxo de trabalho complexo e de várias etapas com múltiplos componentes (LLMs, recuperadores, ferramentas, agentes) que são difíceis de depurar sem visibilidade completa do fluxo de execução.

Estrutura do traço

Um rastreamento do MLflow compreende dois objetos principais:

  1. TraceInfo : Metadados que explicam a origem, o status e o tempo de execução do rastreamento. Inclui tags para contexto adicional, como usuário, sessão e paridade ( key ) fornecida pelo desenvolvedor, usada para pesquisar ou filtrar rastreamentos.

  2. TraceData : A carga útil propriamente dita, contendo objetos Span instrumentados que capturam a execução passo a passo da sua aplicação, da entrada à saída.

Arquitetura de Traços

Os rastreamentos MLflow são compatíveis com as especificações do OpenTelemetry, um padrão da indústria amplamente adotado para observabilidade. Isso garante a interoperabilidade com outras ferramentas de observabilidade, enquanto o MLflow aprimora o modelo OpenTelemetry com estruturas e atributos específicos do GenAI.

Informações de rastreamento

O TraceInfo fornece metadados leves sobre o rastreamento geral. Os principais campos incluem:

campo

Descrição

trace_id

Identificador único para o rastreamento

trace_location

Onde o rastreamento é armazenado (Experimento MLflow ou Tabela de Inferência Databricks)

request_time

Início do rastreamento em milissegundos

state

Status do rastreamento: OK, ERROR, IN_PROGRESS, ou STATE_UNSPECIFIED

execution_duration

duração do trace em milissegundos

request_preview

Pré-visualização codificada em JSON da entrada (entrada raiz do span)

response_preview

Pré-visualização da saída codificada em JSON (saída do intervalo raiz)

tags

par chave-valor para filtrar e pesquisar rastros

Para obter detalhes completos sobre os campos, consulte a referência da API do MLflow.

Dados de rastreamento

O objeto TraceData é um contêiner de objetos Span onde os detalhes da execução são armazenados. Cada período captura informações sobre uma operação específica, incluindo:

  • Pedidos e respostas
  • Medições de latência
  • Mensagens LLM e parâmetros da ferramenta
  • Documentos recuperados e contexto
  • Metadados e atributos

Os Spans formam uma estrutura hierárquica por meio de conexões pai-filho, criando uma árvore que representa o fluxo de execução do seu aplicativo.

Arquitetura de vãos

tags

As tags são pares key-valor mutáveis associados aos rastreamentos para organização e filtragem. O MLflow define tags padrão para casos de uso comuns:

  • mlflow.trace.sessionIdentificador de sessão para agrupar rastreamentos relacionados
  • mlflow.trace.user: Identificador do usuário para acompanhamento de interações por usuário
  • mlflow.source.namePonto de entrada ou script que gerou o rastreamento.
  • mlflow.source.git.commit: Hash do commit do Git do código-fonte (se aplicável)
  • mlflow.source.type: Tipo de origem (PROJECT, NOTEBOOK, etc.)

Você também pode adicionar tags personalizadas para suas necessidades específicas. Saiba mais em Adicionar contexto aos rastreamentos e Anexar tags/metadados personalizados.

Armazenamento

O MLflow otimiza o armazenamento de rastreamento para melhor desempenho e custo. Você pode personalizar os locais de armazenamento de rastreamento usando volumes Unity Catalog ao criar experimentos. O acesso aos dados de rastreamento é então regido pelos privilégios de volumeUnity Catalog para maior segurança e compliance.

O TraceInfo é armazenado diretamente em um banco de dados relacional como linhas individuais com campos indexados, permitindo consultas rápidas para busca e filtragem de rastreamentos.

Os dados de rastreamento (Spans) são armazenados no armazenamento de artefatos em vez do banco de dados devido ao seu tamanho maior. Isso permite o processamento econômico de grandes volumes de rastreamento com impacto mínimo no desempenho das consultas.

Próximas etapas