- Yi-Coder é um modelo de linguagem de grande porte (LLM) open source para código que oferece desempenho de ponta em programação com menos de 10 bilhões de parâmetros
- Está disponível em dois tamanhos, 1.5B e 9B de parâmetros, com versões base e chat projetadas para inferência eficiente e treinamento flexível
- Yi-Coder-9B foi construído com base no Yi-9B, adicionando 2.4T tokens de alta qualidade a partir de um corpus de código em nível de repositório do GitHub e de dados relacionados a código filtrados do CommonCrawl
Principais características do Yi-Coder
- Pré-treinado com 2,4 trilhões de tokens de alta qualidade em 52 linguagens de programação principais
- Modelagem de contexto longo: usa uma janela de contexto de até 128K tokens, permitindo compreensão e geração de código em nível de projeto
- Pequeno, mas poderoso: o Yi-Coder-9B supera outros modelos com menos de 10 bilhões de parâmetros, como CodeQwen1.5 7B e CodeGeex4 9B, e chega até mesmo a alcançar desempenho equivalente ao DeepSeek-Coder 33B
Yi-Coder oferece desempenho impressionante em programação
LiveCodeBench
- LiveCodeBench é uma plataforma publicamente disponível projetada para fornecer uma avaliação abrangente e justa de programação competitiva para LLMs
- Yi-Coder-9B-Chat alcançou uma impressionante taxa de aprovação de 23,4% e é o único modelo com menos de 10B de parâmetros a ultrapassar 20%
- Esse desempenho supera DeepSeek-Coder-33B-Instruct (22,3%), CodeGeex4-All-9B (17,8%), CodeLlama-34B-Instruct (13,3%) e CodeQwen1.5-7B-Chat (12%)
HumanEval, MBPP e CRUXEval-O
- Yi-Coder-9B-Chat alcançou taxas de aprovação de 85,4% no HumanEval e 73,8% no MBPP, superando outros LLMs de código
- Além disso, o Yi-Coder 9B se tornou o primeiro LLM open source para código a alcançar mais de 50% de acurácia no CRUXEval-O
Yi-Coder se destaca em edição e autocompletar de código
CodeEditorBench
- Yi-Coder-9B alcança uma impressionante taxa média de vitória entre os LLMs open source para código, superando de forma consistente o DeepSeek-Coder-33B-Instruct e o CodeQwen1.5-7B-Chat tanto nos subconjuntos Primary quanto Plus
CrossCodeEval
- Yi-Coder supera outros modelos de escala semelhante nos conjuntos de dados de Python e Java, tanto em cenários com recuperação quanto sem recuperação
- Isso valida que treinar com comprimentos de contexto maiores em corpus de código no nível de repositório de software permite ao Yi-Coder capturar dependências de longo prazo de forma eficaz, contribuindo para seu excelente desempenho
Yi-Coder consegue modelar contexto longo de 128K
Agulha no código
- Para testar a capacidade de modelagem de contexto longo do Yi-Coder, foi criada uma tarefa sintética chamada "agulha no código", que usa sequências de comprimento 128K
- Nessa tarefa, uma função personalizada simples é inserida aleatoriamente em uma base de código longa, e o modelo é testado para verificar se consegue reproduzir a função no final da base de código
- Isso avalia se o LLM consegue extrair informações-chave em um contexto longo, refletindo sua capacidade fundamental de compreender sequências longas
- Yi-Coder-9B concluiu essa tarefa perfeitamente dentro da faixa de comprimento de 128K
Yi-Coder também brilha em raciocínio matemático
Raciocínio matemático com apoio de programas
- Yi-Coder foi avaliado em 7 benchmarks de raciocínio matemático em uma configuração com apoio de programas (PAL: Program-aided Language Models)
- Yi-Coder-9B alcançou uma impressionante acurácia de 70,3%, superando os 65,8% do DeepSeek-Coder-33B
Conclusão
- Estamos disponibilizando o Yi-Coder 1.5B/9B para a comunidade como open source, tanto na versão base quanto na versão chat
- O Yi-Coder mostra desempenho notável em várias tarefas, incluindo programação básica e competitiva, edição de código e conclusão em nível de repositório, compreensão de contexto longo e raciocínio matemático
- Acreditamos que o Yi-Coder pode ampliar os limites dos pequenos LLMs de código, acelerando o desenvolvimento de software e abrindo casos de uso capazes de transformá-lo
Resumo do GN⁺
- A principal vantagem do Yi-Coder é oferecer desempenho de programação de ponta mesmo com um número reduzido de parâmetros. Isso pode viabilizar excelente suporte à programação sem exigir os enormes recursos computacionais demandados por grandes LLMs como o ChatGPT
- A capacidade de modelagem de contexto longo do Yi-Coder permite compreender código ao longo de projetos inteiros, o que parece especialmente útil em tarefas de programação complexas
- Apresenta ótimo desempenho em programação competitiva, edição de código, conclusão em nível de repositório, compreensão de contexto longo e raciocínio matemático
- Entre as principais ferramentas de suporte à programação baseadas em LLM estão GitHub Copilot e Amazon CodeWhisperer. Em comparação com elas, o Yi-Coder tem a vantagem de ser um modelo mais leve, embora ainda fique atrás em recursos adicionais como plugins
- Outros projetos com funcionalidades semelhantes incluem DeepSeek-Coder, CodeGeex4 e CodeLLama
- A capacidade de raciocínio matemático do Yi-Coder é um ponto interessante. A abordagem de resolver problemas por meio de programação se diferencia dos modelos puramente linguísticos e mostra o potencial de uso dos LLMs não só em matemática, mas também em várias outras áreas
2 comentários
Yi - LLM bilíngue open source de próxima geração
Yi 1.5 - LLM bilíngue open source de próxima geração
Comentários do Hacker News
Claude 3.5 Sonnet ainda apresenta o melhor desempenho entre os LLMs voltados para código
O Yi-Coder recebeu uma pontuação menor que o GPT-3.5 no benchmark de edição de código do Aider
Ao testar LLMs em tarefas de SRE/DevOps/C#/Golang/C++, foram recebidas respostas ilógicas
É interessante a diferença na forma como engenheiros de software e artistas reagem aos modelos de IA
Está esperando modelos especializados em linguagens específicas
Há curiosidade sobre como configurar pequenos LLMs localmente
Pergunta sobre hardware recomendado para rodar modelos em um PC desktop local
Gostaria de ver o desempenho do SWE-agent com o Yi-Coder-9B-Chat
Pedido de explicação sobre o benchmark do Aider
Pergunta por que o tamanho do modelo é expresso pelo número de pesos