Ir para o conteúdo principal

Do piloto à produção com avaliadores personalizados


Compartilhe este post
From Pilot to Production with Custom Judges

Muitas equipes têm dificuldade para levar projetos de GenAI do piloto à produção. Elas são bloqueadas por requisitos de qualidade que não conseguem medir nem atender, mas que são necessários para a satisfação do cliente. As equipes que chegam à produção geralmente têm dificuldade para iterar com segurança, enfrentando regressões e mudanças imprevisíveis na qualidade dos resultados.

A Databricks permite que os clientes criem uma infraestrutura de avaliação sistemática por meio de soluções como o Judge Builder, abordando esses desafios e, ao mesmo tempo, criando um valor estratégico que se acumula com o tempo. A metodologia de avaliação que discutimos nesta postagem reflete a mesma abordagem baseada em pesquisa que sustenta o Agent Bricks, formando a base de como medimos, monitoramos e melhoramos continuamente a qualidade do agente em toda a plataforma Databricks AI.

Operacionalmente, as avaliações permitem uma implantação mais rápida, quantificando as mudanças de desempenho e informando as decisões de implantação com base em requisitos de negócios específicos. Avaliações robustas e contínuas fornecem a confiança necessária para escalar aplicações de AI em toda a empresa, atendendo consistentemente aos padrões de desempenho, segurança e compliance.

Estrategicamente, os dados de avaliação gerados (feedback humano, julgamentos de modelo, rastros de agente) se tornam um ativo reutilizável. Os clientes podem aproveitar esses dados para ensinar modelos futuros, validar fluxos de trabalho de agentes em evolução e se adaptar a qualquer novidade que surja no cenário de AI em rápida evolução. As avaliações transformam a expertise organizacional em uma vantagem competitiva persistente.

Construir avaliações robustas de sistemas de AI e os correspondentes sistemas de AI confiáveis é um desafio organizacional multifuncional significativo que exige uma abordagem estratégica clara em cada uma das seguintes dimensões:

  1. Como fazer as organizações projetarem e priorizarem um portfólio de avaliadores: permitir que uma variedade de partes interessadas concorde sobre quais dimensões de qualidade valem a pena medir
  2. Codificando Conhecimento Especializado com Precisão e Confiabilidade: capturando e codificando o conhecimento especializado de um conjunto limitado de especialistas com o mínimo de esforço e ruído
  3. Execução Técnica: criar ferramentas que permitam a iteração e a implantação rápidas de judges, bem como medição, auditabilidade e governança robustas em escala

No restante desta postagem no blog, exploraremos cada uma dessas três dimensões e como ajudamos os clientes a lidar com elas. O Judge Builder se baseia nessas experiências e simplifica o processo, permitindo que as equipes desenvolvam, testem e implantem judges em escala rapidamente. Se você tiver interesse em trabalhar conosco para desenvolver judges de LLM personalizados, entre em contato com sua equipe de account. 

Fazendo com que as organizações projetem e priorizem um portfólio de juízes  

Os avaliadores de LLM fazem mais do que apenas medir. Um avaliador de LLM serve tanto como uma especificação de produto quanto molda fundamentalmente o comportamento do modelo na prática, à medida que as equipes o otimizam. Portanto, um avaliador mal calibrado ou defeituoso pode resultar na coleta de sinais que podem ser irrelevantes para a qualidade da sua aplicação e na otimização para a coisa errada.

Portanto, antes de criar e calibrar um judge, as equipes devem primeiro determinar de qual(is) judge(s) precisam. Essas discussões devem envolver uma variedade de stakeholders: alguns judges podem ser compartilhados entre as equipes, o que significa que investir em judges de alta qualidade pode trazer bons resultados e acelerar o desenvolvimento de GenAI em toda a organização. 

Aconselhamos nossos clientes a definir seus judges para focar em dimensões precisas de qualidade. Por exemplo, um judge que avalia se "a resposta é relevante, factual e concisa" deve ser decomposto em três judges separados. 

Avaliadores abrangentes únicos ocultam as causas raiz. Uma pontuação reprovada de 'qualidade geral' informa que algo está errado, mas não o que corrigir. Juízes decompostos transformam a avaliação em depuração acionável: quando a qualidade cai, você fica sabendo imediatamente se é um problema de veracidade, relevância ou formatação e pode direcionar os esforços de melhoria de acordo. No entanto, isso também pode levar rapidamente a uma proliferação de judges; a priorização se torna essencial. 

A seleção de judges deve combinar considerações top-down e bottom-up: 

Top-down: são requisitos de qualidade conhecidos por serem relevantes desde o início.

  1. Os judges derivados dessas considerações geralmente formam o núcleo dos esforços de monitoramento contínuo.
  2. Alguns exemplos podem ser: garantir que não sejam fornecidos conselhos médicos prescritivos, recusar-se a responder a perguntas não relacionadas ao negócio e seguir as diretrizes de formatação.
  3. Eles podem ser baseados em diversas fontes de informação, incluindo, entre outros: requisitos regulatórios, perspectivas das partes interessadas do negócio, requisitos de estilo corporativo, etc.

