A corrida pelo domínio nos modelos de linguagem focada em código está esquentando, e o Hugging Face entrou na area com um forte candidato: OlympicCoder-7b, parte de sua iniciativa Open-R1. Projetado para se destacar na programação competitiva, o modelo é ajustado usando um conjunto de dados de forças de código aprimorado em cadeia de pensamento. Notavelmente, já mostrou resultados impressionantes, superando Claude 3,7 soneto no benchmark ioi. Mas isso significa que o modelo 7B de abraçar o rosto realmente supera o Claude 3.7? Neste weblog, examinaremos as pontuações de referência do OlympicCoder-7B, exploraremos a arquitetura de raciocínio por trás do modelo e demonstrará como usá-lo.
O que é OlympicCoder?
Abraçar o rosto executa um projeto orientado à comunidade chamado Open-R1 Initiative-destinado a construir modelos de raciocínio aberto e de alta qualidade. Esta iniciativa levou ao desenvolvimento de dois modelos especializados em código:
- OlympicCoder-7b
- OlympicCoder-32b
OlympicCoder-7b é construído em QWEN2.5-CODER-7B-INSTRUTAum modelo de código aberto da Alibaba Cloud. O que o diferencia é o seu ajuste fino usando o conjunto de dados Codeforces-Cots, que inclui milhares de problemas de programação competitiva nas forças de código. A adição do raciocínio da cadeia de pensamento (COT) torna o modelo ainda melhor, permitindo que ele divida problemas complexos em etapas lógicas. Isso ajuda o modelo a ir além da geração sintática de código para a solução lógica actual de problemas.
O conjunto de dados Codeforces-Cots
A construção do conjunto de dados Codeforces para OlymicCoder-7 B envolveu a destilação de quase 100.000 amostras de alta qualidade usando R1 (outro modelo de iniciativa). Cada amostra inclui uma declaração de problema, um processo de pensamento e uma solução verificada em C ++ e Python. Essa configuração de linguagem dupla garante robustez e adaptabilidade do modelo em ambientes de codificação. Esse conjunto de dados não foi apenas um raspamento simples de forças de código; Em vez disso, foi projetado para refletir como os codificadores humanos especializados pensam e escrevem código.
Verificabilidade de código
Uma questão importante no treinamento e na avaliação dos modelos de código é a verificabilidade do código. Muitos conjuntos de dados existentes contêm código não verificado ou incorreto, que pode confundir modelos durante o treinamento. Para combater isso, abraçar o rosto aplicou um rigoroso processo de filtragem nas forças de código, garantindo que apenas as amostras de alta qualidade fossem usadas.
Ioi benchmark
O OlymipicCoder-7B foi avaliado no benchmark IOI. Inspirado na Olimpíada Internacional em Informática (IOI), isso testa a capacidade do modelo de lidar com problemas de programação competitiva no mundo actual. Ele enfatiza o raciocínio lógico, a satisfação da restrição e a otimização.

Este gráfico visualiza o desempenho de dez modelos diferentes no benchmark de 2024 IOI. A pontuação last reflete o desempenho de cada modelo em 50 tarefas de programação competitiva. Veja como o OlympicCoder se apresentou neste benchmark:
- OlympicCoder-7b pontuações 129,0, colocando-o à frente de Claude 3,7 sonetos (93,0) e outros modelos abertos como Lhama-3 e Mistral-Massive-Instruct.
- Comparado com Deepseek-r1que pontua 137,0, o OlympicCoder-7b (129.0) está um pouco atrás, mas permanece competitivo, especialmente considerando sua menor contagem de parâmetros e acessibilidade aberta.
- Também supera QWQ-32B (144.0) Sobre a clareza de raciocínio, apesar de ter menos parâmetros e recursos computacionais.
- Embora não atinja o nível superior ocupado por modelos fechados como GPT-4 Variantes, mostra resultados impressionantes para um modelo 7B de código aberto.
Esse desempenho afirma a capacidade do OlympicCoder-7B como um forte modelo de raciocínio no domínio de código aberto.
Executando o OlympicCoder-7b usando o Huggingface
Agora que estamos familiarizados com o Hugging NoypicCoder do rosto, vamos testá -lo no Google Colab.
Como acessar o Coder Olímpico de Abraço do rosto
Antes de começarmos, precisamos ter um token de acesso ao rosto abraçado. Veja como conseguir um.
- Vá para a página de tokens de acesso no Huggingface: https://huggingface.co/settings/tokens
- Crie um novo token de acesso ou modifique um token antigo para obter essas permissões.
- Copie o token de acesso e mantenha -o à mão.

