Compartilhar via


Conceitos e modelo de dados

O MLflow para GenAI fornece um modelo de dados abrangente projetado especificamente para desenvolver, avaliar e monitorar aplicativos de IA generativos. Esta página explica os principais conceitos e como eles funcionam juntos.

Visão geral

O MLflow organiza todos os dados do aplicativo GenAI em experimentos. Um experimento é uma pasta de projeto que contém cada registro, execução de avaliação, versão do aplicativo, prompt e avaliação de qualidade ao longo do ciclo de vida do aplicativo.

A estrutura do modelo de dados é descrita abaixo. Para obter detalhes, consulte o modelo de dados.

Observação

O MLflow exige apenas que você use rastreamentos. Todos os outros aspectos do modelo de dados são opcionais, mas altamente recomendados.

O MLflow fornece os seguintes SDKs para interagir com os dados de um aplicativo para avaliar e melhorar a qualidade. Para obter detalhes, consulte SDKs do MLflow para avaliar a qualidade.

O MLflow fornece as seguintes interfaces do usuário para exibir e gerenciar os dados do aplicativo:

Modelo de dados

Esta seção descreve brevemente cada entidade no modelo de dados do MLflow.

Testes

Um experimento no MLflow é um contêiner nomeado que organiza e agrupa todos os artefatos relacionados a um único aplicativo GenAI. Se você estiver familiarizado com o MLflow para ML clássico, o contêiner de experimentos será o mesmo entre o ML clássico e o GenAI.

Dados de observabilidade

Vestígios

Os rastreamentos capturam a execução completa do aplicativo GenAI, incluindo entradas, saídas e cada etapa intermediária (chamadas LLM, recuperações, uso de ferramentas). Rastreios

  • São criados automaticamente para cada execução do aplicativo em desenvolvimento e produção.
  • São (opcionalmente) vinculados às versões de aplicativo específicas que as geraram.
  • Anexe avaliações que contenham:
    • Comentários de qualidade de pontuadores, usuários finais e especialistas em domínio.
    • Fundamentar as expectativas de verdade de especialistas em domínio.

Os rastreamentos são usados para:

  • Observe e depure o comportamento e o desempenho do aplicativo (como latência e custo).
  • Crie conjuntos de dados de avaliação com base nos logs de produção a serem usados na avaliação de qualidade.

Saiba mais em conceitos de rastreamento, siga o guia rápido para registrar seu primeiro rastreamento ou siga o guia instrumentar seu aplicativo para implementar o rastreamento em seu aplicativo.

Avaliações

As avaliações são medidas de qualidade e rótulos de dados reais associados a um rastreamento. Há dois tipos de avaliações, comentários e expectativas.

Comentários referem-se a julgamentos sobre a qualidade das saídas do aplicativo. Ele é adicionado por usuários finais, especialistas em domínio ou pontuadores automatizados e é usado para identificar problemas de qualidade. Alguns exemplos são as classificações de positivo ou negativo dos usuários finais e a avaliação do juiz do LLM sobre a correção de uma resposta.

As expectativas são rótulos de verdade básica que definem a saída correta para uma determinada entrada. Ele é adicionado por especialistas em domínio e é usado como um "padrão ouro" para avaliar se seu aplicativo produziu a resposta certa. Alguns exemplos são a resposta esperada a uma pergunta e os fatos necessários que devem estar presentes em uma resposta.

Observação

Os rótulos de verdade básica (expectativas) não são necessários para medir a qualidade com o MLflow. A maioria dos aplicativos não terá rótulos de verdade básica ou terá apenas um pequeno conjunto.

Saiba mais sobre avaliações de log, veja como coletar comentários do usuário ou explorar o uso de pontuadores para criar avaliações automatizadas.

Dados de avaliação

Conjuntos de dados de avaliação

