Agentes de IA

Cursor abre kernel para treino de MoE que chega a 2.37x mais rápido

Projeto lançado em 2026-08-03 combina cálculo e comunicação entre GPUs NVIDIA Blackwell.

A Cursor publicou em 2026-08-03 o Mixture-of-Kittens, um kernel CUDA aberto que treina modelos de mistura de especialistas em GPUs NVIDIA NVL72. O projeto combina cálculo, comunicação entre GPUs e execução dos passes forward e backward em um único kernel. Nos testes, ele chegou a 2.37x mais velocidade que o baseline mais rápido no forward com MXFP8. A ferramenta atende equipes que treinam MoE em máquinas NVIDIA Blackwell e controlam a própria infraestrutura.

O kernel tira a CPU do caminho

O Mixture-of-Kittens implementa um megakernel determinístico de mixture-of-experts (MoE) criado para sistemas NVL72. Ele funde todas as etapas de cálculo e comunicação do MoE, sobrepõe processamento e rede entre GPUs e elimina a sincronização entre CPU e GPU.

O projeto suporta os formatos BF16 e MXFP8. Também cobre tanto o passe forward, que calcula a saída, quanto o backward, usado para atualizar o modelo durante o treino.

O código oferece uma API de baixo nível em mok/ops.py. Essa camada chama diretamente os kernels CUDA e deixa a equipe controlar os dados, os tensores simétricos e a coordenação dos lançamentos.

A API funcional fica em mok/functional.py. Ela cria a memória de trabalho, coordena os lançamentos e organiza o fluxo de execução para quem não precisa controlar cada etapa.

A Cursor usa a camada funcional no treino de produção do Composer. O README descreve o uso em uma infraestrutura interna distribuída por vários racks NVL72.

A instalação exige hardware específico

Para instalar o projeto, a equipe precisa de GPUs NVIDIA Blackwell SM100 ou SM103, como GB200 NVL72 ou GB300 NVL72. O ambiente também exige Python 3.12 ou posterior, PyTorch 2.10 ou posterior e CUDA 13.0 ou posterior.

A compilação depende de uma correspondência exata entre o CUDA do PyTorch e as versões principal e secundária do toolkit instalado no sistema. O MoK compila para SM103 por padrão; quem usa SM100 precisa definir a variável de ambiente MOK_ARCH.

O repositório não descreve um serviço externo para executar o kernel. O processamento acontece na infraestrutura de GPUs do usuário, enquanto a configuração e os lançamentos ficam sob controle da própria equipe.

Na adoção pela API funcional, o usuário cria uma configuração e um workspace. Depois, chama schedule(...) uma vez para montar o dispatch e o combine e reutiliza a mesma agenda em forward(...) e backward(...).

O desempenho depende de cinco parâmetros ajustáveis. A equipe precisa calibrar o número de SMs de comunicação em cada passe, o tamanho do minibatch, o buffer do macrobatch e o multiplicador de capacidade da agenda.

O README recomenda entre 4 e 52 SMs de comunicação para forward e backward. Também indica minibatches entre 2048 e 16384 e sugere elevar o macrobatch para preencher a memória disponível da GPU.

O parâmetro schedule_capacity_multiplier controla a capacidade reservada para tokens enviados a um único rank. O valor padrão é 0.5; a Cursor recomenda usar uma margem maior no começo do treino, quando o desequilíbrio entre especialistas costuma ser pior, e reduzir o valor depois.

Nos benchmarks de camadas MoE, o MoK chegou a 2.37x no forward MXFP8, 1.78x no backward MXFP8, 1.92x no forward BF16 e 1.58x no backward BF16, sempre contra o baseline mais rápido.

O repositório cursor/mixture-of-kittens tinha 195 estrelas, 14 forks e 4 issues abertas. A Cursor criou o projeto em 2026-07-29, publicou o último commit em 2026-08-03 e identificou a versão mais recente como v0.1.0.

O projeto tinha 6 dias de vida na coleta dos dados. O volume inicial de estrelas chama atenção, mas a pouca idade e as quatro issues abertas recomendam testar compatibilidade e desempenho antes de colocar o kernel no treino principal.

A licença Apache-2.0 permite usar, alterar e redistribuir o código conforme seus termos. O MoK não serve para equipes sem GPUs NVIDIA Blackwell SM100 ou SM103, sem CUDA 13.0 ou posterior ou sem uma operação de treino distribuído entre GPUs.

Fontes

PythonApache-2.0Agentes de IATrendshift
Como fazemos: nossa equipe monitora diariamente os repositórios de código aberto em maior alta e produz esta cobertura com apoio de modelos de linguagem, sempre a partir de dados verificados na fonte primária — repositório, documentação oficial e ranking público. Os números de estrelas e a posição no ranking refletem o momento da coleta. Entenda o método.