Avaliando e Alinhando CodeLLMs com Preferência Humana
Evaluating and Aligning CodeLLMs on Human Preference
December 6, 2024
Autores: Jian Yang, Jiaxi Yang, Ke Jin, Yibo Miao, Lei Zhang, Liqun Yang, Zeyu Cui, Yichang Zhang, Binyuan Hui, Junyang Lin
cs.AI
Resumo
Os grandes modelos de linguagem de código (codeLLMs) fizeram avanços significativos na geração de código. A maioria dos benchmarks anteriores relacionados a código, que consistem em vários exercícios de programação juntamente com os casos de teste correspondentes, são usados como uma medida comum para avaliar o desempenho e as capacidades dos codeLLMs. No entanto, os atuais codeLLMs focam na síntese do trecho de código correto, ignorando a alinhamento com as preferências humanas, onde a consulta deve ser amostrada a partir de cenários de aplicação práticos e as respostas geradas pelo modelo devem satisfazer a preferência humana. Para preencher a lacuna entre a resposta gerada pelo modelo e a preferência humana, apresentamos um benchmark rigorosamente curado por humanos, o CodeArena, para emular a complexidade e diversidade de tarefas de codificação do mundo real, com 397 amostras de alta qualidade abrangendo 40 categorias e 44 linguagens de programação, cuidadosamente selecionadas a partir de consultas de usuários. Além disso, propomos um corpus de instruções sintéticas diversificado, SynCode-Instruct (quase 20B tokens), escalando instruções do site para verificar a eficácia do ajuste fino de instruções sintéticas em larga escala, onde o Qwen2.5-SynCoder totalmente treinado em dados de instruções sintéticas pode alcançar um desempenho de primeira linha dos codeLLMs de código aberto. Os resultados encontram diferenças de desempenho entre benchmarks baseados em execução e o CodeArena. Nossos experimentos sistemáticos do CodeArena em mais de 40 LLMs revelam uma notável diferença de desempenho entre os codeLLMs de código aberto de última geração (por exemplo, Qwen2.5-Coder) e os codeLLMs proprietários (por exemplo, OpenAI o1), destacando a importância do alinhamento com a preferência humana.
English
Code large language models (codeLLMs) have made significant strides in code
generation. Most previous code-related benchmarks, which consist of various
programming exercises along with the corresponding test cases, are used as a
common measure to evaluate the performance and capabilities of code LLMs.
However, the current code LLMs focus on synthesizing the correct code snippet,
ignoring the alignment with human preferences, where the query should be
sampled from the practical application scenarios and the model-generated
responses should satisfy the human preference. To bridge the gap between the
model-generated response and human preference, we present a rigorous
human-curated benchmark CodeArena to emulate the complexity and diversity of
real-world coding tasks, where 397 high-quality samples spanning 40 categories
and 44 programming languages, carefully curated from user queries. Further, we
propose a diverse synthetic instruction corpus SynCode-Instruct (nearly 20B
tokens) by scaling instructions from the website to verify the effectiveness of
the large-scale synthetic instruction fine-tuning, where Qwen2.5-SynCoder
totally trained on synthetic instruction data can achieve top-tier performance
of open-source code LLMs. The results find performance differences between
execution-based benchmarks and CodeArena. Our systematic experiments of
CodeArena on 40+ LLMs reveal a notable performance gap between open SOTA code
LLMs (e.g. Qwen2.5-Coder) and proprietary LLMs (e.g., OpenAI o1), underscoring
the importance of the human preference
alignment.\url{https://codearenaeval.github.io/ }Summary
AI-Generated Summary