Os chatbots são o caso de uso mais amplamente adotado para aproveitar os poderosos recursos de chat e raciocínio dos modelos de linguagem grandes (LLM). A arquitetura de geração aumentada por recuperação (RAG) está rapidamente se tornando o padrão da indústria para o desenvolvimento de chatbots porque combina os benefícios de uma base de conhecimento (através de um banco de vetores) e modelos generativos (por exemplo, GPT-3.5 e GPT-4) para reduzir alucinações, manter informações atualizadas e aproveitar o conhecimento específico do domínio. No entanto, avaliar a qualidade das respostas do chatbot continua sendo um problema não resolvido atualmente. Sem padrões da indústria definidos, as organizações recorrem à avaliação humana (rotulagem) – o que é demorado e difícil de escalar.
Aplicamos a teoria à prática para ajudar a formar as melhores práticas para a avaliação automatizada de LLMs, para que você possa implantar aplicativos RAG em produção de forma rápida e com confiança. Este blog representa a primeira de uma série de investigações que estamos realizando no Databricks para fornecer aprendizados sobre a avaliação de LLMs. Toda a pesquisa nesta postagem foi conduzida por Quinn Leng, Engenheiro de software Sênior no Databricks e criador do Assistente de IA da documentação da Databricks.
Recentemente, a comunidade de LLMs tem explorado o uso de “LLMs como juízes” para avaliação automatizada, com muitos usando LLMs poderosos como o GPT-4 para fazer a avaliação das saídas de seus LLMs. O artigo de pesquisa do grupo lmsys explora a viabilidade e os prós e contras de usar vários LLMs (GPT-4, ClaudeV1, GPT-3.5) como juiz para tarefas de escrita, matemática e conhecimento de mundo.
Apesar de toda essa ótima pesquisa, ainda há muitas questões não respondidas sobre como aplicar juízes LLM na prática:
Exploramos as opções possíveis para as perguntas descritas acima no contexto de nosso próprio aplicativo de chatbot na Databricks. Acreditamos que nossas descobertas se generalizam e, portanto, podem ajudar sua equipe a avaliar efetivamente chatbots baseados em RAG a um custo menor e com maior velocidade:
Com base em nossa pesquisa, recomendamos o seguinte procedimento ao usar um juiz LLM:
O restante desta postagem apresentará a série de experimentos que realizamos para formar estas melhores práticas.

O experimento tinha três passos:
Geração do dataset de avaliação: Criamos um dataset a partir de 100 perguntas e do contexto de documentos da Databricks. O contexto representa (trechos de) documentos que são relevantes para a pergunta.

Além disso, as seguintes técnicas foram usadas para evitar o viés posicional e melhorar a confiabilidade:
Para confirmar o nível de concordância entre anotadores humanos e juízes de LLM, enviamos folhas de resposta (escala de avaliação de 0 a 3) do gpt-3.5-turbo e do vicuna-33b para uma empresa de rotulagem para coletar rótulos humanos e, em seguida, comparamos o resultado com a saída de avaliação do GPT-4. Abaixo estão os resultados:
Juízes humanos e GPT-4 podem alcançar uma concordância acima de 80% na pontuação de correção e legibilidade. E se diminuirmos o requisito para uma diferença de pontuação menor ou igual a 1, o nível de concordância pode chegar a acima de 95%.
![]() | ![]() |
A métrica de Abrangência tem menos alinhamento, o que corresponde ao que ouvimos dos stakeholders de negócios, que compartilharam que “abrangente” parece mais subjetivo do que métricas como Correção ou Legibilidade.
O artigo da lmsys usa este prompt para instruir o juiz LLM a avaliar com base na utilidade, relevância, precisão, profundidade, criatividade e nível de detalhe da resposta. No entanto, o artigo não compartilha detalhes sobre a rubrica de avaliação. Em nossa pesquisa, descobrimos que muitos fatores podem afetar significativamente a pontuação final, por exemplo:
Desenvolvemos uma rubrica para instruir um juiz LLM para uma determinada escala de avaliação, tentando o seguinte:
|
Adaptamos o prompt original do artigo lmsys para emitir nossas métricas sobre correção, abrangência e legibilidade, e também para solicitar que o juiz forneça uma justificativa de uma linha antes de dar cada pontuação (para se beneficiar do raciocínio em cadeia de pensamento). Abaixo estão a versão zero-shot do prompt, que não fornece nenhum exemplo, e a versão few-shot do prompt, que fornece um exemplo para cada pontuação. Em seguida, usamos as mesmas folhas de respostas como entrada e comparamos os resultados avaliados dos dois tipos de prompt.
Com este experimento, aprendemos várias coisas:




