Pular para o conteúdo principal

Conceitos e modelo de dados

MLflow para GenAI fornece um modelo de dados abrangente projetado especificamente para desenvolver, avaliar e monitorar aplicativos generativos AI. 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 todos os registros, execuções de avaliação, versões do aplicativo, prompts e avaliações de qualidade ao longo de todo o ciclo de vida de um aplicativo.

A estrutura do modelo de dados está descrita abaixo. Para obter detalhes, consulte Modelo de dados.

nota

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, a fim de avaliar e melhorar a qualidade. Para obter detalhes, consulte os SDKs do MLflow para avaliação de qualidade.

O MLflow oferece as seguintes interfaces de usuário para visualizar e gerenciar os dados do seu aplicativo:

Modelo de dados

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

Experimentos

Um experimento no MLflow é um contêiner nomeado que organiza e agrupa todos os artefatos relacionados a uma única aplicação GenAI. Se você já está familiarizado com MLflow para ML clássico, o contêiner de experimentos é o mesmo tanto para ML clássico quanto para o GenAI.

Dados de observabilidade

Traços

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

  • São criados automaticamente para cada execução da sua aplicação, tanto em desenvolvimento quanto em produção.
  • Estão (opcionalmente) vinculados às versões específicas do aplicativo que os geraram.
  • Anexei avaliações que contêm:
    • Feedback de qualidade de avaliadores, usuários finais e especialistas da área.
    • Expectativas realistas de especialistas da área.

Os traços são usados para:

  • Observar e depurar o comportamento e o desempenho do aplicativo (como latência e custo).
  • Criar conjunto de dados de avaliação com base nos logs de produção para uso na avaliação da qualidade.

Saiba mais em conceitos de rastreamento, siga o guia de início rápido para log seu primeiro rastreamento ou siga o guia de instrumentação do seu aplicativo para implementar o rastreamento em seu aplicativo.

Avaliações

As avaliações são medições de qualidade e rótulos de referência que são anexados a um rastreamento. Existem dois tipos de avaliações: feedback e expectativas .

Feedback refere-se a avaliações sobre a qualidade dos resultados do seu aplicativo. É adicionado por usuários finais, especialistas da área ou avaliadores automatizados e é usado para identificar problemas de qualidade. Alguns exemplos são as avaliações positivas ou negativas dos usuários finais e a avaliação do juiz do LLM sobre a correção de uma resposta.

As expectativas são indicadores de verdade fundamental que definem a saída correta para uma determinada entrada. É adicionado por especialistas da área e é usado como um "padrão ouro" para avaliar se seu aplicativo produziu a resposta correta. Alguns exemplos são a resposta esperada a uma pergunta e os fatos necessários que devem estar presentes em uma resposta.

nota

Os rótulos de verdade fundamental (expectativas) não são necessários para medir a qualidade com MLflow. A maioria das aplicações não terá índices de referência ou terá apenas um pequeno conjunto deles.

Saiba mais sobre como registrar avaliações, veja como coletar feedback do usuário ou explore o uso de avaliadores para criar avaliações automatizadas.

Dados de avaliação

Conjunto de dados de avaliação

Os conjuntos de dados de avaliação são coleções selecionadas de casos de teste para testar sistematicamente sua aplicação. Conjunto de dados de avaliação:

  • Geralmente são criadas selecionando-se traços representativos da produção ou do desenvolvimento.
  • Incluir entradas e, opcionalmente, expectativas (verdade fundamental).
  • São versionadas ao longo do tempo para acompanhar a evolução do seu conjunto de testes.

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

  • Avalie e melhore a qualidade do seu aplicativo de forma iterativa.
  • Validar as alterações para evitar regressões na qualidade.

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

Execução de avaliação

A execução da avaliação consiste nos resultados dos testes de uma versão de um aplicativo em relação a um dataset de avaliação, utilizando um conjunto de avaliadores. Execução da avaliação:

  • Contém os vestígios (e suas avaliações) gerados pela avaliação.
  • Contém métricas agregadas com base nas avaliações.

A execução da avaliação serve para:

  • Determine se as alterações no aplicativo melhoraram (ou pioraram) a qualidade.
  • Compare versões do seu aplicativo lado a lado.
  • Acompanhar as avaliações de qualidade ao longo do tempo.
nota

A execução de avaliação é um tipo especial de execução MLflow e pode ser consultada por meio de mlflow.search_runs().

Saiba mais sobre o arnês de avaliação e siga o guia para usar a avaliação para melhorar seu aplicativo.

Dados do rótulo humano

sessões

