Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.
-
Experimento: contêiner para dados de um único aplicativo
- Dados de observabilidade
-
Traces: Logs de execução de aplicativos
- Avaliações: Medidas de qualidade anexadas a um traço
-
Traces: Logs de execução de aplicativos
- Dados de avaliação
- Conjuntos de dados de avaliação: entradas para avaliação de qualidade
- Execuções de avaliação: resultados da avaliação de qualidade
- Dados de rotulagem humana
- Sessões de rotulagem: filas de rastros para etiquetagem humana
- Esquemas de rotulagem: perguntas estruturadas para serem feitas aos rotuladores
- Dados de controle de versão do aplicativo
- Modelos registrados em log: capturas de versão do aplicativo
- Prompts: modelos de prompt LLM
- Dados de observabilidade
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.
-
mlflow.genai.scorers.*: Funções que analisam a qualidade de um rastreamento, criando avaliações de feedback. -
mlflow.genai.evaluate(): SDK para avaliar a versão de um aplicativo usando conjuntos de dados de avaliação e pontuadores para identificar e melhorar problemas de qualidade. -
mlflow.genai.add_scheduled_scorer(): SDK para execução de pontuadores em rastreamentos de produção para monitorar a qualidade.
O MLflow fornece as seguintes interfaces do usuário para exibir e gerenciar os dados do aplicativo:
- Aplicativo de revisão: interface do usuário da Web para coletar avaliações de especialistas em domínio.
- Interface do usuário do experimento MLflow: interface do usuário para exibir e interagir com rastreamentos, resultados de avaliação, sessões de rotulagem, versões do aplicativo e prompts.
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.
- Saiba mais sobre os conceitos de monitoramento de produção.
- Consulte o guia para monitorar o GenAI em produção.
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
- Introdução: siga o guia de início rápido para rastrear seu primeiro aplicativo.
- Aprofundamento: explore guias detalhados para rastreamento, avaliação ou comentários humanos.