Comparar o recurso de LLM com o resumo

Publicado em 30 de outubro de 2024

Criar recursos com modelos de linguagem grandes (LLMs) é bem diferente da engenharia de software convencional. Os desenvolvedores precisam aprender a fazer engenharia de comandos para processar resultados não determinísticos, entrada de pré-processamento e resultados de pós-processamento.

Um dos desafios que você compartilhou com nossa equipe é que testar a saída de LLMs, determinando a validade e a qualidade, é demorado. Os desenvolvedores costumam recorrer à geração em lote da saída usando entradas diferentes e, em seguida, validá-las manualmente usando o julgamento humano.

Uma abordagem mais escalonável para avaliar os resultados de diferentes modelos e instruções é a técnica de LLM como jurado. Com essa técnica, em vez de depender do julgamento humano, a validação do modelo é delegada a outro LLM. O segundo LLM precisa ser um LLM maior, baseado na nuvem, que provavelmente tenha melhores recursos de raciocínio.

Neste documento, usamos o resumo para demonstrar como você pode comparar diferentes modelos e, como bônus, mostramos a melhoria na qualidade do Gemma para o Gemma 2.

Escolher modelos para comparação e preparar dados

Avaliei os recursos de três modelos na síntese. Comparamos os resultados de dois dos modelos abertos do Google que podem ser executados no lado do cliente, Gemma e Gemma 2, ambos com 2 bilhões de parâmetros. Por outro lado, também avaliamos um modelo baseado em nuvem maior e mais capaz: Gemini 1.5 Flash.

Usamos um conjunto de dados de 2.225 artigos da BBC, que abrangem áreas como negócios, entretenimento, política, esportes e tecnologia, e geramos um resumo de cada artigo usando cada um dos modelos selecionados. O mesmo comando foi usado em todos os modelos:

Resuma o artigo em um parágrafo.

Armazenamos os artigos originais e geramos resumos em um banco de dados para que eles pudessem ser acessados facilmente em cada etapa.

Selecione um juiz para analisar e avaliar os resumos

Para analisar a qualidade do resumo, usamos o Gemini 1.5 Flash para avaliar os resumos criados pela Gemma 2 e pela Gemma 2 2B. Nossa abordagem específica é baseada no alinhamento, que faz parte da métrica de resumo da DeepEval.

O alinhamento é uma métrica que mede a frequência com que as declarações incluídas em um resumo são compatíveis com o conteúdo original em que o resumo é baseado.

Dividimos o processo de avaliação em duas etapas. Primeiro, pedimos para o modelo dividir cada resumo em instruções separadas. Em seguida, pedimos para o modelo determinar se cada declaração é embasada pelo texto do artigo original.

Extrair informações dos resumos

Pedimos ao Gemini 1.5 Flash para dividir um texto mais longo em declarações separadas. Exemplo:

O zagueiro do Everton David Weir minimizou a conversa sobre o futebol europeu, apesar de sua equipe estar em segundo lugar na Premiership depois de vencer o Liverpool.

O Gemini 1.5 Flash divide esta frase nas seguintes afirmações:

  • "David Weir é zagueiro do Everton."
  • "O Everton está em segundo lugar no Premiership."
  • "O Everton venceu o Liverpool em uma partida recente."
  • "David Weir minimizou a discussão sobre o Everton jogar no futebol europeu."

Validar declarações

Pedimos ao Gemini 1.5 Flash para analisar a frase original, em comparação com as instruções divididas. O modelo classificou a validade de cada declaração como:

  • Sim: a declaração é confirmada pelo texto original.
  • Não. A declaração contradiz o texto original.
  • Não sei. Não é possível verificar se a declaração tem suporte ou se ela contradiz o texto original.

Análise dos resultados

Esse processo resultou em duas métricas que podem ser usadas para comparar os modelos:

  • Alinhamento: com que frequência o modelo produziu resumos que contêm declarações que são apoiadas pelo texto original.
  • Qualidade: o número médio de declarações contidas em um resumo gerado pelo modelo.
Gráfico comparando a riqueza e o alinhamento do modelo.
Figura 1. Comparação entre o Gemma 2B, o Gemma 2 2B e o Gemini 1.5 Flash, todos com boa pontuação.

Alinhamento

Calculamos o alinhamento contando o número de resumos que têm pelo menos uma declaração marcada como "Não" e dividindo pelo número total de resumos.

O modelo Gemini 1.5 Flash tem as pontuações de alinhamento mais altas, superando 92%. Isso significa que é muito bom se ater aos fatos e evita inventar coisas.

O Gemma 2 2B tem uma pontuação respeitável de 78,64%, indicando um bom nível de precisão. Enquanto isso, a versão anterior do Gemma 2B tem uma pontuação de alinhamento menor, o que significa que é mais propensa a incluir informações não compatíveis com o texto original.

Riqueza

Calculamos a riqueza do modelo fazendo a média do número de declarações geradas pelo modelo para cada resumo.

O Gemma 2 2B tem a maior pontuação de riqueza, 9,1, indicando que os resumos incluem mais detalhes e pontos-chave. O modelo Gemini 1.5 Flash também tem pontuações de riqueza altas, acima de 8,4. O Gemma 2B teve pontuações de riqueza mais baixas, indicando que ele não captura tantas informações importantes do texto original.

Conclusão

Determinamos que modelos menores capazes de serem executados no lado do cliente, como o Gemma 2 2B, podem gerar ótimos resultados de qualidade. Embora os modelos baseados em nuvem, como o Gemini 1.5 Flash, se sobressaiam em produzir resumos alinhados ao artigo original, empacotando uma quantidade considerável de informações, a diferença precisa ser ponderada junto com o desempenho do aplicativo, as necessidades de privacidade e segurança e outras questões que você pode fazer ao determinar se precisa criar IA do lado do cliente.

Há uma clara evolução nos recursos da família de modelos Gemma, já que o Gemma 2 2B é capaz de gerar resumos mais detalhados e alinhados do que o Gemma 2B.

Avaliar seus casos de uso

Este documento mostra apenas uma pequena parte do que é possível usar com o LLM como uma técnica de julgamento. Mesmo com a síntese, é possível analisar mais métricas, e os resultados podem ser diferentes. Por exemplo, você pode avaliar a cobertura usando uma instrução para identificar os pontos principais de um artigo e, em seguida, usar uma instrução diferente para validar se esses pontos principais são abordados em cada resumo.

Outros casos de uso, como escrever, reescrever ou geração aumentada de recuperação (RAG, na sigla em inglês), podem ter resultados diferentes para as mesmas métricas ou precisar usar outras métricas para avaliação.

Ao implementar essa abordagem, pense em como um humano avaliaria o resultado para determinar quais métricas são melhores para seus casos de uso. Também vale a pena conferir frameworks existentes, como o DeepEval, que já podem ter um conjunto de métricas adequadas para seu caso de uso.

Você implementou o LLM como um juiz para avaliar modelos? Envie suas descobertas por tweet em @ChromiumDev ou compartilhe com Chrome para desenvolvedores no LinkedIn.