As sessões de rotulagem organizam rastros para revisão humana por especialistas da área. rotular sessões:

  • Coloque em fila os rastreamentos selecionados que precisam de revisão especializada e que contêm as avaliações dessa revisão.
  • Use esquemas de rótulo para estruturar as avaliações para que os especialistas rotulem.

As sessões de rótulo são usadas para:

  • Obtenha a opinião de especialistas em casos complexos ou ambíguos.
  • Criar dados de referência para o conjunto de dados de avaliação.
nota

As sessões de rótulo são um tipo especial de execução MLflow e podem ser consultadas através de mlflow.search_runs().

Saiba mais sobre as sessões de rótulo, siga o guia para coletar feedback de especialistas no domínio ou veja como fazer o rótulo durante o desenvolvimento.

rótulo esquemas

Os esquemas de rótulo definem as avaliações que são coletadas em uma sessão de rótulo, garantindo a coleta consistente de rótulos entre especialistas de domínio. rotular esquemas:

  • Especifique quais perguntas devem ser feitas aos revisores (por exemplo, "Esta resposta está correta?").
  • Defina as respostas válidas para uma pergunta (por exemplo, polegar para cima/para baixo, escala de 1 a 5 ou comentários em texto livre).

Saiba mais na referência de esquemas de rótulos.

Dados de controle de versão do aplicativo

Solicitações

Os prompts seguem um padrão de controle de versão para prompts LLM . Sugestões:

  • São rastreados com um histórico de versões semelhante Git .
  • Inclua {{variables}} para geração dinâmica.
  • Estão vinculados à avaliação-execução para acompanhar sua qualidade ao longo do tempo.
  • Suporte a aliases como "produção" para gerenciamento de implantação.

modelos registrados

Os modelos registrados representam um instantâneo da sua aplicação em momentos específicos. modelos registrados:

  • Link para os rastreamentos que eles geram e os prompts que utilizam.
  • Link para a execução da avaliação para acompanhar a sua qualidade.
  • Monitore parâmetros de aplicação, como a temperatura do LLM.

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

Saiba mais sobre o acompanhamento de versões, veja como rastrear versões de aplicativos ou saiba como vincular rastreamentos a versões.

SDKs do MLflow para avaliação de qualidade

Esses são os processos- key que avaliam a qualidade dos rastros, anexando 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 traço. Marcadores:

  • Analise um rastreamento para identificar os campos de dados relevantes a serem avaliados.
  • Utilize esses dados para avaliar a qualidade usando um código determinístico ou critérios de avaliação baseados em juízes do LLM.
  • Retornar entidades de feedback com os resultados dessa avaliação.

O mesmo sistema de avaliação pode ser usado para avaliação tanto no desenvolvimento quanto na produção.

nota

Avaliadores vs. Juízes : Se você está familiarizado com juízes de LLM, pode estar se perguntando qual a relação deles com os avaliadores. No MLflow, um juiz é um SDK chamável (como mlflow.genai.judges.is_correct) que avalia o texto com base em critérios específicos. No entanto, os juízes não conseguem processar diretamente os rastros – eles só entendem as 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 para o juiz para avaliação. Considere os avaliadores como o "adaptador" que conecta seus registros à lógica de avaliação, seja ela um juiz LLM ou um código personalizado.

Saiba mais sobre os sistemas de pontuação integrados e personalizados.

Avaliação em desenvolvimento

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

  • Executando o aplicativo para cada registro no dataset de avaliação, gerando rastreamentos.
  • Executar cada avaliador nos traçados resultantes para avaliar a qualidade e gerar feedback.
  • Anexar cada feedback ao rastreamento apropriado.

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

  • Valide se a melhoria aumentou (ou piorou) a qualidade.
  • Identificar melhorias adicionais para aprimorar ainda mais a qualidade.

Para saber mais sobre o arnês de avaliação, siga o guia para avaliar seu aplicativo.

Avaliação na produção

mlflow.genai.Scorer.start() permite que você programe avaliadores para avaliar automaticamente rastreamentos do seu aplicativo implantado. Quando um avaliador é agendado, o serviço de monitoramento de produção:

  • execução dos marcadores em trilhas de produção, produzindo feedback.
  • Anexa cada feedback ao rastreamento de origem.

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

Interfaces de usuário do MLflow

Aplicativo de avaliação

O aplicativo de avaliação é uma interface web onde especialistas da área identificam rastros com avaliações. Apresenta registros de sessões de rótulo e coleta avaliações com base em esquemas de rótulo.

UI do experimento MLflow

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

  • Pesquise e view rastros.
  • Analise o feedback e as expectativas.
  • Visualizar e analisar os resultados da avaliação.
  • gerenciar conjunto de dados de avaliação.
  • gerenciar versões e prompts.

Próximos passos