Os conjuntos de dados de avaliação são coleções de casos de teste coletados para testar sistematicamente seu aplicativo. Conjuntos de dados de avaliação:

  • Normalmente, são criados selecionando rastreamentos representativos de produção ou desenvolvimento.
  • Inclua entradas e, opcionalmente, expectativas (verdade básica).
  • São versionadas ao longo do tempo para acompanhar como o conjunto de testes evolui.

Os conjuntos de dados de avaliação são usados para:

  • Avalie e melhore iterativamente a qualidade do aplicativo.
  • Valide as alterações para evitar regressões na qualidade.

Saiba mais na referência de conjuntos de dados de avaliação ou siga o guia para criar conjuntos de dados de avaliação que incluem técnicas para selecionar e usar rastreamentos de produção.

Execuções de avaliação

As execuções de avaliação são os resultados do teste de uma versão do aplicativo em relação a um conjunto de dados de avaliação usando um conjunto de avaliadores. Execuções de avaliação:

  • Contêm os rastros (e suas avaliações) gerados pela análise.
  • Contêm métricas agregadas com base nas avaliações.

As execuções de avaliação são usadas para:

  • Determine se as alterações de aplicativo melhoraram (ou regrediram) a qualidade.
  • Compare as versões do aplicativo lado a lado.
  • Acompanhe as avaliações de qualidade ao longo do tempo.

Observação

As execuções de avaliação são um tipo especial de MLflow Run e podem ser consultadas por meio de mlflow.search_runs().

Saiba mais sobre o arreio de avaliação, siga o guia para usar a avaliação para melhorar seu aplicativo.

Dados de rotulagem humana

Sessões de rotulagem

As sessões de rotulagem organizam rastreamentos para revisão por especialistas humanos no domínio. Sessões de rotulagem:

  • Enfileire os rastreamentos selecionados que precisam de revisão de especialista e que contêm as avaliações dessa revisão.
  • Use esquemas de rotulagem para estruturar as avaliações para os especialistas rotularem.

As sessões de rotulagem são usadas para:

  • Colete comentários de especialistas sobre casos complexos ou ambíguos.
  • Crie dados de verdade básica para conjuntos de dados de avaliação.

Observação

As sessões de rotulagem são um tipo especial de MLflow Run e podem ser consultadas por meio de mlflow.search_runs().

Saiba mais sobre sessões de rotulagem, siga o guia para coletar comentários de especialistas em domínio ou veja como rotular durante o desenvolvimento.

Esquemas de rotulagem

Os esquemas de rotulagem definem as avaliações coletadas em uma sessão de rotulagem, garantindo uma coleção de rótulos consistente entre especialistas em domínio. Esquemas de rotulagem:

  • Especifique quais perguntas fazer aos revisores (por exemplo, "Esta resposta é precisa?").
  • Defina as respostas válidas para uma pergunta (por exemplo, polegares para cima/para baixo, escalas de 1 a 5 ou comentários de texto gratuitos).

Saiba mais na referência sobre esquemas de rotulagem.

Dados de controle de versão do aplicativo

Solicitações

Prompts são modelos com controle de versão para prompts de LLM. Solicita:

  • São acompanhados por um histórico de versões similar ao do Git.
  • Incluir {{variables}} para geração dinâmica.
  • Estão vinculados a ciclos de avaliação para acompanhar a qualidade ao longo do tempo.
  • Dar suporte a aliases como "produção" para gerenciamento de implantação.

Modelos registrados em log

Os modelos logados representam registros instantâneos do aplicativo em momentos específicos. Modelos logados

  • Link para os logs que eles geram e os comandos que eles utilizam.
  • Link para execuções de avaliação de desempenho para monitorar sua qualidade.
  • Acompanhe os parâmetros do aplicativo, como a temperatura do LLM.

Os modelos registrados podem atuar como um hub de metadados, vinculando uma versão de aplicativo conceitual ao código externo específico (por exemplo, um ponteiro para a confirmação do Git). Você também pode usar um modelo registrado para empacotar o código e a configuração do aplicativo como um artefato totalmente implantável.

