Inteligência artificial, sem ruído.
Open Source5 min

Moonshot AI libera MoonEP: biblioteca de código aberto para balanceamento perfeito em modelos MoE

A Moonshot AI liberou o MoonEP sob licença MIT — uma biblioteca que garante balanceamento perfeito de especialistas em modelos MoE com shapes estáticos e zero cópia. Veja os benchmarks contra DeepEP v2.

Moonshot AI libera MoonEP: biblioteca de código aberto para balanceamento perfeito em modelos MoE

O que é o MoonEP

A Moonshot AI liberou como código aberto o MoonEP, uma biblioteca de comunicação para Expert Parallelism (EP) voltada a cargas de trabalho distribuídas com Mixture-of-Experts (MoE). O anúncio foi feito durante o Kimi K3 Open Day, e o código está disponível sob licença MIT no GitHub.

Junto com os pesos e o relatório técnico do modelo Kimi K3, a Moonshot publicou três bases de código de infraestrutura: MoonEP, FlashKDA e AgentEnv. O FlashKDA já estava aberto; MoonEP e AgentEnv foram lançados nesta ocasião. O MoonEP é uma das inovações por trás de uma melhoria de 2,5× na eficiência de escalabilidade do Kimi K3, um modelo MoE de 2,8 trilhões de parâmetros com visão nativa e janela de contexto de 1 milhão de tokens.

O problema que o MoonEP resolve

No paralelismo de especialistas (EP), um roteador envia cada token para seus top-K especialistas, que residem em ranks diferentes. O problema é que roteadores raramente são balanceados — alguns especialistas recebem muito mais tokens que outros.

O repositório quantifica esse desequilíbrio com a métrica maxvio, definida como max_e (T_e / T̄) − 1, onde T_e são tokens roteados para o especialista e e é a contagem esperada sob balanceamento perfeito. Um maxvio de 0 significa perfeitamente balanceado.

Os custos do desbalanceamento são estruturais. A latência de uma operação coletiva é determinada pelo participante mais lento — o rank mais quente define o tempo da iteração. Pior: a contagem de tokens por rank muda a cada passo, fragmentando a memória da GPU e forçando sincronização com o host por camada.

A ideia central: especialistas redundantes dinâmicos

O MoonEP impõe um invariante rígido: cada rank recebe exatamente S × K tokens, independentemente de quão distorcido seja o roteamento — onde S são tokens de entrada por rank e K é o top-K roteado por token.

Isso é alcançado planejando um pequeno número de especialistas redundantes diretamente na GPU, a partir das saídas atuais do roteador. Esses especialistas duplicados são pré-buscados antes da computação. No backward pass, seus gradientes são reduzidos de volta aos ranks de origem.

O design se apoia em três propriedades:

  1. Balanceamento perfeito: a garantia S × K via especialistas redundantes planejados online
  2. Planejamento online: kernel de planejamento quase ótimo na GPU com overhead desprezível, implementado em CUTLASS CuTe DSL
  3. Zero cópia e shapes estáticos: permute/unpermute fundidos. Tokens são escritos diretamente em suas posições agrupadas por especialista nos ranks remotos. Apenas um buffer fixo S × K é necessário, eliminando sincronização com o host por camada MoE

O contrato de memória

O MoonEP exige um tensor de pesos contíguo em memória simétrica por projeção de especialista, mais um cu_seqlens produzido pelo planejador. O GEMM de grupo consome um único tensor [E+B, H, H'], onde E é o total de especialistas roteados, B são slots de prefetch por rank, H é o tamanho oculto e H' é o tamanho intermediário da FFN do especialista.

O layout se divide claramente: as linhas [0, E) contêm os especialistas locais de todos os ranks, mapeados via memória simétrica. As linhas [E, E+B) são slots de prefetch locais, preenchidos por buffer.prefetch_weight.

Treinamento requer B = E/R (o planejador duplica especialistas de no máximo um grupo remoto por rank). Inferência permite B = 3–4. Se um rank precisar de mais especialistas remotos distintos que B, o GEMM lê os pesos excedentes diretamente do rank de origem via mapeamento simétrico — um pouco mais lento, sem impacto na correção.

Benchmarks contra DeepEP v2

Os benchmarks publicados rodam em NVIDIA H20 com EP=8, varrendo níveis de desbalanceamento do roteador. Ambos os testes usam S=8192, E=384, H=7168, K=8, H'=2048. Três resultados se destacam:

  • Zero cópia torna a comunicação mais rápida ao eliminar a cópia comm-buffer → user-buffer que domina o epílogo. O tempo de comunicação do MoonEP fica consistentemente abaixo do DeepEP v2 em todos os níveis de desbalanceamento.
  • Balanceamento perfeito torna o MoonEP quase imune ao skew: seu tempo de comunicação permanece quase plano conforme o maxvio cresce, enquanto o DeepEP v2 — cuja latência é definida pelo rank mais quente — se degrada continuamente.
  • Shapes estáticos eliminam a sincronização com o host por camada, prevenindo a fragmentação de memória que causa OOM no DeepEP.

Por que isso importa

Modelos MoE como o Kimi K3 representam a fronteira do treinamento de larga escala. O custo de comunicação entre especialistas é um dos principais gargalos para escalar esses modelos além de alguns trilhões de parâmetros. Uma biblioteca que garante balanceamento perfeito com shapes estáticos não é apenas uma otimização — é uma peça de infraestrutura que viabiliza a próxima geração de modelos.

O fato de estar sob licença MIT e ser parte de um pacote mais amplo de ferramentas de infraestrutura — MoonEP, FlashKDA e AgentEnv — sinaliza que a Moonshot AI está apostando em uma estratégia de ecossistema aberto, no estilo do que a DeepSeek e a Meta fizeram antes.



Descubra mais sobre noticiAI

Assine para receber nossas notícias mais recentes por e-mail.

R
Sobre o autorRedação Noticiai

Equipe editorial dedicada a explicar inteligência artificial com clareza, independência e contexto.