Bottom-up: Essa abordagem identifica os modos de falha reais observados nos resultados do seu modelo.

  1. Esses judges são cruciais para identificar problemas específicos que precisam de resolução e são amplamente utilizados em avaliações offline para impulsionar melhorias de desempenho.
  2. Alguns exemplos podem ser: saídas em loop, uso incorreto de delimitadores, interpretação equivocada do jargão de negócios etc.
  3. Técnicas para revelar esses modos de falha e judges incluem técnicas como codificação aberta e axial [1] e clusters algorítmicos para descobrir e definir categorias distintas de falha. 

Por exemplo, um cliente construiu um judge top-down para correção, garantindo que sua AI citasse informação precisa. Por meio da análise bottom-up de rastreamentos do agent, eles descobriram um padrão: as respostas corretas quase sempre citavam os dois principais resultados de recuperação. Essa percepção se tornou um novo avaliador que poderia servir como proxy para a correção em produção, onde os rótulos de referência não estavam disponíveis. A combinação de ambas as abordagens criou um sistema de avaliação mais robusto do que qualquer uma delas isoladamente e permitiu o monitoramento em tempo real em escala.

O objetivo é encontrar um conjunto mínimo de judges que reflita com precisão as dimensões de qualidade de maior prioridade para sua aplicação. A abordagem mais eficaz combina percepções de cima para baixo (top-down) e de baixo para cima (bottom-up), garantindo que os avaliadores sejam abrangentes e relevantes para o desempenho real da sua aplicação.

Este é um processo iterativo. À medida que a qualidade e os requisitos da sua aplicação evoluem, seu portfólio de judges também evoluirá. Trate os judges como artefatos vivos que crescem com o seu sistema.

Codificando a especialização com precisão e confiabilidade 

É extremamente desafiador definir o que "bom" realmente significa para tarefas específicas do domínio, onde os resultados são subjetivos, dependentes do contexto e exigem conhecimento especializado para serem avaliados. 

Muitas organizações empresariais têm apenas alguns especialistas no assunto (SMEs) que são suficientemente qualificados para avaliar a qualidade da aplicação que estão criando. Esses SMEs são poucos, muito valiosos e difíceis de escala. Garantir que qualquer judge que você crie tenha codificado adequadamente o conhecimento deles permite avaliar aplicações em escalas sem precedentes. 

Isso requer construção e calibração cuidadosas. Caso contrário, os judges podem sinalizar resultados aceitáveis, não detectar problemas reais ou interpretar os requisitos de forma diferente dos SMEs. 

Descoberta: foco no que importa

Colete exemplos relevantes e realize uma análise de erros rigorosa usando métodos qualitativos (por exemplo, codificação aberta e axial). Foco em:

  • Casos extremos em que as decisões de aprovação/reprovação são limítrofes
  • Limites claros que definem o que é um bom resultado em comparação com os modos de falha comuns
  • Pontos de discordância onde os stakeholders podem divergir razoavelmente

Diretrizes de anotação do Judge: traduza percepções em critérios claros

Com base nos resultados da sua análise de erros e nos juízes a priori que forem necessários, crie diretrizes de anotação. Isso envolve:

Identificar dimensões de qualidade relevantes para as quais você deseja criar um judge.

Formular uma declaração neutra e não tendenciosa à qual os participantes possam responder em uma escala categórica (geralmente binária ou uma escala Likert de 5 pontos). Uma diretriz mal redigida pode perguntar: "A resposta é de alta qualidade?". Uma diretriz bem projetada afirma: "A resposta cita corretamente pelo menos um documento de origem (sim/não)", com o esclarecimento explícito de que erros de formatação devem ser ignorados para este judge.

Forneça aos SMEs diretrizes claras e detalhadas sobre como eles devem fornecer os rótulos. Seja bem detalhista. Por exemplo: se o juiz estiver relacionado à formatação e o formato estiver correto, eles devem tratar isso como sucesso, mesmo que a resposta como um todo esteja errada.

Anotação iterativa: em lote, verificação e alinhamento

Faça com que os SMEs anotem vários exemplos de uma vez. Recomendamos fazer as anotações em lotes porque:

  • A maioria das organizações não está familiarizada com este tipo de processo de rótulo e pode precisar de um tempo para se adaptar.
  • Isso nos dá a oportunidade de verificar os scores de confiabilidade entre avaliadores para entender o quão alinhados os SMEs estão em seu entendimento da tarefa

Se houver baixa concordância, discuta para entender se a definição do judge precisa de refinamento ou se pequenos esclarecimentos são suficientes.

A discordância é normal e esperada. Em um caso, três SMEs mostraram extrema discordância em um exemplo inicial: classificações de 1, 5 e neutra para o mesmo resultado. A discussão pós-lotes revelou o problema: alguns SMEs estavam penalizando problemas de formatação, embora o judge estivesse explicitamente focado apenas na precisão factual, enquanto outros estavam recompensando uma não resposta. Assim que o escopo foi esclarecido, todos os três SMEs convergiram para uma pontuação neutra. Sem anotação em lotes e verificações de confiabilidade, essa confusão teria contaminado todo o dataset, produzindo um judge que penalizava as coisas erradas.

