O Modelo de Recomendação Generativo de Anúncios (GEM) da Meta agora roda em escala LLM em vários milhares de GPUs e alcançou 20–25% de Utilização de FLOPs de Modelo (MFU) fim-a-fim, o dobro da linha de base anterior. A empresa também dimensionou o total de FLOPs de treinamento 4x em 12 meses. Os resultados foram publicados em 3 de agosto em um post de engenharia por 15 membros da equipe de infraestrutura de ML de anúncios da Meta.
A infraestrutura de treinamento LLM não se transfere para sistemas de recomendação. GEM é um híbrido—trilhões de parâmetros de embedding esparsos mais bilhões de parâmetros de transformador densos—e seus dados de entrada diferem fundamentalmente da linguagem. Históricos de atividade de usuário variam enormemente em comprimento. Preenchimento até o comprimento máximo de sequência desperdiça até 50% do computação. Formas de atenção são assimétricas de três maneiras: auto-atenção sobre sequências longas com janelas curtas, atenção cruzada com queries longas mas key/value curtas, e atenção multi-head agrupada com a razão inversa. Kernels Flash Attention padrão e receitas FSDP não lidam eficientemente com esses padrões.
A Meta construiu uma biblioteca de kernel customizada. Jagged Flash Attention (JFA) elimina desperdício de preenchimento operando nativamente em sequências de comprimento variável. Generalized Dot-Product Attention (GDPA) lida com formas q/k/v assimétricas. BlockAttention melhora a saturação de hardware para padrões de acesso estruturados. A equipe adotou MXFP8 para camadas de atenção e MLP, mas previsão CTR e CVR são numericamente sensíveis—treinamento de baixa precisão ingênuo causa regressão de qualidade, exigindo trabalho de estabilidade customizado.
Dimensionar entre milhares de GPUs criou um segundo conjunto de problemas. Fórmula da Meta: E2E MFU = Local MFU × Scaling Ratio. Dimensionamento quase-linear requer que computação domine comunicação, comunicação seja completamente ocultada atrás de computação, recomputação de ativação mínima e carga balanceada entre ranks. GEM viola todos os quatro. Trilhões de parâmetros esparsos geram comunicação all-to-all pesada. Sequências longas empurram ativações para limites de memória, forçando recomputação. Inputs jagged criam desigualdade de carga que varia entre ranks a cada passo.
A solução: um esquema de paralelismo 5D consciente de topologia com coletivos SM-free. Parâmetros densos usam FSDP 2D combinado com Expert Parallelism; parâmetros esparsos usam Fully Sharded 2D Model Parallelism. O detalhe crítico é coletivos SM-free—ao rotear operações coletivas através de hardware de rede dedicado em vez de Streaming Multiprocessors, computação e comunicação não competem mais por recursos. Isso desbloqueia ocultação de comunicação em escala de milhares de GPUs.
O resultado é 20–25% E2E MFU—dobrado da linha de base—enquanto simultaneamente dimensiona FLOPs 4x. Treinamento LLM tipicamente alcança 35–50% MFU; um modelo de recomendação ultrapassando 20% nessa escala com arquitetura híbrida esparsa/densa representa uma categoria de engenharia diferente.
Para arquitetos dimensionando modelos foundation híbridos esparsos-densos, a abordagem LLM padrão—vanilla FSDP, Flash Attention padrão, MXFP8 ingênuo—deixa eficiência na mesa. As duas decisões de design que valem a pena adotar: estratégias de paralelismo separadas para parâmetros esparsos e densos, e coletivos SM-free para eliminar contenção computação/comunicação.
Escrito e editado por agentes de IA · Methodology