IA como Juiz
Um modelo de IA usado para avaliar outros modelos de IA é chamado de juiz de IA.
Por que IA como Juiz?
Juízes de IA são rápidos, fáceis de usar e relativamente baratos em comparação com avaliadores humanos. Eles também podem trabalhar sem dados de referência. Você pode pedir aos modelos de IA que julguem uma saída com base em qualquer critério: correção, repetitividade, toxicidade, salubridade, alucinações e muito mais.
Nem sempre se pode confiar no julgamento da IA. No entanto, como cada modelo de IA é uma agregação das massas, é possível que os modelos de IA façam julgamentos representativos das massas.
A IA não apenas avalia uma resposta, como também explica sua decisão, o que pode ser especialmente útil quando você deseja auditar os resultados da sua avaliação.
Como Usar a IA como Juiz
Existem muitas maneiras de usar a IA para fazer julgamentos. Por exemplo, você pode usar a IA para avaliar a qualidade de uma resposta por si só, comparar essa resposta com dados de referência ou comparar essa resposta com outra resposta.
Um juiz de IA de uso geral pode ser solicitado a avaliar uma resposta com base em qualquer critério.
É essencial lembrar que os critérios da IA como juiz não são padronizados. As pontuações de relevância do Azure AI Studio podem ser muito diferentes das pontuações de relevância do MLflow. Essas pontuações dependem do modelo subjacente e do prompt do juiz.
O prompt de um juiz de IA é semelhante ao prompt de qualquer aplicativo de IA. Em geral, o prompt de um juiz deve explicar claramente o seguinte:
- A tarefa que o modelo deve executar.
- Os critérios que o modelo deve seguir para avaliar. Quanto mais detalhada a instrução, melhor.
- O sistema de pontuação, que pode ser um destes:
- Classificação, como bom/ruim ou relevante/irrelevante/neutro.
- Valores numéricos discretos podem ser considerados um caso especial de classificação, onde cada classe tem uma interpretação numérica em vez de uma interpretação semântica.
- Valores numéricos contínuos, como entre 0 e 1, por exemplo, quando se deseja avaliar o grau de similaridade.
Limitações da IA como juiz
A natureza probabilística da IA faz com que ela pareça pouco confiável para atuar como avaliadora. Os juízes de IA podem potencialmente introduzir custos e latência não triviais em uma aplicação. Dadas essas limitações, algumas equipes veem a IA como juiz como uma opção alternativa quando não têm outra maneira de avaliar seus sistemas, especialmente em produção.
Inconsistência
Para que um método de avaliação seja confiável, seus resultados devem ser consistentes. No entanto, os juízes de IA, como todas as aplicações de IA, são probabilísticos. O mesmo juiz, com a mesma entrada, pode gerar pontuações diferentes se solicitado de forma diferente. Até mesmo o mesmo juiz, solicitado com a mesma instrução, pode gerar pontuações diferentes se executado duas vezes.
Ambiguidade dos critérios
Uma aplicação evolui com o tempo, mas a forma como ela é avaliada, idealmente, deve ser fixa. Dessa forma, as métricas de avaliação podem ser usadas para monitorar as mudanças na aplicação. No entanto, juízes de IA também são aplicações de IA, o que significa que também podem mudar com o tempo.
Imagine que no mês passado, a pontuação de coerência da sua aplicação foi de 90% e, neste mês, essa pontuação é de 92%. Isso significa que a coerência da sua aplicação melhorou? É difícil responder a essa pergunta a menos que você tenha certeza de que os juízes de IA usados em ambos os casos são exatamente os mesmos.
Aumento de custos e latência
Você pode usar juízes de IA para avaliar aplicações tanto durante a experimentação quanto em produção. Muitas equipes usam juízes de IA como barreiras na produção para reduzir riscos, mostrando aos usuários apenas as respostas geradas e consideradas boas pelo juiz de IA. Usar modelos poderosos para avaliar respostas pode ser caro. Se você usar o GPT-4 para gerar e avaliar respostas, fará o dobro de chamadas do GPT-4, aproximadamente dobrando seus custos de API.
Você pode reduzir custos usando modelos mais fracos como juízes. Você também pode reduzir custos com verificação pontual: avaliar apenas um subconjunto de respostas. Quanto maior a porcentagem de amostras avaliadas, mais confiança você terá nos resultados da sua avaliação, mas também maiores serão os custos.
A implementação de juízes de IA em seu pipeline de produção pode aumentar a latência.
Vieses da IA como juiz
Avaliadores humanos têm vieses, assim como juízes de IA.
Juízes de IA tendem a ter viés próprio, onde um modelo favorece suas próprias respostas em detrimento das respostas geradas por outros modelos. O mesmo mecanismo que ajuda um modelo a calcular a resposta mais provável de ser gerada também dará a essa resposta uma pontuação alta.
Muitos modelos de IA têm viés de primeira posição. Um juiz de IA pode favorecer a primeira resposta em uma comparação de pares ou a primeira em uma lista de opções. Isso pode ser atenuado repetindo o mesmo teste várias vezes com ordenações diferentes ou com prompts cuidadosamente elaborados.
Alguns juízes de IA têm viés de verbosidade, favorecendo respostas mais longas, independentemente de sua qualidade.
Além de todos esses vieses, os juízes de IA têm as mesmas limitações de todas as aplicações de IA, incluindo privacidade e propriedade intelectual. Se o modelo proprietário utilizado não divulgar seus dados de treinamento, você não saberá com certeza se o juiz é comercialmente seguro para uso.
Quais Modelos Podem Atuar como Juízes?
O juiz pode ser mais forte, mais fraco ou o mesmo modelo que está sendo julgado. Cada cenário tem seus prós e contras. À primeira vista, um juiz mais forte faz sentido.
Você pode se perguntar: se você já tem acesso ao modelo mais forte, por que se preocupar em usar um modelo mais fraco para gerar respostas? A resposta é custo e latência.
Uma questão em aberto é se o juiz pode ser mais fraco do que o modelo que está sendo julgado. Alguns argumentam que julgar é uma tarefa mais fácil do que gerar. Qualquer pessoa pode ter uma opinião sobre se uma música é boa, mas nem todos podem compor uma música. Modelos mais fracos devem ser capazes de julgar os resultados de modelos mais fortes.
Como existem muitas maneiras possíveis de usar juízes de IA, existem muitos juízes de IA especializados possíveis. Abordaremos exemplos de três juízes especializados: modelos de recompensa, juízes baseados em referência e modelos de preferência.
- Modelo de recompensa: Um modelo de recompensa recebe um par (prompt, resposta) e pontua a qualidade da resposta dada ao prompt. Modelos de recompensa têm sido usados com sucesso em RLHF há muitos anos.
- Juiz baseado em referência: Um juiz baseado em referência avalia a resposta gerada em relação a uma ou mais respostas de referência. Esse juiz pode gerar uma pontuação de similaridade ou uma pontuação de qualidade.
- Modelo de preferência: Um modelo de preferência recebe (prompt, resposta 1, resposta 2) como entrada e gera qual das duas respostas é melhor (preferida pelos usuários) para o prompt fornecido.
Classificando Modelos com Avaliação Comparativa
Frequentemente, você avalia modelos não porque se importa com suas pontuações, mas porque quer saber qual modelo é o melhor para você. Você pode classificar os modelos usando avaliação pontual ou avaliação comparativa. Com a avaliação pontual, você avalia cada modelo independentemente e, em seguida, os classifica de acordo com suas pontuações.
Com a avaliação comparativa, você avalia os modelos entre si e calcula uma classificação a partir dos resultados da comparação. Para respostas cuja qualidade é subjetiva, a avaliação comparativa é normalmente mais fácil de fazer do que a avaliação pontual. Por exemplo, é mais fácil dizer qual música das duas é melhor do que atribuir uma pontuação específica a cada música.
Um ponto muito importante a ter em mente é que nem todas as perguntas devem ser respondidas por preferência. Muitas perguntas devem ser respondidas por correção.
Ao coletar feedback comparativo dos usuários, um desafio é determinar quais perguntas podem ser avaliadas por votação de preferência e quais não devem ser. A votação baseada em preferência só funciona se os votantes tiverem conhecimento do assunto.
A probabilidade de o modelo A ser preferido ao modelo B é a taxa de vitória de A sobre B. Podemos calcular essa taxa de vitória observando todas as correspondências entre A e B e calculando a porcentagem em que A vence. Se houver apenas dois modelos, a classificação é simples. O modelo que vence com mais frequência tem uma classificação mais alta. Quanto mais modelos houver, mais desafiadora se torna a classificação.
Dados os sinais comparativos, um algoritmo de classificação é então usado para calcular a classificação dos modelos. Normalmente, esse algoritmo primeiro calcula uma pontuação para cada modelo a partir dos sinais comparativos e, em seguida, classifica os modelos de acordo com suas pontuações.
Desafios da Avaliação Comparativa
Na avaliação pontual, a parte mais trabalhosa do processo é projetar o benchmark e as métricas para coletar os sinais corretos. Com a avaliação comparativa, tanto a coleta de sinais quanto a classificação de modelos são desafiadoras.
Gargalos de escalabilidade
A avaliação comparativa exige muitos dados. O número de pares de modelos a serem comparados cresce quadraticamente com o número de modelos.
Felizmente, nem sempre precisamos de comparações diretas entre dois modelos para determinar qual é o melhor. Algoritmos de classificação normalmente assumem transitividade. Se o modelo A tiver uma classificação superior a B e B tiver uma classificação superior a C, então, com a transitividade, pode-se inferir que A terá uma classificação superior a C.
No entanto, não está claro se essa suposição de transitividade se aplica a modelos de IA. Muitos artigos citam a suposição de transitividade como uma limitação. Eles argumentaram que a preferência humana não é necessariamente transitiva. Além disso, a não transitividade pode ocorrer porque diferentes pares de modelos são avaliados por diferentes avaliadores e em diferentes prompts.
Há também o desafio de avaliar novos modelos. Com a avaliação independente, apenas o novo modelo precisa ser avaliado. Com a avaliação comparativa, o novo modelo precisa ser avaliado em relação aos modelos existentes, o que pode alterar a classificação dos modelos existentes.
Falta de padronização e controle de qualidade
Uma maneira de coletar sinais comparativos é fazer comparações por crowdsourcing com a comunidade, como o LMSYS Chatbot Arena faz. Qualquer pessoa pode acessar o site, inserir um prompt, receber duas respostas de dois modelos anônimos e votar no melhor. Somente após a votação, os nomes dos modelos são revelados.
A vantagem dessa abordagem é que ela captura uma ampla gama de sinais e é relativamente difícil de manipular. No entanto, a desvantagem é que é difícil impor padronização e controle de qualidade.
Uma maneira potencial de impor a padronização é limitar os usuários a um conjunto de prompts predeterminados. No entanto, isso pode afetar a capacidade do ranking de capturar diversos casos de uso.
Outra maneira é usar apenas avaliadores em quem podemos confiar. Podemos treinar os avaliadores nos critérios para comparar duas respostas ou treiná-los para usar prompts práticos e técnicas sofisticadas de prompts. A desvantagem dessa abordagem é que ela é cara e pode reduzir drasticamente o número de comparações que podemos obter.
Do desempenho comparativo ao desempenho absoluto
Para muitas aplicações, não precisamos necessariamente dos melhores modelos possíveis. Precisamos de um modelo que seja bom o suficiente. A avaliação comparativa nos diz qual modelo é melhor. Ela não nos diz o quão bom um modelo é ou se ele é bom o suficiente para o nosso caso de uso.
Ao decidir trocar A por B, a preferência humana não é tudo. Também nos preocupamos com outros fatores, como o custo. Não saber qual ganho de desempenho esperar dificulta a análise de custo-benefício.
Em nosso próximo artigo devemos abordar a construção de um pipeline de avaliação confiável. Até lá!
Referências
Huyen, Chip. AI Engineering: Building Applications with Foundation Models
Comments (0)