- A equipe de pesquisa Qwen, da Alibaba, anunciou a série Qwen2.5-Coder, uma família de LLMs de código aberto (licença Apache 2.0)
- O modelo Qwen2.5-Coder-32B-Instruct afirma oferecer capacidade de programação em nível de GPT-4o
- O modelo de 32B é relativamente pequeno a ponto de poder rodar até mesmo em um MacBook Pro M2 com 64 GB de RAM
- Em benchmarks, registrou pontuações semelhantes ou superiores às dos modelos GPT-4o e Claude 3.5 Sonnet
Comparação de desempenho em benchmarks
- O modelo Qwen2.5-Coder-32B-Instruct se destacou nos seguintes benchmarks:
- Em LiveCodeBench, Spider e BIRD-SQL, apresentou desempenho superior ao GPT-4o e ao Claude 3.5 Sonnet
- Em MBPP, Aider e CodeArena, ficou um pouco atrás
- Em HumanEval e McEval, mostrou desempenho em nível semelhante
Desempenho no benchmark Aider
- Também mostrou bons resultados no benchmark Aider de Paul Gauthier
- No benchmark de "Whole edit", o Qwen2.5-Coder-32B-Instruct ficou entre o GPT-4o e o 3.5 Haiku
- Comparação de pontuações:
- 3.5 Sonnet: 84%
- 3.5 Haiku: 75%
- Qwen2.5-Coder 32B: 74%
- GPT-4o: 71%
- Qwen2.5-Coder 14B: 69%
- Qwen2.5-Coder 7B: 58%
- No benchmark de "Diff", empatou com o GPT-4o e ficou ligeiramente atrás do Claude 3.5 Haiku
Teste de execução do Qwen2.5-Coder no Mac
- O usuário tentou executar o modelo Qwen2.5-Coder-32B-Instruct-GGUF Q8 usando llm-gguf, mas como a GPU não foi usada, a velocidade ficou baixa
- As versões para Ollama e MLX funcionaram bem no MacBook
- Como instalar com Ollama:
- Baixe o arquivo quantizado de 20 GB com o comando
ollama pull qwen2.5-coder:32b
- Em um pedido para gerar uma função Python, funcionou com sucesso, exceto por um problema de ssl
- Uso com MLX:
- O desempenho melhorou com o framework MLX para Apple Silicon
- Foi possível executar no terminal um código que gera o fractal de Mandelbrot e exibi-lo como arte ASCII
- Métricas de desempenho:
- Velocidade de geração de tokens: 10.016 tokens/sec
- Uso de memória: máximo de 32.685 GB
Teste adicional: benchmark Pelican on a bicycle
- Foi executado o pedido
llm -m qwen2.5-coder:32b 'Generate an SVG of a pelican riding a bicycle'
- O resultado foi uma imagem SVG de um pelicano e uma bicicleta com forma pouco definida, mas ainda assim interessante do ponto de vista da experiência de uso
Conclusão e experiência de uso
- O uso de 32 GB de memória é viável para rodar no Mac, inclusive sem precisar fechar outros aplicativos
- Em termos de velocidade e qualidade dos resultados, é competitivo com os modelos hospedados atualmente disponíveis
- Como 80% do uso de LLM pelo usuário está relacionado à escrita de código, o Qwen2.5-Coder parece ser uma melhoria significativa
1 comentários
É um caso um pouco diferente do cenário de uso para programação, mas fico curioso sobre como o modo JSON do Claude foi implementado. Alguns modelos hospedados, mesmo quando são induzidos a gerar saída em JSON, acabam produzindo JavaScript com comentários ou texto em Markdown. Pela minha experiência usando modelos hospedados algumas vezes, os resultados com serviços gerenciados foram mais satisfatórios. Parece haver algo mais que não pode ser implementado apenas com um modelo hospedado.