Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O MLflow for GenAI fornece um modelo de dados abrangente projetado especificamente para desenvolver, avaliar e monitorar aplicativos generativos de IA. Esta página explica os principais conceitos e como eles funcionam juntos.
Visão geral
O MLflow organiza todos os dados das aplicações GenAI dentro dos experimentos. Um experimento é uma pasta de projeto que contém todos os traços, execuções de avaliação, versão da aplicação, prompt e avaliação de qualidade ao longo do ciclo de vida da aplicação.
A estrutura do modelo de dados está descrita abaixo. Para detalhes, veja Modelo de dados.
-
Experiência: Contentor para os dados de uma única aplicação
- Dados de observabilidade
-
Traces: registos de execução da aplicação
- Avaliações: Medições de qualidade associadas a um traço
-
Traces: registos de execução da aplicação
- Dados da avaliação
- Conjuntos de dados de avaliação: Inputs 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 registos para rotulagem humana
- Esquemas de rotulagem: Perguntas estruturadas para fazer aos rotuladores
- Dados de controle de versão do aplicativo
- Modelos registados: Capturas instantâneas da versão da aplicação
- Prompts: Modelos de prompts do LLM
- Dados de observabilidade
Observação
O MLflow só exige que você use rastreios. Todos os outros aspetos do modelo de dados são opcionais, mas altamente recomendados.
O MLflow fornece os seguintes SDKs para interagir com os dados de uma aplicação, avaliando e melhorando a qualidade. Para detalhes, consulte os SDKs MLflow para avaliar a qualidade.
-
mlflow.genai.scorers.*: Funções que analisam a qualidade de um traço, criando avaliações de feedback. -
mlflow.genai.evaluate(): SDK para avaliar a versão de uma aplicação utilizando conjuntos de dados de avaliação e pontuadores para identificar e melhorar questões de qualidade. -
mlflow.genai.add_scheduled_scorer(): SDK para executar avaliadores em trilhas de produção para monitorizar a qualidade.
O MLflow fornece as seguintes interfaces para visualizar e gerir os dados da sua aplicação:
- App de análise: Interface Web para recolha de avaliações de especialistas do domínio.
- UI do experimento MLflow: UIs para visualizar e interagir com registros, resultados de avaliação, sessões de rotulagem, versões de aplicativos e prompts.
Modelo de dados
Esta secção descreve brevemente cada entidade no modelo de dados MLflow.
Experimentações
Uma experiência em MLflow é um contentor nomeado que organiza e agrupa todos os artefactos relacionados com uma única aplicação GenAI. Se estiveres familiarizado com MLflow para ML clássico, o contentor de experiências é o mesmo entre ML clássico e GenAI.
Dados de observabilidade
Rastreios
Os traços capturam a execução completa da sua aplicação GenAI, incluindo entradas, saídas e todos os passos intermédios (chamadas LLM, recuperações, uso de ferramentas). Vestígios:
- São criados automaticamente para cada execução da sua aplicação em desenvolvimento e produção.
- Estão (opcionalmente) ligados às versões específicas da aplicação que os geraram.
- Anexe avaliações que incluam:
- Feedback de alta qualidade de avaliadores, utilizadores finais e especialistas do domínio.
- Expectativas de verdade de base por parte dos especialistas da área.
Os rastreamentos são usados para:
- Observe e depure o comportamento e desempenho da aplicação (como latência e custo).
- Criar conjuntos de dados de avaliação baseados em registos de produção para usar na avaliação da qualidade.
Saiba mais sobre conceitos de traços, siga o quickstart para registar o seu primeiro rastreio, ou siga o guia da sua aplicação para implementar o rastreamento na sua aplicação.
Avaliações
As avaliações são medições de qualidade e rótulos de veracidade que são associados a um traço. Existem dois tipos de avaliações: feedback e expectativas.
Feedback refere-se a julgamentos sobre a qualidade dos resultados da sua aplicação. É adicionado por utilizadores finais, especialistas em domínio ou avaliadores automáticos e é usado para identificar problemas de qualidade. Alguns exemplos são as classificações positivas ou negativas dos utilizadores finais e a avaliação do juiz do LLM quanto à exatidão da resposta.
As expectativas são rótulos 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 a sua aplicação produziu a resposta correta. Alguns exemplos são a resposta esperada a uma pergunta e os factos necessários que devem estar presentes numa resposta.
Observação
Não são necessários rótulos de verdade fundamental (expectativas) para medir a qualidade com o MLflow. A maioria das aplicações não terá rótulos de referência ou terá apenas um pequeno conjunto.
Saiba mais sobre registo de avaliações, veja como recolher feedback dos utilizadores ou explore a utilização de avaliadores para criar avaliações automáticas.
Dados da avaliação
Conjuntos de dados de avaliação
Os conjuntos de dados de avaliação são coleções curadas de casos de teste para testar sistematicamente a sua aplicação. Conjuntos de dados de avaliação:
- São normalmente criados ao selecionar traços representativos da produção ou do desenvolvimento.
- Inclua entradas e, opcionalmente, expectativas (verdade esperada).
- São versionados ao longo do tempo para acompanhar como o seu conjunto de testes evolui.
Os conjuntos de dados de avaliação são usados para:
- Avalie iterativamente e melhore a qualidade da sua aplicação.
- Validar 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 construir conjuntos de dados de avaliação, que inclui técnicas para selecionar e utilizar traços de produção.
Testes de avaliação
As execuções de avaliação são os resultados do teste de uma versão da aplicação contra um conjunto de dados de avaliação utilizando um conjunto de pontuadores. Execuções de avaliação:
- Incluir os traços (e as suas avaliações) gerados durante a avaliação.
- Conter métricas agregadas baseadas nas avaliações.
As execuções de avaliação são usadas para:
- Determinar se as alterações na aplicação melhoraram (ou regrediram) a qualidade.
- Compare versões da sua aplicação 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 via mlflow.search_runs().
Saiba mais sobre o conjunto 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 os rastreios para análise humana por especialistas do domínio. Sessões de rotulagem:
- Coloque em fila as pistas selecionadas que necessitem de revisão especializada e contenham as avaliações dessa revisão.
- Use esquemas de rotulagem para estruturar as avaliações para que os especialistas possam rotular.
As sessões de rotulagem são usadas para:
- Recolha feedback de especialistas sobre casos complexos ou ambíguos.
- Crie dados de referência 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 via mlflow.search_runs().
Saiba mais sobre sessões de rotulagem, siga o guia para coletar feedback de especialistas do domínio ou veja como rotular durante o desenvolvimento.
Esquemas de rotulagem
Os esquemas de rotulagem definem as avaliações recolhidas numa sessão de rotulagem, garantindo uma recolha consistente de etiquetas entre especialistas do domínio. Esquemas de rotulagem:
- Especifique que perguntas fazer aos revisores (por exemplo, "Esta resposta é correta?").
- Defina as respostas válidas a uma pergunta (por exemplo, polegares para cima/baixo, escalas 1-5 ou comentários em texto livre).
Saiba mais na referência de esquemas de rotulagem.
Dados de controle de versão do aplicativo
Pedidos
Os prompts são modelos controlados por versão para prompts de LLM. Prompts:
- São monitorizados com histórico de versões semelhante ao do Git.
- Inclui
{{variables}}para geração dinâmica. - Estão ligados a ciclos de avaliação para acompanhar a sua qualidade ao longo do tempo.
- Suportar alias como "produção" para gestão de implementação.
Modelos registados
Os modelos registados representam instantâneos da sua aplicação em momentos específicos do tempo. Modelos registados:
- Liga para os traços que geram e para os prompts que utilizam.
- O link para as avaliações serve para acompanhar a sua qualidade.
- Acompanhe parâmetros de aplicação, como a temperatura do LLM.
Os modelos registados podem funcionar como um centro de metadados, ligando uma versão conceptual da aplicação ao seu código externo específico (por exemplo, um ponteiro para o commit Git). Também pode usar um modelo registado para empacotar o código e a configuração da sua aplicação como um artefacto totalmente implantável.
Saiba mais sobre o acompanhamento de versões, veja como controlar versões de aplicativos ou saiba mais sobre como vincular rastreamentos a versões.
MLflow SDKs para a avaliação de qualidade
Estes são os processos-chave que avaliam a qualidade dos traços, anexando as avaliações ao traço que contém os resultados.
Artilheiros
mlflow.genai.scorers.* são funções que avaliam a qualidade de um traço. Marcadores:
- Analise um traço para os campos de dados relevantes a avaliar.
- Use esses dados para avaliar a qualidade, utilizando código determinístico ou critérios de avaliação baseados em juízes do LLM.
- Devolve as entidades de feedback com os resultados dessa avaliação.
O mesmo pontuador pode ser usado para avaliação no desenvolvimento e produção.
Observação
Marcadores vs. Juízes: Se você está familiarizado com juízes LLM, você pode se perguntar como eles se relacionam com os marcadores. 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 podem processar diretamente os vestígios - eles só entendem as entradas de texto. Os avaliadores extraem os dados relevantes de um rastreio (como o pedido, resposta e contexto recuperado) e encaminham-nos ao juiz para avaliação. Pense nos pontuadores como o "adaptador" que conecta seus traços à lógica de avaliação, seja um juiz LLM ou um código personalizado.
Saiba mais sobre pontuadores integrados e personalizados.
Avaliação em desenvolvimento
mlflow.genai.evaluate() é o SDK do MLflow para avaliar sistematicamente a qualidade do seu aplicativo. O harness de avaliação recebe um conjunto de dados de avaliação, um conjunto de pontuadores e a função de previsão da sua aplicação como entrada e cria uma execução de avaliação que contém traços com avaliações de feedback através de:
- Executa a tua aplicação para cada registo no conjunto de dados de avaliação, produzindo rastros.
- Executar cada pontuador nas trilhas resultantes para avaliar a qualidade, produzindo feedback.
- Anexar cada feedback ao rastro apropriado.
O conjunto de avaliação é usado para avaliar iterativamente possíveis melhorias em seu aplicativo, ajudando-o a:
- Valide se a melhoria melhorou (ou regrediu) a qualidade.
- Identifique melhorias adicionais para melhorar ainda mais a qualidade.
Saiba mais sobre o conjunto de avaliação, siga o guia para avaliar seu aplicativo.
Avaliação em produção
mlflow.genai.Scorer.start() Permite-lhe agendar os avaliadores para avaliar automaticamente os traços da sua aplicação implantada. Quando um avaliador é agendado, o serviço de monitorização de produção:
- Executa os avaliadores em traços de produção, produzindo feedback.
- Anexa cada feedback ao rastreio de origem.
O monitoramento da produção é usado para detetar problemas de qualidade rapidamente e identificar consultas problemáticas ou casos de uso para melhorar no desenvolvimento.
- Saiba mais sobre conceitos de monitorização de produção.
- Consulte o guia do Monitor GenAI em produção.
Interfaces de utilizador MLflow
App de análise
A aplicação de análise é uma interface web onde especialistas do domínio rotulam trilhas com avaliações. Apresenta vestígios das sessões de rotulagem e recolhe avaliações baseadas em esquemas de rotulagem.
Interface do usuário do experimento MLflow
A interface do experimento MLflow fornece acesso visual a muitos elementos do modelo de dados. Usando a interface, pode fazer o seguinte:
- Procure e veja rastos.
- Veja o feedback e as expectativas.
- Veja e analise os resultados das avaliações.
- Gerir conjuntos de dados de avaliação.
- Gerir versões e indicações.
Próximos passos
- Comece: Siga o guia de iniciação rápida para traçar a sua primeira aplicação.
- Análise aprofundada: Explore guias detalhados para rastreamento, avaliação ou feedback humano.