O artigo LLM-as-judge usa uma escala não inteira de 0 a 10 (ou seja, float) para a escala de avaliação; em outras palavras, ele usa uma rubrica de alta precisão para a pontuação final. Descobrimos que essas escalas de alta precisão causam problemas downstream com o seguinte:
Experimentamos várias escalas de avaliação de baixa precisão para fornecer orientação sobre a “melhor” a ser usada e, por fim, recomendamos uma escala de números inteiros de 0 a 3 ou 0 a 4 (se você quiser manter a escala Likert). Testamos as escalas 0-10, 1-5, 0-3 e 0-1 e aprendemos o seguinte:


Como mostrado nos gráficos acima, tanto o GPT-4 quanto o GPT-3.5 conseguem manter uma classificação consistente dos resultados usando diferentes escalas de notas de baixa precisão. Portanto, usar uma escala de notas mais baixa, como 0~3 ou 1~5, pode equilibrar a precisão com a explicabilidade)
Portanto, recomendamos 0-3 ou 1-5 como escala de avaliação para facilitar o alinhamento com os rótulos humanos, raciocinar sobre os critérios de pontuação e fornecer exemplos para cada pontuação no intervalo.
O artigo LLM-as-judge mostra que tanto o julgamento do LLM quanto o humano classificam o modelo Vicuna-13B como um concorrente próximo do GPT-3.5:
(A figura foi retirada da Figura 4 do artigo LLM-as-judge: https://arxiv.org/pdf/2306.05685.pdf )
No entanto, quando fizemos o benchmark do conjunto de modelos para nossos casos de uso de Q&A em documentos, descobrimos que até mesmo o modelo Vicuna-33B, que é muito maior, tem um desempenho notavelmente pior que o do GPT-3.5 ao responder a perguntas com base no contexto. Esses resultados também são confirmados pelo GPT-4, GPT-3.5 e por avaliadores humanos (conforme mencionado no Experimento 1), que concordam que o Vicuna-33B está tendo um desempenho pior que o GPT-3.5.

Analisamos mais de perto o dataset de benchmark proposto pelo artigo e descobrimos que as 3 categorias de tarefas (escrita, matemática, conhecimento) não refletem ou contribuem diretamente para a capacidade do modelo de sintetizar uma resposta com base em um contexto. Em vez disso, intuitivamente, os casos de uso de Q&A em documentos precisam de benchmarks de compreensão de leitura e de seguimento de instruções. Portanto, os resultados da avaliação não podem ser transferidos entre casos de uso e precisamos criar benchmarks específicos para cada caso de uso para avaliar adequadamente o quão bem um modelo pode atender às necessidades do cliente.
Com os experimentos acima, exploramos como diferentes fatores podem afetar significativamente a avaliação de um chatbot e confirmamos que o LLM como juiz pode refletir em grande parte as preferências humanas para o caso de uso de perguntas e respostas sobre documentos. No Databricks, estamos desenvolvendo a API de Avaliação do MLflow para ajudar sua equipe a avaliar com eficácia seus aplicativos de LLM com base nessas descobertas. O MLflow 2.4 introduziu a API de Avaliação para LLMs para comparar lado a lado a saída de texto de vários modelos, o MLflow 2.6 introduziu métricas baseadas em LLM para avaliação, como toxicidade e perplexidade, e estamos trabalhando para oferecer suporte ao LLM-como-juiz em um futuro próximo!
Enquanto isso, compilamos abaixo a lista de recursos que usamos como referência em nossa pesquisa:
IA generativa
January 7, 2025/8 min de leitura
Data Engineering
December 1, 2025/14 min de leitura