Como correr OlympicCoder-7b
Agora que temos o token de acesso, vamos abrir um ambiente de Jupyter e começar. Certifique -se de definir o tipo de tempo de execução como T4 GPU.
1. Instalações
Primeiro, você precisa instalar os transformadores e acelerar as bibliotecas do Pypi (Python Bundle Index).
! pip set up transformadores aceleram
2. Conecte -se ao rosto abraçado
Adicione seu token de acesso aos segredos do COLAB ou execute este comando para adicionar seu token de acesso.
!huggingface-cli login

3. Importar e carregar o modelo
Importar as bibliotecas necessárias.
import torchfrom transformers import pipeline
O modelo é baixado em 4 fragmentos e tem aproximadamente 15 GB de tamanho.
pipe = pipeline("text-generation", mannequin="open-r1/OlympicCoder-7B", torch_dtype=torch.bfloat16, device_map="auto")
4. Execute a inferência
Vamos solicitar o modelo a gerar números primos até 100, incluindo o immediate na lista de mensagens com a função definida como “usuário”. Além disso, você pode optar por adicionar um immediate de sistema, como “Você é um desenvolvedor C ++”, para orientar o comportamento do modelo.
messages = (
{"function": "person", "content material": "Write a Python program
that prints prime numbers upto 100"})
immediate = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(immediate, max_new_tokens=8000, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs(0)("generated_text"))


Acabei de copiar o código Python gerado pelo modelo e obtive todos os números primos como saída.
Vale a pena notar que leva um tempo para obter as saídas. Infelizmente, não pude testar o modelo com mais instruções, pois leva muito tempo para gerar saídas no COLAB.
Maneira alternativa de acessar o OlympicCoder
Se você possui {hardware} e GPU poderosos no seu computador, tente executar o OlympicCoder-7b no aplicativo LM Studio. O LM Studio é um aplicativo que permite executar o LLMS localmente em sua máquina. Então, primeiro, vamos seguir estas etapas e baixar o LM Studio para começar a usar esses modelos.
1. Vá para o website do LM Studio: https://lmstudio.ai/
2. Faça o obtain do aplicativo de acordo com o seu sistema operacional.

3. Pesquise o OlympicCoder-7b e faça o obtain do modelo localmente. (4,68 GB)

NOTA: Devido a limitações de {hardware} na minha máquina, não estarei executando a inferência usando o LM Studio.
Lições do Treinamento OlympicCoder
Abraçando o rosto compartilhou várias lições ao treinar o Coder Olympic que poderia beneficiar a comunidade mais ampla de IA:
- A embalagem de amostras afeta o raciocínio: As amostras de treinamento em embalagem melhoram com mais eficiência a profundidade do raciocínio, permitindo sequências de COT mais longas.
- Altas taxas de aprendizado ajudam: Ao contrário das configurações tradicionais, o uso de maiores taxas de aprendizado ajudou a estabilizar o treinamento.
- Os editoriais melhoram o desempenho: A inclusão de editoriais do Codeforces em dados de treinamento enriqueceu o estilo de solução de problemas do modelo.
- Preencher com
Tags: Esse truque incentiva o modelo a gerar cadeias de pensamento mais longas e coerentes. - Otimizadores de 8 bits: O uso desses otimizadores ajudou a treinar grandes modelos com eficiência, especialmente em tarefas de raciocínio de longo contexto.
Essas idéias são valiosas para qualquer pessoa interessada em construir ou ajustar modelos de raciocínio de código.
Atualizações recentes do projeto Open-R1
Abraçar o rosto também tem avançado o ecossistema Open-R1 com desenvolvimentos interessantes:
- Otimização de política relativa agrupada (GRPO): Um novo método de aprendizado de reforço para o ajuste fino eficiente dos LLMs de Rachoining.
- Abrir conjunto de dados de matemática R1: Focado no raciocínio matemático, isso complementa o codificador olímpico focado em código.
- Curso de raciocínio: Um currículo projetado para treinar LLMs em vários domínios com exercícios de raciocínio estruturado.
- Contribuições da comunidade: De conjuntos de dados aprimorados a integrações com IDEs, a comunidade está expandindo rapidamente a utilidade do OlympicCoder.
Aplicações do OlympicCoder-7b
Aqui estão alguns cenários práticos em que o OlympicCoder-7b se destaca:
- Treinamento de programação competitivo: Com seu ajuste fina de cadeia de pensamento, o OlympicCoder pode ajudar os usuários não apenas a gerar código correto, mas também entender as etapas lógicas necessárias para resolver desafios algorítmicos.
- Revisão de código com raciocínio: Diferentemente dos modelos simples de conclusão de código, o OlympicCoder fornece explicações juntamente com suas sugestões. Isso o torna valioso como assistente para revisar o código, detectar falhas lógicas ou recomendar melhores práticas.
- Geração de explicações no estilo editor: O modelo pode simular a estrutura e o tom dos editoriais de programação competitiva. Dessa forma, ajuda os usuários a entender as abordagens de solução de problemas de maneira mais intuitiva.
- Construindo tutores de codificação personalizada: Desenvolvedores e educadores podem usar o OlympicCoder para criar sistemas de tutoria inteligentes que expliquem conceitos, avaliem o código e oriem os alunos por meio da solução de problemas iterativos.
- Aplicações educacionais para algoritmos e estruturas de dados: O OlympicCoder pode gerar exemplos, visualizar a lógica passo a passo e responder a perguntas baseadas em teoria. Isso o torna uma ótima ferramenta para ensinar assuntos principais do CS.
Minha experiência trabalhando com o modelo
Trabalhar com o OlympicCoder-7B foi uma experiência perspicaz. Configurar through Google Colab period direto, embora a velocidade de inferência tenha sido limitada por restrições de {hardware}. O modelo gerou um código bem fundamentado e preciso, geralmente acompanhado por comentários ou explicações. O uso de uma cadeia de pensamento period visível em como o modelo abordou as instruções de problemas passo a passo. Achei sua capacidade de produzir o código funcional e as quebras lógicas particularmente úteis ao trabalhar em avisos algorítmicos.
Também explorei sua implantação native através do LM Studio, embora as limitações de {hardware} na minha máquina tenham evitado testes completos. Ainda assim, a experiência afirmou que o OlympicCoder está pronto para experimentação e integração native em fluxos de trabalho avançados para aqueles com o {hardware} certo.
Conclusão
O OlympicCoder-7b, como parte da iniciativa Open-R1 do Hugging Face, representa um grande passo em direção a modelos de raciocínio de código aberto e poderosos. Sua forte exibição no benchmark da IOI, o treinamento robusto de conjunto de dados usando estratégias de COT e a aplicabilidade do mundo actual o tornam uma ferramenta valiosa para desenvolvedores, pesquisadores, educadores e programadores competitivos.
Ele preenche a lacuna entre a geração de código e a solução de problemas, oferecendo não apenas saídas, mas perception. Com apoio adicional da comunidade e atualizações contínuas, o OlympicCoder tem o potencial de se tornar um modelo elementary para o raciocínio do código no ecossistema de IA de código aberto.
O OlympicCoder-7b, como parte da iniciativa Open-R1 do Hugging Face, representa um grande passo em direção a modelos de raciocínio de código aberto e poderosos. Seu desempenho nos benchmarks da IOI, design inovador de conjunto de dados e raciocínio profundo do COT o tornam uma ferramenta atraente para desenvolvedores, estudantes e pesquisadores.
Perguntas frequentes
R. O benchmark IOI mede a capacidade de um modelo de resolver problemas de programação competitiva, geralmente usados para avaliar os recursos de raciocínio e codificação.
A. Qwen é uma série de grandes modelos de idiomas desenvolvidos pela Alibaba Cloud, incluindo versões especializadas para codificação, matemática e outras tarefas.
A. OlympicCoder-32b foi ajustado a partir de QWEN/QWEN2.5-CODER-32B-INSTRUCT.
R. É o conjunto de dados usado para treinar o modelo OlympicCoder-7B, compreendendo dados descontaminados de codelas com o raciocínio da cadeia de pensamentos (COT).
Faça login para continuar lendo e desfrutar de conteúdo com curado especialista.