Prepare seu avaliador para produção
O avaliador básico que você criou em Configurar um modelo de avaliador básico, parte 1 e parte 2, foi baseado em dados auto-rotulados. Essa é uma ótima maneira de estabelecer uma linha de base de teste. No entanto, para ter qualidade de produção, você precisa de um avaliador que pense como um especialista em domínio e de métricas estatísticas robustas para confiar nele em escala. É isso que vamos abordar aqui.
Criar um conjunto de dados de alinhamento com especialistas
Usar especialistas humanos para rotular seu conjunto de dados de alinhamento é fundamental para criar um avaliador de LLM confiável. Priorize a qualidade em vez da quantidade. Trinta rótulos de alta qualidade de um especialista em domínio são infinitamente melhores do que 300 de não especialistas.
Encontrar rotuladores
Use designers internos e especialistas em marcas para o alinhamento da marca. Para toxicidade, você pode confiar nesses mesmos rotuladores ou rótulos de crowdsourcing da sua equipe com base em uma rubrica central para garantir que os rotuladores compartilhem os mesmos critérios de classificação.
Quantos rotuladores especialistas?
- Um especialista: isso é rápido e bom para começar, mas seu avaliador vai herdar os vieses da pessoa.
- Dois especialistas: esse pode ser um ótimo ponto ideal de orçamento. Não é possível resolver empates, mas você pode identificar discordâncias.
- Três ou mais: esse é o padrão ouro. Usar um número ímpar oferece um desempate automático para avaliações binárias
PASSeFAIL, como no nosso exemplo, porque você pode usar a classificação majoritária.
Para o ThemeBuilder, suponha que você tenha a sorte de ter três designers de marca internos que concordam em ser nossos rotuladores especialistas.
Especialistas formulam uma rubrica
Antes da rotulagem, peça aos especialistas que definam uma rubrica estrita dos critérios específicos para um PASS. Isso ajuda seus especialistas a serem consistentes no julgamento, individual e coletivamente.
Exemplo:
Criteria:
• Psychological association: Do the colors evoke the emotions associated with the desired tone?
• Harmony: Do the colors work together to create the right atmosphere?
• Appropriateness: Is the palette suitable for the company's industry?
Especialistas rotulam os dados
Peça aos seus especialistas para analisar de 30 a 50 amostras, atribuir um rótulo PASS ou FAIL com base na rubrica e escrever uma rationale explicando o julgamento. A justificativa é fundamental porque você a usará para solucionar problemas e corrigir o desalinhamento entre nosso avaliador e nossos especialistas.
Dicas para rotulagem eficiente
A rotulagem manual é cara. Confira estas técnicas para otimizar a eficiência dos seus especialistas:
- Verificar apenas: use um LLM para gerar rótulos e justificativas iniciais e, em seguida, peça aos especialistas que os auditem e corrijam. É mais rápido verificar do que criar um julgamento do zero.
- Rotulagem seletiva: peça a um segundo especialista para auditar um pequeno subconjunto do trabalho do primeiro. Se eles discordarem, pare e corrija a rubrica antes de rotular mais.
- LLM como uma segunda opinião: peça a um especialista e a um avaliador de LLM para rotular os mesmos itens. Se a concordância for baixa, o LLM estará entendendo a rubrica de maneira diferente. Faça iterações na rubrica até que elas se alinhem.
- Verificação intra-avaliador: se você tiver apenas um especialista, peça que ele rotule novamente 10% dos dados aleatoriamente uma semana depois. Se eles não concordarem com o que fizeram antes, a rubrica não será estável.
Confira um snippet JSON de uma entrada de conjunto de dados rotulada por especialistas, incluindo o rótulo PASS e FAIL do especialista e a justificativa detalhada:
{
"id": "sample-001",
"userInput": {
"companyName": "Kinetica",
// Company description, audience and tone
},
"appOutput": {
"motto": "Unlock your kinetic potential.",
// ... Color palette
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "PASS",
"rationale": "This motto powerfully aligns the brand's technical
engineering with the ambitious goals of its elite athletic audience.
Relevance: Leverages 'kinetic' to expertly link the brand to physical
energy. Audience appeal: 'Unlock your potential' resonates perfectly
with competitive runners. Tone consistency: Nails the required
aggressive, high-performance marks."
},
// ... Human evals for colorBrandFit and mottoToxicity:
}
}
Alcançar e medir a concordância de especialistas
A rubrica serve como instruções do modelo. Por isso, é importante dedicar tempo para refiná-la. Se um designer definir "brincalhão" como "linguagem criativa" enquanto outro interpreta como "cores brilhantes", seu LLM também ficará em conflito. É necessário reforçar a rubrica para eliminar essas ambiguidades antes de enviá-la ao avaliador. Conhecida como confiabilidade entre rotuladores ou concordância entre avaliadores, a alta concordância garante que o modelo de avaliador forneça rótulos confiáveis e de alta qualidade.
As discordâncias humanas são indicadores úteis que mostram onde a rubrica de pontuação precisa de mais trabalho. Faça iterações até que seus especialistas concordem com os casos PASS e FAIL.
O avaliador não pode estar mais alinhado do que os humanos que o criaram.
Concordância básica
Uma maneira de medir a concordância entre humanos, que também usamos para nossa pontuação de concordância de avaliadores humanos no avaliador básico, é uma porcentagem de quantas vezes nossos especialistas concordam.
// total = all test cases
// aligned = test cases where human1Eval.label === human2Eval.label
// (for example PASS and PASS)
const alignment = (aligned / total) * 100;
Concordância além da sorte: Kappa
A concordância percentual básica é simples, mas pode ser enganosa. Imagine um conjunto de dados que seja metade PASS e metade FAIL. Se dois especialistas jogarem moedas, eles ainda vão concordar 50% das vezes por pura sorte. Isso é chamado de piso de sorte.
Para calcular a concordância com precisão, use métricas estatísticas que medem a confiabilidade além da pura chance:
- Kappa de Cohen para dois rotuladores.
Kappa de Fleiss para três ou mais rotuladores.
Teste: procure uma pontuação Kappa de pelo menos
0.61, que é o padrão para concordância substancial. Uma pontuação de0significa que não é melhor do que um palpite aleatório, e1.0é uma concordância perfeita.Corrigir: se a pontuação Kappa for menor que
0.61, a rubrica será muito vaga. Agrupe as amostras em que seus especialistas discordaram, analise as justificativas, atualize a rubrica para cobrir esses casos extremos específicos e repita até atingir0.61. Prossiga para a próxima etapa somente quando seus especialistas estiverem alinhados.
| Pontuação Kappa | Ação |
|---|---|
Menos de 0.60: ruim |
Faça iterações e descubra por que os especialistas estão vendo as coisas de maneira diferente. A rubrica pode ser muito vaga. Portanto, refine-a. |
0.61–0.80: bom |
Sua linha de base é confiável. Continue com essa rubrica. |
0.81-1.00: quase perfeito |
Bom demais para ser verdade. Verifique se a tarefa é muito fácil ou se os especialistas estão simplificando demais. |
Reduzir os rótulos de especialistas
Se você usou três ou mais especialistas humanos para rotular seus dados, reduza os votos deles a uma única classificação majoritária para cada amostra. Essa lista se torna sua verdade básica.
Configurar o avaliador
Assim como fez para o avaliador básico, você precisa
configurar os parâmetros do modelo
e escrever o comando. Defina as instruções do sistema para uma persona de especialista estrita e mantenha a temperatura em 0 para máxima consistência. No comando, forneça a rubrica exata que seus especialistas humanos usaram para classificar os dados. Adicione algumas das amostras rotuladas por especialistas como exemplos de few-shot para mostrar ao avaliador exatamente como raciocinar.
Alinhar e testar o avaliador
Depois que seus especialistas humanos concordarem, é hora de verificar se o avaliador de LLM concorda com eles.
Na nossa configuração básica, analisamos o alinhamento bruto (acurácia). Mas esse número sozinho pode ser enganoso. Imagine que 90% dos seus dados de teste sejam um PASS. Um avaliador preguiçoso poderia gerar PASS todas as vezes e marcar 90% de acurácia, sem detectar um único lema tóxico.
Definir uma classe positiva
Defina sua classe positiva. Sua classe positiva, também chamada de condição de destino ou evento de interesse, é o resultado específico que você está tentando detectar, medir ou sinalizar. O pipeline de avaliação atua como um gatekeeper: o objetivo principal é detectar e bloquear saídas ruins.
Supondo que o ThemeBuilder seja geralmente bom para gerar slogans e paletas de marca, e que os lemas tóxicos também sejam um evento raro, sua classe positiva para todos os critérios de avaliação é um FAIL.
Com isso em mente:
- Os falsos positivos são boas saídas sinalizadas incorretamente como
FAIL. - Os falsos negativos são
FAILs que foram perdidos. - Os verdadeiros positivos são
FAILs identificados corretamente.
Precisão e recall
Com a classe positiva em mente, agora você pode usar a precisão e o recall, que são métricas melhores do que o alinhamento bruto:
- Precisão: quando o avaliador de LLM diz
FAIL, com que frequência ele estava certo? Por exemplo: quando o avaliador sinalizou um lema como tóxico, com que frequência ele estava certo? - Recall: quando o humano diz
FAIL, com que frequência o avaliador de LLM o detectou? Por exemplo: de todas as saídas realmente tóxicas e de todos os lemas e paletas realmente fora da marca, quantos o avaliador detectou?
Entender o custo dos erros + definir pontuações de metas
Faça a seguinte pergunta: qual erro é pior para seu aplicativo?
- Toxicidade: a toxicidade é um problema de segurança. Queremos detectar todos os lemas tóxicos (minimizar falsos negativos), mesmo que isso signifique que nosso avaliador seja ocasionalmente muito rigoroso e sinalize um seguro. Sinalizar um lema seguro (falso positivo) significa um pequeno atraso ou revisão humana. Portanto, nosso objetivo é 100% de recall. A precisão pode ser menor.
- Ajuste da marca: precisamos de um equilíbrio. Perder designs ruins e rejeitar bons são igualmente caros. Portanto, queremos uma precisão e um recall sólidos.
Pontuação F1
Quando o recall aumenta, a precisão geralmente cai. Para toxicidade, isso não é um problema, já que você só está interessado no recall.
Para o ajuste da marca, o recall e a precisão são importantes. Para equilibrar essa importância, você pode usar uma nova métrica: F1. A pontuação F1 combina precisão e recall em uma única métrica equilibrada.
Alcançar o alinhamento
Execute o avaliador no conjunto de dados rotulado por especialistas e calcule as pontuações de acurácia, precisão, recall e F1 para cada um dos critérios. Avalie se você está atingindo as metas.
Se não, agrupe os casos de falha e leia as justificativas do LLM. Atualize as instruções do sistema e a rubrica de pontuação do avaliador para preencher as lacunas até que as métricas atinjam as metas.
Quando o avaliador atingir as metas, ele estará alinhado.
Validação final
Agora, validamos nosso avaliador usando as mesmas etapas que abordamos na configuração básica do avaliador, mas aplicamos as novas métricas avançadas:
- Teste de estresse com bootstrapping: faça uma nova amostragem aleatória do conjunto de dados com substituição para 10 iterações. Calcule a variância das pontuações de precisão, recall e F1 nessas execuções para provar matematicamente que suas pontuações altas não são apenas sorte.
- Testar a autoconsistência: execute as mesmas entradas no avaliador várias vezes para garantir que os vereditos sejam 100% estáveis. Queremos variância zero em todas as iterações.
- Faça um exame final no avaliador: teste o avaliador em um conjunto de 15 a 20 amostras novas rotuladas por especialistas que ele nunca viu antes. Calcule as pontuações de Kappa de Cohen, precisão, recall e F1 nesse conjunto oculto. Se essas métricas permanecerem próximas, isso prova que o avaliador não foi ajustado demais aos dados de alinhamento e está pronto para generalizar para o mundo real.
Realinhar o avaliador
Quando terminar, parabéns! Você criou um pipeline de avaliação altamente confiável.
Lembre-se de realinhar o avaliador sempre que atualizar o LLM subjacente em que ele se baseia ou quando o conjunto de atributos do aplicativo mudar fundamentalmente.