Pular para o conteúdo principal

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.

1. Modelo de dados

nota

O MLflow exige apenas que o senhor use traces . Todos os outros aspectos do modelo de dados são opcionais, mas altamente recomendados!

2. O MLflow fornece SDKs para interagir com os dados do seu aplicativo para avaliar e melhorar 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 :

  1. 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
  2. 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
nota

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 :

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
nota

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 :

As sessões de rótulo estão acostumadas:

nota

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 :

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.

nota

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:

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:

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:

Próximas etapas

Esse artigo foi útil?