Conceitos & 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
Em sua essência, o MLflow organiza todos os dados do aplicativo GenAI dentro do Experiments. Pense em um experimento como uma pasta de projeto que contém cada rastreamento, execução de avaliação, versão do aplicativo, prompt e avaliação de qualidade de todo o ciclo de vida do aplicativo.
- Experiência: contêiner para os dados de um único aplicativo
-
Dados de observabilidade
- Rastreamentos: Execução do aplicativo logs
- Avaliações: medições de qualidade anexadas a um traço
- Rastreamentos: Execução do aplicativo logs
-
Dados de avaliação
- Conjunto de dados de avaliação: Entradas para avaliação de qualidade
- Execução da avaliação: Resultados da avaliação de qualidade
-
Dados do rótulo humano
- rótulo Sessions: Filas de traços para rótulo humano
- rótulo Schemas: Perguntas estruturadas a serem feitas aos rotuladores
-
Dados de controle de versão do aplicativo
- modelos registrados: Snapshot da versão do aplicativo
- Prompts: LLM prompt padrão
-
O MLflow exige apenas que o senhor use traces . Todos os outros aspectos do modelo de dados são opcionais, mas altamente recomendados!
- _
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 o conjunto de dados de avaliação e os avaliadores para identificar e melhorar os problemas de qualidademlflow.genai.add_scheduled_scorer()
: SDK para a execução de avaliadores em traços de produção para monitorar a qualidade
3. O MLflow fornece UIs para gerenciar e usar os dados do seu aplicativo:
- Review App: interface de usuário da Web para coletar avaliaçõesde especialistas de domínio
- MLflow UI de experimento: UIs para visualizar e interagir com rastros, resultados de avaliação, sessões de rótulo, versões de aplicativos e prompts.
1. Modelo de dados
Abaixo, fornecemos uma visão geral de cada entidade no modelo de dados MLflow.
Experimentos
Uma experiência no MLflow é um contêiner nomeado que organiza e agrupa todos os artefatos relacionados a um único aplicativo GenAI. Experimentos, semelhantes a um projeto, garantem que seus aplicativos e seus dados sejam separados logicamente.
Se o senhor estiver familiarizado com o MLflow para o ML clássico, o contêiner de experimentos é o mesmo entre o ML clássico e o GenAI.
Dados de observabilidade
Traços
Os rastreamentos capturam a execução completa do seu aplicativo GenAI, incluindo entradas, saídas e todas as etapas intermediárias (chamadas LLM, recuperações, uso de ferramentas). Traços :
- São criados automaticamente para cada execução de seu aplicativo em desenvolvimento e produção
- Estão (opcionalmente) vinculados às versões específicas do aplicativo que os geraram
- Anexe avaliações que contenham
- Feedback de qualidade de avaliadores, usuários finais e especialistas do domínio
- Expectativas de verdade fundamentadas dos especialistas do domínio
Os traços são usados para:
- Observar e depurar o comportamento e o desempenho do aplicativo (latência, custo, etc.)
- Criar um conjunto de dados de avaliação com base na produção logs para usar na avaliação da qualidade
Saiba mais na referência do modelo de dados de rastreamento, siga o início rápido para log seu primeiro rastreamento ou siga o guia instrumentar seu aplicativo para implementar o rastreamento em seu aplicativo.
Avaliações
As avaliações são medições de qualidade e rótulo de verdade terrestre que são anexados a um rastreamento. Existem 2 tipos de avaliações :
-
Feedback : julgamentos sobre a qualidade das saídas do seu aplicativo
- Adicionado por usuários finais, especialistas de domínio ou pontuadoresautomatizados
- Usado para identificar problemas de qualidade
- Exemplos
- Classificação positiva e negativa do usuário final
- Avaliação da correção de uma resposta pelo juiz do LLM
-
Expectativas : Rótulo de verdade fundamental que define a saída correta para uma determinada entrada
- Adicionado por especialistas em domínios
- Usado como o padrão ouro "" para avaliar se o seu aplicativo produziu a resposta correta
- Exemplos
- Resposta esperada a uma pergunta
- Fatos necessários que devem estar presentes em uma resposta
O rótulo (expectativas) da verdade terrestre NÃO é necessário para medir a qualidade com MLflow. A maioria dos aplicativos não terá ou terá apenas um conjunto mínimo de rótulo de verdade terrestre.
Saiba mais sobre avaliações de registro, veja como coletar feedback de usuários ou explore o uso de pontuadores 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 seu aplicativo. Conjunto de dados de avaliação :
- Normalmente são criados selecionando traços representativos da produção ou desenvolvimento
- Inclua insumos e, opcionalmente, expectativas (verdade fundamental)
- São versionados ao longo do tempo para acompanhar a evolução de sua suíte de testes
O conjunto de dados de avaliação é usado para:
- Avalie e melhore iterativamente a qualidade do seu aplicativo
- Valide as mudanças para evitar regressões na qualidade
Saiba mais na referência do conjunto de dados de avaliação, siga o guia para criar o conjunto de dados de avaliação ou veja como usar os traces de produção para melhorar seu conjunto de dados.
Avaliação execução
A execução da avaliação é o resultado do teste de uma versão do aplicativo em relação a uma avaliação dataset usando um conjunto de avaliadores. Avaliação da execução :
- Contenha os traços (e suas avaliações) gerados pela avaliação
- Contém métricas agregadas com base nas avaliações
As avaliações de execução são usadas para:
- Determine se as alterações do aplicativo melhoraram (ou diminuíram) a qualidade
- Compare as versões do seu aplicativo lado a lado
- Acompanhe as avaliações de qualidade ao longo do tempo
A execução da avaliação é um tipo especial de MLflow execução e pode ser consultada em 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
rótulo Sessões
rótulo Sessões organizam traços para revisão humana por especialistas de domínio. sessões de rótulo :
- Coloque na fila os rastreamentos selecionados que precisam de análise de um especialista e contenha as avaliações dessa análise
- Use esquemas de rótulo para estruturar as avaliações que os especialistas farão.
As sessões de rótulo estão acostumadas:
- Colete feedback de especialistas sobre casos complexos ou ambíguos
- Criar dados de verdade para o conjunto de dados de avaliação
rótulo As sessões são um tipo especial de MLflow execução e podem ser consultadas por meio do site 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 Schemas
Os esquemas de rótulo definem as avaliações que são coletadas em uma sessão de rótulo, garantindo uma coleta de rótulo consistente entre os especialistas de domínio. rótulo schemas :
- Especifique quais perguntas fazer aos revisores (por exemplo, " Essa resposta está correta? ", etc)
- Definir as respostas válidas para uma pergunta (por exemplo, polegar para cima/para baixo, escala de 1 a 5, comentários de texto livre etc.)
Saiba mais na referência de esquemas de rótulos ou veja exemplos no guia Review App.
Dados de controle de versão do aplicativo
Solicitações
Os prompts são padrões com controle de versão para LLM prompts. Solicitações :
- São rastreados com a versão Git-like história
- Inclua
{{variables}}
para geração dinâmica - Estão vinculados à execução de avaliações para acompanhar sua qualidade ao longo do tempo
- Suporta aliases como " production " para gerenciamento de implantação
modelos registrados
Os modelos registrados representam um instantâneo do seu aplicativo em pontos específicos no tempo. modelos registrados :
- Estão vinculados aos rastreamentos que geram e aos prompts que usam
- Estão vinculados à execução de avaliações para acompanhar sua qualidade
- Rastrear os parâmetros do aplicativo (por exemplo, temperatura do LLM, etc.)
Um modelo registrado pode ser:
- Atuar 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 do Git)
- pacote o código do seu aplicativo & config 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.
2. SDKs para avaliar a qualidade
Esses são os processos do site key que avaliam a qualidade dos rastreamentos, anexam avaliações ao rastreamento 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 os campos de dados relevantes a serem avaliados
- Usar esses dados para avaliar a qualidade usando um código determinístico ou critérios de avaliação baseados em juízes do LLM
- Retorne mais de 1 entidade de feedback com os resultados dessa avaliação
É importante ressaltar que o mesmo marcador pode ser usado para avaliação em desenvolvimento e produção.
Avaliadores x Juízes : Se o senhor estiver familiarizado com os juízes do LLM, talvez se pergunte como eles se relacionam com os avaliadores. No MLflow, um juiz é um SDK chamável (como mlflow.genai.judge.is_correct
) que avalia o texto com base em critérios específicos. No entanto, os juízes não podem processar rastros diretamente - eles só entendem as entradas de texto. É aí que entram os pontuadores : eles extraem os dados relevantes de um rastreamento (por exemplo, a solicitação, a resposta e o contexto recuperado) e os passam ao juiz para avaliação. Pense nos avaliadores como o adaptador "" que conecta seus traços à lógica de avaliação, seja ela um juiz LLM ou um código personalizado.
Saiba mais sobre os avaliadores, explore os juízes LLM predefinidos ou veja como criar avaliadores personalizados.
Avaliação em desenvolvimento
mlflow.genai.evaluate()
é o SDK do MLflow para avaliar sistematicamente a qualidade do seu aplicativo. O controle de avaliação usa uma avaliação dataset, um conjunto de avaliadores 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 de feedback:
- Executar seu aplicativo para cada registro na avaliação dataset, produzindo traços
- Analisar cada marcador nos traços resultantes para avaliar a qualidade, produzindo feedbacks
- Anexando 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 melhorou (ou regrediu) na qualidade
- Identifique melhorias adicionais para melhorar 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
databricks.agents.create_external_monitor()
permite que o senhor programe marcadores para avaliar automaticamente os traços do seu aplicativo implantado. Depois que um avaliador é programado, o serviço de monitoramento da produção:
- execução dos avaliadores nos traços de produção, produzindo feedbacks
- 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.
Saiba mais sobre os conceitos de monitoramento da produção, siga o guia para executar scorers na produção.
3. Interfaces de usuário
Aplicativo de avaliação
O Review App é uma interface de usuário da Web em que os especialistas no domínio rótulo traços com avaliações. Ele apresenta rastros de sessões de rótulo e coleta avaliações com base em esquemas de rótulo.
Saiba mais: Guia de revisão do aplicativo
UI do experimento MLflow
A interface de usuário do MLflow Experiment fornece telas para:
- Visualizando e pesquisando rastros
- Analisando o feedback e as expectativas sobre os traços
- Analisando os resultados da avaliação
- Gerenciamento do conjunto de dados de avaliação
- Gerenciando versões e solicitações
Próximas etapas
- Começar : Siga o guia de início rápido para rastrear sua primeira aplicação
- Mergulho profundo : Explore guias detalhados para rastreamento, avaliação ou feedback humano