Calculadora de Parâmetros Ativos de MoE
Entradas
| Total de especialistas | 8 |
|---|---|
| Especialistas ativos (top-k) | 2 |
| Parâmetros por especialista | 7 |
| Parâmetros compartilhados | 1 |
Calculadora de Parâmetros Ativos de MoE
Calcule a contagem de parâmetros totais e ativos de um modelo Mixture-of-Experts a partir do número de especialistas, do roteamento top-k, do tamanho por especialista e dos pesos compartilhados, separando a pegada de memória do custo de computação por token.
Entradas
Modelo
Resultados
Insira um valor para ver os resultados.
Detalhes
Os parâmetros ativos de MoE
Um modelo Mixture-of-Experts carrega um par notável de números: uma grande contagem de parâmetros totais, que descreve o quanto ele pode reter, e uma contagem ativa bem menor, que descreve quanto trabalho ele faz por token. Os dois são frequentemente confundidos, mas respondem a perguntas diferentes — um define a conta de memória, o outro define a conta de computação. Esta calculadora os separa a partir do número de especialistas, do roteamento top-k, do tamanho por especialista e dos pesos compartilhados.
Como um Mixture of Experts é construído
Em um transformer denso, cada token passa por todos os pesos. Um Mixture of Experts substitui o bloco feed-forward de uma camada por muitos especialistas paralelos e adiciona um pequeno roteador que, para cada token, escolhe apenas os top-k deles. O restante do modelo — atenção, o roteador, os embeddings e, às vezes, um especialista compartilhado que sempre roda — permanece comum a todos os tokens. Assim, o caminho de um token toca os pesos compartilhados e apenas o punhado de especialistas para os quais ele foi roteado, enquanto os demais especialistas ficam ociosos para aquele token.
Isso desacopla duas quantidades que andam juntas em um modelo denso. A capacidade cresce com o número de especialistas, porque mais especialistas podem armazenar mais conhecimento especializado. A computação cresce apenas com os especialistas ativos, porque só eles fazem aritmética sobre um dado token.
As duas contagens
Com especialistas totais, ativos por token, parâmetros por especialista e parâmetros compartilhados, as contagens total e ativa são
TAr=s+E⋅p=s+k⋅p=TAonde é o total que determina a pegada de memória, é a contagem ativa que determina a computação por token, e é a fração dos pesos tocada por cada token.
Exemplo resolvido
Considere um modelo com oito especialistas de sete bilhões de parâmetros cada, roteando dois por token, sobre um bilhão de parâmetros compartilhados:
TAr=1+8×7=57 bilho˜es=1+2×7=15 bilho˜es=5715≈0,263=26,3%O modelo retém 57 bilhões de parâmetros, mas gasta computação como se fosse um modelo de 15 bilhões de parâmetros em cada token — cerca de um quarto dos pesos fica ativo por vez. É esse o apelo: a capacidade de um modelo de 57 bilhões a um custo por token próximo ao de um de 15 bilhões.
A memória ainda segue o total
O problema é que a economia está na computação, não na memória. Como qualquer especialista pode ser escolhido para qualquer token, e um lote de tokens se espalha por muitos especialistas, todos eles precisam estar residentes ao mesmo tempo — o modelo não consegue prever quais especialistas um token futuro vai precisar. Por isso, a pegada de memória escala com a contagem total , enquanto apenas a computação escala com a contagem ativa . Um modelo Mixture-of-Experts é, portanto, grande para hospedar, mas barato para rodar, o equilíbrio oposto ao de um modelo denso de mesmo custo por token.
A contagem total que governa o lado da memória pode ser construída a partir da arquitetura com a Calculadora de Número de Parâmetros do Transformer, e a memória necessária para de fato servir esses pesos é tratada na Calculadora de VRAM para Inferência de LLM.
Perguntas frequentes (FAQ)
Por que usar um Mixture of Experts?
Um Mixture of Experts permite que um modelo aumente sua contagem de parâmetros — e, portanto, sua capacidade de armazenar conhecimento — sem um aumento correspondente na computação gasta em cada token. O roteador envia cada token apenas para um pequeno número de especialistas, de modo que o trabalho de ponto flutuante por token acompanha os parâmetros ativos, e não o total.
Isso torna possível treinar e servir um modelo com muito mais parâmetros do que um modelo denso de mesmo custo por token.
Qual é a diferença entre parâmetros totais e ativos?
Os parâmetros totais contam todos os pesos do modelo: as camadas compartilhadas mais todos os especialistas. Os parâmetros ativos contam apenas os pesos usados em um único token: as camadas compartilhadas mais os poucos especialistas que o roteador seleciona. A contagem de parâmetros totais determina a pegada de memória, porque todos os especialistas precisam estar disponíveis para serem escolhidos.
A contagem ativa determina a computação e a latência por token, porque apenas os especialistas roteados realizam trabalho.
Se apenas alguns especialistas rodam por token, por que a memória escala com o total?
Qualquer especialista pode ser selecionado para qualquer token, e ao longo de um lote de tokens muitos especialistas diferentes são usados, então todos eles precisam estar residentes em memória ao mesmo tempo.
O modelo não tem como saber de antemão quais especialistas um token futuro vai precisar. Como resultado, a pegada de memória escala com a contagem de parâmetros totais, mesmo que a computação para qualquer token isolado escale apenas com a contagem ativa. Esse é o compromisso central da abordagem: computação barata, mas os pesos completos ainda precisam ser mantidos.
Aviso legal
Esta é uma estimativa de primeira ordem que assume tamanhos uniformes de especialistas e trata os pesos compartilhados como sempre ativos. Ela ignora o desbalanceamento de roteamento, a própria pequena rede do roteador e qualquer duplicação por paralelismo de especialistas entre dispositivos. Use-a para comparar projetos, não como uma contabilidade exata.