Métrica adicional

#5
by cnmoro - opened

Primeiro gostaria de agradecer pelo leaderboard, muito bom!

Fiz alguns testes com os modelos da família Qwen (que estão no topo), e realmente eles são muito bons em interpretar o português e trazer respostas corretas para os prompts. Porém, quase sempre, aparecem caracteres chineses no meio da resposta - o que "degrada a experiência do usuário", eu diria.

A mesma coisa ocorre em modelos de outras famílias, as vezes a resposta está correta, mas algumas palavras são trocadas por outras semelhantes em espanhol, por exemplo.

Será que seria possível criar uma nova métrica, para indicar o quão "correto" o modelo é nesse sentido ? Sei que não é algo trivial, estou apenas trazendo isso para discussão :)

Obrigado pelo feedback!
Legal, não tinha chegado a testar os modelos da família Qwen com prompts de instrução, bom saber que eles têm essa tendencia.

Esse é um problema geral para esse tipo de benchmark, o que eu estou medindo aqui é apenas o desempenho dos modelos em resolver uma tarefa simples de classificação/ questão de multipla-escolha.
Para todas as tarefas o modelo tem que apenas responder algo como "A", "B", "C" ou "D" para questões de múltipla escolha, ou então "Sim" ou "Não" para uma pergunta como "O texto é ofensivo? Sim ou Não?". Pra sair com uma classificação alta, os modelos não têm que "escrever" muita coisa, nem justificar sua resposta.

Na prática, esse leaderboard mede apenas a capacidade do modelo entender textos em Português e também qual o nível de "conhecimento interno" desses modelos (Por exemplo, conhecimento geral pelo ENEM e conhecimento específicos com as provas da OAB).
Mas esse benchmark NÃO mede a capacidades destes modelos de gerar textos médios/longos em português de forma coesa, satisfatória, consistente e criativa.

Acho que por não entender essa limitação a comunidade também critica bastante o leaderboard do huggingface pelo mesmo problema, muitos modelos no topo da classificação não performam tão bem no uso como chatbot em relação a outros modelos que estão abaixo do leaderboard. Essas avaliações de benchmarks tem baixa correlação com preferências humanas de modelos de chat.

Mas apesar de suas falhas, esse método de avaliação é a forma mais "barata" de avaliar e comparar um monte desses modelos generativos, ele provê pelo menos um norte para quais modelo vale a pena investigar.
É possível que o mistralai/Mistral-7B-v0.1 com 61.13 possa ser melhor que o Qwen/Qwen1.5-14B com 68.22 em um contexto de chatbot. Mas se pegarmos de exemplo o bigscience/bloom-7b1 com 28.87, um resultado pior que o Baseline aleatório, da para dizer com um alto nível de confiança que ele vai ser pior que esses outros dois (apesar de ser tecnicamente treinado em português).
Eu diria que modelos no topo desse benchmark tem uma grande capacidade de se tornaram modelos ótimos com mais pre-treino, fine-tuning, dpo, sft, etc em corpus do nosso idioma, mas não necessariamente são modelos bons para se pegar e usar imediatamente em contexto de produção como um chatbot.

Até onde eu tenho ciência, a melhor maneira de avaliar modelos de chat/instruction de forma automatizada é utilizar LLM's maiores como julgadores, como, por exemplo, o AlpacaEval e o MTBench [2], ambos utilizam o GPT-4 para avaliar a resposta de um modelo e ambos chegaram a conclusão que as avaliações do GPT-4 tem alta correlação com avaliações feitas por humanos e por isso é um bom indicador de desempenho.
(PS: os trabalhos avaliaram essa alta correlação do GPT-4 com anotadores humanos no inglês, não tem garantias que é o mesmo para português.)

Eu acredito que a melhor forma de avaliar automaticamente modelos com esse tipo de problema seria em um benchmark com a mesma ideia do AlpacaEval e MTBench , tenho pretensões de fazer algo similar e publico com instruções em português, mas no momento tenho outras prioridades.

eduagarcia changed discussion status to closed

Sign up or log in to comment