Saiba mais sobre o controle de versão, veja como acompanhar as versões do aplicativo ou saiba mais sobre como vincular rastreamentos a versões.

SDKs do MLflow para avaliar a qualidade

Esses são os principais processos que avaliam a qualidade dos rastros, anexando as avaliações ao rastro que contém os resultados da avaliação.

Marcadores

mlflow.genai.scorers.* são funções que avaliam a qualidade de um rastreamento. Marcadores:

  • Analise um rastreamento para que os campos de dados relevantes sejam avaliados.
  • Aproveite esses dados para avaliar a qualidade utilizando código determinista ou critérios de avaliação baseados em juiz LLM.
  • Retorne entidades de feedback com os resultados dessa avaliação.

O mesmo marcador pode ser usado para avaliação em desenvolvimento e produção.

Observação

Artilheiros vs. Juízes: Se você está familiarizado com os juízes da LLM, você pode se perguntar como eles se relacionam com os artilheiros. No MLflow, um juiz é um SDK que pode ser chamado (como mlflow.genai.judges.is_correct) que avalia o texto com base em critérios específicos. No entanto, os juízes não podem processar rastreamentos diretamente, eles só entendem entradas de texto. Os avaliadores extraem os dados relevantes de um rastreamento (como a solicitação, a resposta e o contexto recuperado) e os passam ao juiz para avaliação. Pense em pontuadores como o "adaptador" que conecta seus rastreamentos à lógica de avaliação, seja um juiz LLM ou um código personalizado.

Saiba mais sobre pontuadores internos e personalizados.

Avaliação em desenvolvimento

mlflow.genai.evaluate() é o SDK do MLflow para avaliar sistematicamente a qualidade do aplicativo. A ferramenta de avaliação usa um conjunto de dados de avaliação, um conjunto de pontuadores e a função de previsão do seu aplicativo como entrada e cria uma execução de avaliação que contém rastreamentos com avaliações com feedback por:

  • Executando seu aplicativo para cada registro no conjunto de dados de avaliação, produzindo rastreamentos.
  • Executando cada marcador nos rastreamentos resultantes para avaliar a qualidade, produzindo comentários.
  • Anexando cada feedback ao rastreamento apropriado.

O arreio de avaliação é usado para avaliar iterativamente possíveis melhorias em seu aplicativo, ajudando você:

  • Valide se a melhoria melhorou (ou regrediu) a qualidade.
  • Identifique melhorias adicionais para melhorar ainda mais a qualidade.

Saiba mais sobre o arreio de avaliação, siga o guia para avaliar seu aplicativo.

Avaliação em produção

mlflow.genai.Scorer.start() permite que você agende pontuadores para avaliar automaticamente rastreamentos de seu aplicativo implantado. Quando uma função de pontuação é programada, o serviço de monitoramento de produção:

  • Executa os avaliadores em rastreamentos de produção, gerando feedback.
  • Anexa cada comentário ao rastreamento de origem.

O monitoramento de produção é usado para detectar problemas de qualidade rapidamente e identificar consultas problemáticas ou casos de uso para melhorar o desenvolvimento.

Interfaces de usuário do MLflow

Examinar o aplicativo

O aplicativo de revisão é uma interface de usuário da Web onde especialistas em domínio rotulam rastreamentos com avaliações. Ele apresenta rastreamentos de sessões de rotulagem e coleta avaliações com base em esquemas de rotulagem.

Interface do usuário do experimento MLflow

A interface do usuário do experimento MLflow fornece acesso visual a muitos elementos do modelo de dados. Usando a interface do usuário, você pode fazer o seguinte:

  • Pesquise e exiba traces.
  • Examine os comentários e as expectativas.
  • Exibir e analisar os resultados da avaliação.
  • Gerenciar conjuntos de dados de avaliação.
  • Gerenciar versões e prompts.

Próximas etapas