Felizmente, a criação e a calibração eficazes de juízes não exigem milhares de exemplos. Até mesmo 20 a 30 exemplos bem escolhidos podem resultar em um judge robusto. O desafio não é o volume, mas sim ter um processo sistemático para capturar casos extremos e limites de decisão dos especialistas de domínio da sua organização. Uma sessão de três horas com SMEs pode fornecer calibração suficiente para muitos judges.

Do feedback de especialistas a judges de produção 

Depois de definir seus critérios de avaliação e coletar o feedback de especialistas no domínio, o próximo desafio é transformar essas percepções em judges prontos para produção. 

Existem alguns desafios técnicos adicionais aqui: traduzir o feedback dos SMEs em um comportamento confiável do judge, controle de versão para acompanhar o desempenho do judge à medida que os requisitos evoluem, infraestrutura de implantação para execução de judges em escala e sistemas de orquestração para gerenciar vários judges simultaneamente. 

Isso significa otimizar os prompts com base no seu dataset rotulado para desenvolver judges que generalizem de forma confiável, versionar os judges à medida que os requisitos evoluem, implantá-los em produção e ser capaz de orquestrar vários judges em suas dimensões de qualidade. 

Quando se trata de otimização de prompts, existem abordagens manuais e automatizadas. O ajuste manual do avaliador oferece total transparência e controle, mas pode ser tedioso e ineficiente. Ferramentas de otimização automática (como DSPy ou os otimizadores de prompt do MLflow) podem testar sistematicamente diferentes prompts em relação aos seus exemplos e iterar de forma inteligente para alcançar rapidamente uma base sólida. A desvantagem é o controle – algumas equipes preferem abordagens manuais por esse motivo, embora geralmente recomendemos o uso de um otimizador automático de prompts.

Independentemente da abordagem, a solução técnica precisa agilizar a iteração e garantir uma governança robusta. As equipes devem conseguir atualizar os juízes em questão de horas, não de semanas. Ao implantar em produção, elas precisam ter confiança de que os juízes são calibrados de forma confiável e se comportarão de maneira consistente.

Temos o prazer de anunciar o Judge Builder, que simplifica o processo de alinhamento dos seus judges com o feedback humano, fornecendo uma interface intuitiva para criar judges a partir dos seus critérios de avaliação e alinhá-los continuamente com o feedback humano.

Judge Builder

Consulte o blog de atualizações de produto do MLflow para mais detalhes.

Principais conclusões

As equipes que passam com sucesso do piloto para a produção reconhecem que os avaliadores são artefatos vivos. Eles evoluem à medida que os modelos mudam, novos modos de falha surgem e os requisitos de negócios se alteram. Em vez de criar judges uma única vez durante a fase piloto, essas equipes criam processos ágeis para descobrir, calibrar e implantar judges continuamente à medida que seus sistemas evoluem. Isso exige três compromissos práticos:

Concentre-se primeiro nos avaliadores de alto impacto. Identifique seu requisito regulatório mais crítico e um modo de falha observado. Estes se tornam seus primeiros avaliadores. Você pode expandir seu portfólio à medida que novos padrões surgem em produção.

Crie fluxos de trabalho simplificados para SMEs. Algumas horas com especialistas do domínio para analisar de 20 a 30 casos extremos fornecem calibração suficiente para a maioria dos juízes. Seja rigoroso ao alinhar seus SMEs para remover o ruído dos dados e use otimizadores de prompt automáticos, como o MLFlow, para refinar os prompts com base nos exemplos coletados.

Trate os judges como artefatos vivos. Programe revisões regulares dos judges usando dados de produção para identificar novos modos de falha e atualizar seu portfólio à medida que os requisitos mudam.

O erro mais comum que observamos é tratar o desenvolvimento de judges como algo puramente técnico. As equipes que se dão bem são aquelas que criam pontes entre a implementação técnica e o conhecimento de domínio, criando processos simplificados, mas sistemáticos, para capturar e manter o conhecimento dos SMEs.

Na Databricks, nosso Judge Builder simplifica este fluxo de trabalho, permitindo o rápido desenvolvimento e implantação de judges em escala. O investimento é mínimo: muitas vezes, apenas algumas horas de tempo dos SMEs e ferramentas básicas. O retorno é substancial: uma avaliação sistemática em que você pode confiar e um caminho claro do piloto para a produção. Seja criando agentes personalizados ou usando nossas soluções Agent Bricks, o caminho para a produção exige a mesma coisa: tornar a qualidade mensurável, rastreável e melhorável.

Autores: Pallavi Koppol, Alkis Polyzotis, Samraj Moorjani, Wesley Pasfield, Forrest Murray, Vivian Xie, Jonathan Frankle

 

(This blog post has been translated using AI-powered tools) Original Post