← Últimos artigos
💬 NLP

SuperCoder: Assembly Program Superoptimization with Large Language Models

Este artigo apresenta o SuperCoder, uma abordagem baseada em modelos de linguagem de grande escala para superotimização de assembly que, por meio da criação de um novo benchmark de grande escala e do ajuste fino por aprendizado por reforço, alcança 95% de correção e um aumento de velocidade de 1,46x em relação aos compiladores padrão da indústria, demonstrando a viabilidade de LLMs para a otimização de desempenho de programas além das heurísticas tradicionais.

Autores originais: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken

Publicado 2026-02-02
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Anjiang Wei, Tarun Suresh, Huanmi Tan, Yinglun Xu, Gagandeep Singh, Ke Wang, Alex Aiken

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você tem uma receita de um bolo que um chef de classe mundial já aperfeiçoou. O chef mediu cada ingrediente, escolheu a melhor temperatura do forno e cronometrou o cozimento até o segundo. Este é o seu código "otimizado", criado por um compilador de computador padrão (como o gcc -O3).

Agora, imagine pedir a um aprendiz brilhante, mas inexperiente (um Grande Modelo de Linguagem, ou LLM), para olhar para essa receita perfeita e dizer: "Eu posso fazer este bolo ainda mais rápido".

Este é exatamente o que o artigo SuperCoder investiga. Aqui está a história do experimento deles, explicada de forma simples.

O Desafio: Vencer o Mestre Cuca

Por décadas, cientistas da computação tentaram escrever programas que automatizam a busca pela maneira mais rápida de realizar tarefas. Isso é chamado de Superotimização.

  • O Jeito Antigo: As tentativas anteriores eram como tentar otimizar uma única frase. Elas só conseguiam lidar com tarefas minúsculas e simples, sem loops (ações repetitivas). Era como tentar fazer um sanduíche mais rápido, mas você não conseguia sequer adicionar uma segunda fatia de pão.
  • O Novo Objetivo: Os autores queriam ver se a IA moderna poderia otimizar uma "refeição" inteira (um programa complexo com loops e lógica) que foi preparada pelos melhores chefs profissionais (compiladores industriais).

O Kit de Ferramentas: Um Novo Playground Gigantesco

Para testar isso, os pesquisadores não podiam usar apenas os antigos conjuntos de dados minúsculos. Eles precisavam de uma academia massiva para treinar sua IA.

  • O Conjunto de Dados: Eles construíram uma biblioteca de 8.072 programas em assembly (as instruções de baixo nível que os computadores realmente executam).
  • A Escala: Não eram apenas fragmentos minúsculos; eles tinham uma média de 130 linhas de código e incluíam loops complexos. Pense nisso como passar de otimizar um único bloco de Lego para otimizar um castelo inteiro.
  • A Rede de Segurança: Eles criaram milhares de "casos de teste" (como testes de sabor) para garantir que, se a IA mudasse a receita, o bolo ainda tivesse exatamente o mesmo gosto, apenas assado mais rápido.

O Experimento: Treinando o Aprendiz

Eles pegaram 23 modelos de IA diferentes e pediram que reescrevessem o código assembly para ser mais rápido.

  • Os Resultados Iniciais: A maioria das IAs era terrível nisso. Ou elas escreviam códigos que travavam (o bolo desmoronava) ou códigos que eram tão lentos quanto o original.
  • O Grande Destaque: Um modelo, o Claude-opus-4, foi o melhor do grupo. Ele conseguiu tornar o código 1,43 vezes mais rápido, em média, mantendo a correção. Isso é como reduzir um tempo de cozimento de 10 minutos para 7 minutos sem estragar o bolo.

O Ingrediente Secreto: Aprendizado por Reforço

Os pesquisadores perceberam que apenas pedir para a IA "fazer melhor" não era suficiente. Eles precisavam treiná-la como um personagem de videogame.

  • O Sistema de Recompensa: Eles usaram uma técnica chamada Aprendizado por Reforço (Reinforcement Learning).
    • Se a IA escrevesse um código que travasse ou desse a resposta errada, ela recebia zero pontos.
    • Se o código funcionasse, ela recebia pontos baseados em quanto mais rápido ele era.
  • O Resultado: Eles pegaram um modelo sólido (Qwen2.5-Coder-7B) e o treinaram com esse sistema de recompensa.
    • Antes do Treinamento: Ele era correto 61% das vezes e apenas 10% mais rápido.
    • Depois do Treinamento (SuperCoder): Tornou-se correto 95% das vezes e 46% mais rápido, em média.

Como Eles Poliram a Joia

Mesmo após o treinamento, eles usaram dois truques inteligentes para obter resultados ainda melhores:

  1. Amostragem Best-of-N: Em vez de pedir apenas uma resposta à IA, eles pediram 8 versões diferentes e escolheram a absolutamente melhor. Isso aumentou ainda mais o ganho de velocidade.
  2. Refinamento Iterativo: Se a IA cometesse um erro, eles mostravam a mensagem de erro e perguntavam: "Tente de novo, mas corrija este problema específico". A IA usava esse feedback para se corrigir, tornando-se mais inteligente a cada tentativa.

O Que a IA Realmente Mudou?

Quando os pesquisadores observaram como a IA tornou o código mais rápido, descobriram que ela estava realizando tarefas como:

  • Reestruturação de Loops: Reorganizando a ordem das etapas para serem mais eficientes.
  • Seleção de Instruções: Trocando uma instrução longa e lenta por um truque de CPU curto e especializado (como usar um atalho secreto).
  • Remoção de Excessos (Bloat): Retirando verificações de segurança ou cálculos complexos que o compilador havia mantido, mas que não eram estritamente necessários para aquela tarefa específica.

A Conclusão

Este artigo prova, pela primeira vez, que a IA pode agir como um superotimizador. Ela pode pegar um código que já foi otimizado pelos melhores compiladores criados por humanos e encontrar maneiras de torná-lo ainda mais rápido, sem quebrá-lo.

Eles não apenas adivinharam; eles construíram um campo de testes massivo, treinaram a IA com um sistema de recompensa rigoroso e mostraram que, com o treinamento certo, a IA pode superar o atual "padrão ouro" da otimização de computação.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →