Kernel Forge: An Agent Harness for LLM-based Generation and Optimization of CUDA Kernels
O Kernel Forge é um harness agêntico de ponta a ponta de código aberto que utiliza Grandes Modelos de Linguagem e Busca em Árvore Monte Carlo para gerar e otimizar automaticamente kernels CUDA para diversas cargas de trabalho do PyTorch, alcançando acelerações significativas em relação ao modo eager do PyTorch, enquanto fornece uma interface gráfica para inspeção e depuração.
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ê está tentando rodar um videogame no seu computador. Às vezes, o jogo roda suavemente, mas outras vezes ele trava ou apresenta lentidão. Isso acontece porque o computador precisa realizar milhões de minúsculas operações matemáticas a cada segundo para desenhar as imagens e lidar com a física. No mundo da inteligência artificial (IA), esses cálculos são ainda mais intensos. Para fazer uma IA "pensar", ela depende de instruções especiais de alta velocidade chamadas kernels. Pense em um kernel como uma receita específica e super eficiente que um chef usa para picar vegetais. Se o chef usar uma faca cega e um método lento, o jantar atrasará. Se usarem uma faca afiada e especializada, a comida estará pronta instantaneamente.
Por anos, escrever essas "receitas" para IA foi como tentar escrever um romance em uma língua que você mal conhece. Requer especialistas altamente qualificados para codificar manualmente instruções complexas para chips de computador (GPUs) para fazê-los rodar mais rápido. Mas agora, temos um novo tipo de ajudante: Modelos de Linguagem de Grande Escala (LLMs). Você deve conhecê-los como os chatbots inteligentes que podem escrever histórias ou resolver problemas matemáticos. Cientistas estão ensinando esses chatbots a escrever as "receções" (kernels) para a IA, esperando que eles possam fazer isso de forma mais rápida e melhor do que os humanos. No entanto, há uma pegadinha: só porque um chatbot escreveu uma receita que parece boa no papel, não significa que ele realmente cozinhará a refeição mais rápido em uma cozinha real.
É aqui que um novo projeto chamado Kernel Forge entra em cena. Pesquisadores da Universidade de Michigan construíram um sistema inteligente que não apenas pede a um chatbot para escrever código; ele atua como um treinador em tempo integral, um inspetor de qualidade e um gerente de projeto, tudo em um só. Eles queriam ver se a IA poderia realmente assumir o trabalho de otimizar essas receitas para modelos de IA do mundo real, não apenas para casos de teste falsos e inventados.
O Problema: A Armadilha do "Isolamento"
Imagine que você está treinando um robô para correr. Se você testá-lo apenas em uma pista perfeitamente plana e vazia, ele pode parecer um velocista de classe mundial. Mas no momento em que você o coloca em uma rua movimentada e irregular, ele pode tropeçar e cair. Isso é exatamente o que aconteceu com tentativas anteriores de usar IA para escrever kernels de GPU. A maioria das ferramentas testava a IA dando-lhe problemas matemáticos aleatórios e inventados em uma pista vazia. Elas geravam um pedaço de código, testavam isoladamente e diziam: "Veja o quão rápido isso é!".
Mas no mundo real, os modelos de IA são como cidades movimentadas. As "receitas" (kernels) têm que trabalhar com formas específicas de dados, quantidades específicas de memória e precisam interagir bem com as outras receitas ao lado delas. Uma receita que é rápida em um teste aleatório pode ser lenta ou até mesmo quebrar quando usada dentro de um modelo de IA real, como aqueles que geram imagens ou conversam com você. Ferramentas anteriores frequentemente deixavam a cargo dos desenvolvedores humanos descobrir como encaixar essas novas receitas escritas por IA de volta na máquina complexa, o que era tedioso e propenso a erros.
A Solução: Kernel Forge
Os pesquisadores criaram o Kernel Forge, uma ferramenta de código aberto que atua como uma ponte entre o escritor de IA e o mundo real. Em vez de pedir para a IA adivinhar, o Kernel Forge primeiro observa um modelo de IA real (como um que reconhece rostos ou escreve histórias) rodando em um computador. Ele toma notas sobre exatamente quais "receitas" estão sendo usadas, o tamanho dos dados e quanto tempo levam para rodar.
Uma vez que possui esses dados do mundo real, ele entrega o trabalho a um agente de IA (um bot inteligente alimentado por um modelo de linguagem de grande escala). Mas este não é um processo de tentativa única. O sistema utiliza uma estratégia inteligente chamada Busca em Árvore Monte Carlo (Monte Carlo Tree Search). Imagine um detetive resolvendo um mistério. Em vez de apenas seguir um palpite, o detetive tenta muitos caminhos diferentes. Se um caminho leva a um beco sem saída, ele não desiste; ele volta e tenta um ângulo diferente. Da mesma forma, o Kernel Forge não apenas escreve uma versão de uma receita e espera pelo melhor. Ele gera muitas versões, testa-as e, se uma for lenta, tenta consertá-la ou tenta uma abordagem completamente diferente. Ele mantém uma "árvore genealógica" de todas as tentativas, lembrando-se de quais foram promissoras, mesmo que não tenham sido perfeitas no início.
Os Resultados: Vitórias Rápidas, Mas Não em Todo Lugar
A equipe testou o Kernel Forge em quatro tipos diferentes de modelos de IA: um para reconhecimento de imagens (ResNet-50), um para geração de arte (Stable Diffusion 3.5 Medium) e dois para conversação e raciocínio (Gemma 4 e Qwen 3.5). Eles rodaram esses testes em um computador poderoso com uma GPU NVIDIA GB10.
Aqui está o que descobriram:
- Funciona, mas é exigente: O sistema gerou com sucesso novas receitas mais rápidas para muitas partes da IA. Em alguns casos, o código gerado pela IA foi significamente mais rápido que o código padrão que o computador costuma usar. Por exemplo, no gerador de imagens, o novo código para "normalização de grupo" foi 1,70 vez mais rápido. No chatbot Gemma 4, o novo código para "softmax" (um passo matemático usado para tomar decisões) foi massivamente 2,83 vezes mais rápido.
- A Rede de Segurança "Guardada": O sistema é muito cuidadoso. Ele possui um "guarda" que verifica cada nova receita. Se a nova receita escrita pela IA for mais lenta ou cometer um erro, o sistema imediatamente volta para o código original e confiável. Ele nunca força uma receita ruim ao usuário. Isso significa que, mesmo que a IA tente otimizar uma parte do código e falhe, o computador não trava ou fica lento; ele apenas usa o método antigo e seguro.
- Os "Grandes Jogadores" são Difíceis de Vencer: Os pesquisadores notaram algo interessante. As partes da IA que consomem a maior parte do tempo (os "grandes jogadores") são frequentemente tratadas por códigos já muito maduros e escritos por especialistas de empresas como a NVIDIA. A IA teve dificuldade em vencer esses especialistas. Por exemplo, no gerador de imagens, a operação "linear" (que ocupa mais de 50% do tempo) foi, na verdade, mais lenta quando a IA tentou reescrevê-la. O sistema decidiu sabiamente manter o código original para essa parte.
- Pequenas Vitórias se Somam: Os maiores ganhos de velocidade ocorreram em partes menores e menos críticas do código. Embora a IA não tenha conseguido vencer os especialistas nas tarefas maiores, ela encontrou maneiras inteligentes de acelerar as tarefas menores em 1,5 a 2,8 vezes.
O Custo da Curiosidade
Os pesquisadores também analisaram quanto esse "pensar" custou. Eles usaram um modelo de IA poderoso para gerar o código e, cada vez que a IA escrevia uma linha de código ou verificava um resultado, isso custava um pouco de dinheiro (baseado no uso de API). Eles descobriram que, conforme permitiam que a IA tentasse mais e mais variações (até 50 rodadas de tentativa e correção), o custo aumentava. No entanto, o ganho de velocidade extra nem sempre correspondia ao dinheiro extra gasto. Isso sugere que, embora a IA possa encontrar ótimos atalhos, precisamos ser inteligentes sobre quando parar de procurar, especialmente se a parte do código que estamos tentando corrigir não for muito importante para a velocidade geral.
A Conclusão
O Kernel Forge mostra que estamos entrando em uma nova era onde a IA pode ajudar a escrever o código de baixo nível que faz outras IAs rodarem mais rápido. Não é uma varinha mágica que resolve tudo instantaneamente; ela ainda não consegue vencer facilmente os melhores especialistas humanos nas tarefas maiores. Mas é uma ferramenta poderosa que pode encontrar ganhos de velocidade ocultos nos pequenos detalhes, mantendo o sistema seguro e estável.
Os pesquisadores lançaram sua ferramenta como código aberto, o que significa que qualquer pessoa pode usá-la para tentar tornar seus próprios modelos de IA mais rápidos. Eles provaram que, ao combinar a criatividade da IA com a segurança dos testes do mundo real, podemos começar a otimizar os motores do nosso mundo digital sem precisar de um doutorado em ciência da computação para isso. É um passo em direção a um futuro onde nossos computadores não serão apenas mais inteligentes, mas também muito mais eficientes.
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.