Pular para o conteúdo

Como o MiniMax M3 foi desenvolvido: atenção esparsa e multimodalidade nativa — Olive Song

Ver no idioma original →

Autoria: AI Engineer · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: How MiniMax M3 Was Built: Sparse Attention and Native Multimodality — Olive Song · Canal: AI Engineer · 14:35 · Assistir no YouTube

Tópicos: Inferência e otimização de modelos, Modelos de IA, Modelos multimodais

Olive Song apresenta o MiniMax M3, um modelo open weight treinado desde o início com dados de texto e visão, com recursos de programação e agentes, context window de 1 milhão de tokens e suporte a atenção esparsa. A palestra explica o Minimax Sparse Attention (MSA), que combina uma etapa leve de seleção com recuperação por blocos para preservar a diversidade do GQA e melhorar a eficiência de memória e processamento. Song também compara estratégias de treinamento multimodal e defende a integração desde o início para preservar as capacidades de texto. Por fim, descreve o uso de ViT com atenção 3D e o equilíbrio entre desempenho e eficiência ao processar vídeo.

  • O MiniMax M3 foi apresentado como um modelo open weight que reúne recursos avançados de programação e agentes, context window de 1 milhão de tokens e multimodalidade nativa.
  • O MSA usa um ramo indexador leve para selecionar os tokens relevantes que serão processados pelo ramo principal.
  • A arquitetura foi co-desenhada considerando tanto o algoritmo quanto a infraestrutura, com foco em GQA e eficiência em GPU.
  • A seleção por blocos reduz candidatos e custos de top-k, além de favorecer acessos mais eficientes à memória.
  • O treinamento multimodal desde o início quase não prejudicou as capacidades de texto dentro do mesmo orçamento de tokens de texto, segundo a apresentação.
  • Mapas de atenção indicaram integração mais natural entre tokens visuais e textuais no treinamento multimodal nativo do que no treinamento no estilo CPT.
  • A arquitetura processa imagens e vídeos com um ViT, cujos tokens visuais são inseridos na sequência de entrada do modelo de linguagem.
  • A atenção 3D no ViT permite interação direta entre quadros de vídeo; quatro quadros ofereceram o melhor equilíbrio observado entre desempenho e eficiência.
Início Capítulo Resumo
00:01 Apresentação do MiniMax M3 e de seus recursos Olive Song apresenta o modelo e destaca seus recursos de programação e agentes, context window de 1 milhão de tokens e treinamento multimodal nativo.
04:19 Projeto e eficiência do Minimax Sparse Attention A palestra compara o MSA com projetos existentes e explica como a seleção por cabeça KV e a recuperação por blocos lidam com limitações algorítmicas e de infraestrutura.
08:39 Treinamento multimodal desde o início Song compara estratégias de treinamento e apresenta evidências de que a integração nativa pode combinar texto e visão sem prejudicar significativamente as capacidades de texto.
12:25 Arquitetura visual e atenção 3D A palestrante descreve o processamento de imagens e vídeos pelo ViT e o equilíbrio entre qualidade e eficiência ao usar atenção 3D em quatro quadros.

Nosso princípio central de projeto é que uma arquitetura mais simples pode sempre levar a melhores propriedades de escala. — 02:13

Adotamos uma abordagem de codesign entre algoritmo e infraestrutura. — 03:48

A capacidade multimodal é introduzida desde o início, em vez de ser adicionada depois que o modelo de texto já formou sua estrutura. — 10:47

Em nossa exploração, usar quatro quadros proporcionou o melhor equilíbrio entre desempenho e eficiência. — 14:03

  • MiniMax M3 (modelo): Modelo open weight apresentado como treinado desde o início com dados multimodais e com context window de 1 milhão de tokens.
  • MiniMax (empresa): Empresa em que Olive Song trabalha e que desenvolveu o MiniMax M3.
  • Olive Song (pessoa): Pesquisadora de reinforcement learning na MiniMax e palestrante sobre o desenvolvimento do M3.
  • Minimax Sparse Attention (MSA) (conceito): Método de atenção esparsa que seleciona blocos relevantes para reduzir custos e ampliar a eficiência em contextos longos.
  • DSA (conceito): Projeto de atenção esparsa citado como referência otimizada para a arquitetura da DeepSeek.
  • GQA (conceito): Arquitetura com múltiplos grupos de cabeças KV, cuja diversidade o MSA busca preservar durante a seleção esparsa.
  • ViT (conceito): Vision Transformer que processa imagens ou vídeos e produz tokens visuais para o modelo de linguagem.
  • atenção 3D (conceito): Mecanismo aplicado no ViT que permite que patches visuais de diferentes quadros interajam diretamente.

00:01 [música] >> Certo. Olá a todos. Meu nome é Olive. Trabalho na Minimax com pesquisa em reinforcement learning. Hoje, vou falar um pouco sobre nosso novo modelo, Minimax M3, sobre como o treinamos como multimodal nativo desde o passo zero e sobre como o treinamos com MSA, que significa

00:34 Minimax sparse attention. Uma breve apresentação da nossa equipe. Somos um dos poucos laboratórios no mundo que trabalham com multimodalidade, o que significa que já publicamos nossos modelos de LLM. Trabalhamos em nossos modelos de fala. Temos nossos próprios modelos de geração de vídeo e modelos de coding agent. E, recentemente, lançamos o Minimax M3, que tem pesos abertos

01:08 com desempenho de ponta. Na verdade, é o primeiro modelo de pesos abertos a combinar as três capacidades de ponta a seguir. A primeira é o que chamamos de capacidades de coding e de agent de última geração. O modelo consegue realizar muitas das tarefas agentic que você pode imaginar. Ele consegue decompor tarefas automaticamente. Pode trabalhar nos seus coding agents. Pode substituir 90% do trabalho de programação que você faz atualmente. E o segundo pilar é que o modelo

01:42 tem uma context window de 1 milhão. É muito longa e permite, basicamente, atender a todas as interações longas mais comuns dos usuários; por exemplo, lidar com bases de código completas. E o treinamos com MSA, Minimax sparse attention. Assim, o prefill é nove vezes mais rápido e o decode, 15 vezes mais rápido do que com atenção completa. E o terceiro pilar é que o modelo foi treinado como multimodal nativo desde o passo zero.

02:13 Isso significa que, desde o início, combinamos compreensão visual com geração de linguagem. Assim, o modelo desenvolveria muito bem as duas capacidades desde o começo. E isso nos permite criar muitas outras aplicações, como agents de uso de computador, certo? Primeiro, vou explicar brevemente o que a atenção esparsa faz. Nosso princípio central de design é que uma arquitetura mais simples sempre pode levar a melhores propriedades de escalabilidade.

02:44 Esse é o princípio que seguimos durante todo o processo de design. Nosso objetivo é sempre buscar uma arquitetura mais limpa e simples. A atenção esparsa consiste em dois ramos. O primeiro é o que chamamos de ramo de indexação, que realiza um cálculo de atenção completa leve. Ele usa quatro query heads e um key head. E é treinado com uma perda KL para corresponder às pontuações de atenção do ramo principal. O ramo de indexação é usado para identificar os

03:18 tokens com as maiores pontuações de atenção. Em seguida, o ramo principal presta atenção aos tokens selecionados. Em outras palavras, o ramo esparso não presta atenção a todos os tokens, mas apenas a um subconjunto deles. Esse subconjunto é selecionado pelo cálculo leve do ramo de indexação. Então, o ramo esparso usa os blocos selecionados pelo ramo de indexação para

03:48 determinar quais keys e values são necessários para o cálculo da atenção. Certo. E o que quero enfatizar hoje é que nosso design não é guiado apenas pelo algoritmo. Em vez disso, adotamos uma abordagem de codesign entre algoritmo e infraestrutura.

04:19 Um bom exemplo para começar é o DSA. O DSA era um design muito forte, mas também altamente otimizado para a arquitetura própria da Deep Seek, especialmente para a combinação de MQA com uma grande dimensão de cabeça. No entanto, quando passamos para uma arquitetura GQA mais usada, aplicar diretamente o mesmo design fica menos simples. Isso introduz vários problemas práticos, sobretudo do ponto de vista da infraestrutura e da implementação. Isso motivou nossa escolha de design.

04:53 Em vez de simplesmente aproveitar um design de atenção esparsa existente, repensamos a arquitetura considerando as restrições de GQA e a eficiência do sistema real. Então, quais são os problemas de aplicar diretamente a arquitetura de atenção esparsa existente? Primeiro, do ponto de vista do algoritmo, o GQA tem vários KV heads, que, idealmente, deveriam oferecer mais diversidade entre os diferentes grupos KV. No entanto, se simplesmente reutilizarmos a mesma

05:27 estratégia de seleção de tokens, vários KV heads acabam prestando atenção exatamente aos mesmos tokens selecionados. Isso essencialmente anula a diversidade que o GQA deveria proporcionar. Segundo, do ponto de vista da infraestrutura, esse design não é muito adequado ao acesso à memória da GPU. As GPUs são muito mais eficientes ao ler dados contíguos. Na configuração MQA, podemos pensar no layout KV 8 como um KV head com uma grande dimensão de cabeça, por exemplo, 1 por 512.

06:01 Isso é relativamente contíguo e eficiente de ler. No entanto, em GQA, a mesma dimensão total pode ser dividida entre vários KV heads. Por exemplo, 4 por 128. Isso já não corresponde a uma única leitura contígua. Em vez disso, a GPU precisa realizar várias leituras independentes entre diferentes KV heads. Isso aumenta a sobrecarga de acesso à memória e reduz a proporção entre computação e acesso à memória.

06:32 Outro problema é o próprio cálculo de top-k. Para selecionar os tokens mais importantes, o indexador precisa calcular pontuações top-k sobre um grande número de candidatos no nível dos tokens. No entanto, o top-k tem dependências de dados inerentes. Por isso, é difícil paralelizá-lo totalmente na GPU. Como resultado, a seleção no nível dos tokens introduz uma sobrecarga considerável de computação e combinação. Então, como resolvemos esses problemas no

07:02 MSA? Do ponto de vista do algoritmo, removemos a agregação das saídas do ramo de indexação. No design original, os resultados de todos os heads do ramo de indexação são combinados em um único conjunto de tokens selecionados. Mas, como discutimos antes, isso eliminaria a diversidade proporcionada pelo GQA. Em vez disso, mantemos a seleção diferente entre os KV heads. Com nosso design de atenção esparsa, ao usar GQA, diferentes KV heads podem prestar atenção

07:35 a conjuntos diferentes de tokens. Isso ajuda a preservar a diversidade do GQA, em vez de forçar todos os heads a compartilharem a mesma atenção esparsa. Do lado da infraestrutura, passamos da seleção no nível dos tokens para a recuperação no nível dos blocos. Em comparação com a seleção no nível dos tokens, a recuperação no nível dos blocos reduz significativamente o número de candidatos e diminui a sobrecarga do cálculo de top-k e da combinação dos resultados. Ao mesmo tempo, a recuperação no nível dos blocos é mais adequada ao hardware.

08:08 Ela melhora a eficiência do acesso à memória e aumenta a proporção entre computação e acesso à memória. É importante destacar que também mostramos que o design não causa uma queda significativa de desempenho. Por fim, criamos kernels eficientes tanto para treinamento quanto para inference. Não vou entrar hoje nos detalhes dos kernels, mas esse é o componente no nível do sistema que torna prático e eficiente o design de atenção esparsa. Com esse design, conseguimos

08:39 estender com muita eficiência o treinamento do nosso modelo M3 para uma context window de 1 milhão. E, como dissemos antes, o terceiro pilar é a multimodalidade nativa. Nosso modelo, Minimax M3, foi treinado do zero com dados multimodais. O que isso significa? Nosso modelo foi

09:10 treinado para compreender tanto texto quanto imagens desde o passo zero, uma abordagem bem diferente da dos atuais modelos de pesos abertos. Nosso ponto de partida é muito claro. No estágio atual, um modelo VL independente tem cenários de aplicação relativamente limitados. Mas combiná-lo com a compreensão de texto durante o treinamento pode ser um desafio. Portanto, a pergunta e o desafio centrais eram: como podemos introduzir capacidade multimodal sem prejudicar o desempenho central em texto?

09:45 Para responder a isso, exploramos várias estratégias de treinamento em grande escala. A primeira e mais comum é adicionar treinamento multimodal depois da etapa de decaimento do pré-treinamento, o que é essencialmente uma abordagem no estilo CPT. No entanto, nesse ponto, o modelo já convergiu em grande parte. Adicionar dados multimodais nessa etapa tende a interferir na capacidade de texto aprendida e causa uma degradação.

10:16 Outra abordagem é começar o treinamento multimodal antes da etapa de decaimento do pré-treinamento. Por exemplo, depois que o modelo já tiver visto certa quantidade de tokens de texto. Também tentamos essa abordagem, mas descobrimos que os resultados eram muito sensíveis à mistura de dados e aos hiperparâmetros de treinamento, como a taxa de aprendizado, por exemplo. Em uma configuração, uma taxa de aprendizado menor poderia reduzir a queda de desempenho, mas essa conclusão não necessariamente se aplica a

10:47 outra execução. Mais importante, durante o pré-treinamento em grande escala, esses parâmetros não podem ser alterados arbitrariamente apenas para o treinamento multimodal. Isso nos levou à nossa estratégia final: treinamento multimodal nativo desde o início. Nessa configuração, a capacidade multimodal é introduzida desde o começo, em vez de ser adicionada depois que o modelo de texto já formou sua estrutura. Com o mesmo orçamento de tokens de texto, descobrimos que essa

11:19 abordagem quase não prejudica a capacidade de texto. Fizemos muitas análises interessantes durante esses experimentos. Uma delas foi esta observação interessante dos mapas de atenção. Nesta imagem, dá para ver que, nos modelos multimodais no estilo CPT, os tokens de texto costumam prestar muito pouca atenção aos tokens visuais. As regiões dos tokens visuais ficam, em sua maioria, escuras no mapa de atenção.

11:52 Isso sugere que as modalidades não estão totalmente integradas. Em contraste, com o treinamento multimodal nativo, o mapa de atenção parece muito mais integrado. Não vemos aqui uma separação clara entre tokens de texto e tokens visuais. Isso sugere que o modelo aprende a combinar informações visuais e textuais de forma mais natural desde o início. Portanto, no geral, nossa estratégia de treinamento não se resume a adicionar capacidade de visão.

12:25 Trata-se de integrar a multimodalidade ao modelo, preservando suas capacidades mais fortes em texto. E, claro, fizemos muitos experimentos com escolhas de arquitetura multimodal. Nossa arquitetura geral é relativamente padrão. A imagem ou o vídeo é processado por um ViT, que produz tokens visuais. Esses tokens visuais são então inseridos

12:55 na entrada do modelo de linguagem, substituindo os marcadores originais de imagem na sequência de texto. Depois disso, os embeddings visuais e os embeddings de texto são fornecidos juntos ao modelo de linguagem. Uma descoberta importante é que aplicar atenção 3D dentro do ViT é muito útil para a compreensão visual. Em uma configuração padrão de ViT, a atenção é aplicada dentro de cada imagem ou quadro individual. Para entradas de vídeo, isso significa que patches visuais de quadros diferentes não

13:28 interagem diretamente na etapa do ViT. Mas, com atenção 3D, patches de quadros diferentes podem prestar atenção uns aos outros diretamente. Isso dá ao modelo uma capacidade mais forte de modelagem temporal e visual entre quadros. Descobrimos que isso melhora a compreensão visual, e o benefício também se estende a alguns benchmarks de imagem. Isso sugere que fortalece a representação visual geral, em vez de melhorar apenas tarefas específicas de vídeo.

14:03 E um detalhe prático é que não podemos simplesmente estender a atenção 3D a um número ilimitado de quadros, pois isso criaria desafios adicionais para o sistema e para o balanceamento de carga. Em nossos testes, usar quatro quadros nos deu o melhor equilíbrio entre desempenho e eficiência. Portanto, no geral, com o projeto da nossa arquitetura, com as estratégias de treinamento que exploramos ao longo das etapas e com nossas análises e explorações de ViT

14:35 conseguimos treinar o modelo do zero com compreensão multimodal. E essa seria a conclusão da apresentação de hoje. Obrigado. >> [música]

Transcrição original

[00:01] [music] >> Um all right. Um so, hi everyone. I My name is Olive. I work at Minimax on reinforcement learning research. And today, I’m going to talk a little bit about um our new model, Minimax M3, and how we trained it natively multimodal from step zero, and how we trained it with MSA, which is called uh

[00:34] which is Minimax sparse attention. Um a little bit introduction of our team. Uh we are one of the few labs over the world that uh works on multimodalities, which means that we have published our um of course LLM models before. Um we worked on our speech models. We have our own video generation models, and we have our coding agent models. And lately, we just released our Minimax M3, which is open weight

[01:08] uh with frontier performance. So, it is actually the first open weight model to combine the following three um frontier capabilities. The first one is what we call soda uh coding and agent capabilities. The model is able to do a lot of the uh agentic tasks that you imagine. Um it it can do automatic task decomposition. It can work in your coding agents. It can drop in for 90% of the coding works that you are currently doing. And the second pillar is that the model

[01:42] has 1 million context window. Um so, which is very long that enable like unlocks pretty much base all basic user long user interactions um of like it handles full code bases. And we trained it with MSA Minimax sparse attention. So, it is nine times faster pre-fill and 15 times faster decode versus full attention. And the third one is that the the model was trained native multi-model from step zero.

[02:13] Which means that from step from scratch, we combined visual understanding with um language generation. So, the model would understand both capabilities very well from the start. And uh so that we can build many more applications on that, say computer use agents, right? So, first I’ll briefly explain what sparse attention does. Our core design principle is that a simpler architecture can always lead to

[02:44] better scaling properties. This is the principle we have followed throughout the entire design. So, our goal is to always pursue a cleaner and simpler architecture. The sparse attention consists of two branches. The first one is what we call the index branch. Which performs a lightweight full attention computation. It uses four query heads and one key head. And it is trained with a KL loss to match the attention scores of the main branch. The index branch is used to identify the

[03:18] tokens with the highest attention scores. These selected tokens are then attended by by the main branch. In other words, the sparse branch does not attend to all of the tokens. But only to a subset of them. This subset is selected through the lightweight computation of the index branch. Then, the sparse branch would use the blocks selected by the index branch to

[03:48] to determine which keys and values are needed for attention computation. All right. And what I want to emphasize today is that our design is not purely algorithm like algorithm driven. Instead, we took an algorithm algorithm and infrastructure co-design approach.

[04:19] Um a good good example to start with is DSA. DSA was a very strong design, but it is also highly optimized for Deep Seek’s own architecture, especially the combination of MQA and the large head beam. However, when we move to a more commonly used GQA architecture, directly applying the same design becomes less straightforward. It introduces several practical issues, especially from the infrastructure and implementation perspective. So, this motivates our design choice.

[04:53] Instead of simply borrowing an existing sparse attention design, we re-think the architecture under the constraints of GQA and real system efficiency. So, what are the issues if we directly apply the existing sparse attention architecture? First, from the algorithm perspective, GQA has multiple KV heads, which should ideally provide more diversity across different KV groups. However, if we directly reuse the same

[05:27] token selection strategy, multiple KV heads will end up attending to exactly the same selected tokens. This essentially cancels out the diversity that GQA is is supposed to provide. Second, from the infrastructure perspective, this design is not very friendly to GPU memory access. GPUs are much more efficient when reading contiguous data. In the MQA setting, we can think of the KV 8 layout as one KV head with a large head dimension, for example, 1 by 512.

[06:01] This is relatively contiguous and efficient to read. However, in GQA, the same total dimension may be split across multiple KV heads. For example, it’s 4 by 128. These are no longer one single contiguous read. Instead, the GPU needs to perform multiple independent reads across different KV heads. This increases memory access overhead and reduces the compute-to-memory access ratio.

[06:32] And another issue here is the top-k computation itself. To select the most important tokens, the indexer needs to compute top-k scores over a large number of token-level candidates. However, top-k has inherent data dependencies. So, it is difficult to fully parallel on GPU. As a result, token-level selection introduces non-trivial computation and merging overhead. So, how did we address these issues in

[07:02] MSA? From the algo- From the algorithm side, we remove the aggregation of the index branch outputs. In the original design, the results from all index branch In index branch heads are merged into a single set of selected tokens. But, as we discussed earlier, this would remove the diversity brought by GQA. Instead, we keep the selection different different across KV heads. Under our sparse attention design, when using GQA, different KV heads can attend

[07:35] to different sets of tokens. This helps preserve the diversity of GQA rather than forcing all heads to share the same sparse tension. For the infrastructure side, we move from token level selection to block level retrieval. Compared with token level selection, block block level retrieval significantly reduces the number of candidates and lowers the overhead of top key computation and result merging. At the same time, block level retrieval is more hardware friendly friendly.

[08:08] It improves memory access efficiency and increases the compute to memory access ratio. Importantly, we also show that the design does not introduce a significant performance drop. Finally, we design efficient kernels for both training and inference. I I I won’t go into the kernel details here today, but this is the system level component that makes the sparse attention design practical and efficient. So, with this design, we were able to

[08:39] extend the training of our M3 model to 1 million context very efficiently. Um and as we talked about earlier, the third pillar is the native multi-modality. Our model, Minimax M3, was trained from scratch with multi-modal data. What does that mean? Our model was

[09:10] trained with both text and vision understand standing from step zero, which is very different approach from current open weight models. Our starting point is very clear. At the current stage, a standalone VL model has relatively limited application scenarios. But combining it with with, you know, text understanding during the training can be challenging. So, the key question and challenge there was how can we introduce multimodal capability without hurting the core text performance?

[09:45] To answer this, we actually explored several training strategies at scale. The first and most common approach is to add multimodal training after the pre-training decay stage, which is essentially a CPT style approach. However, at that point, the model has already largely converged. Adding multimodal data at this stage tends to interfere with the learned text capability and causes degradation.

[10:16] Another approach is to enter multimodal training before pre-training the decay stage. For example, after the model has already seen a number of amount of text tokens. We also tried this direction, but found that the results were highly sensitive to the data mixture and training hyper parameters, such as learning rate, for example. In one setting, a smaller learning rate might reduce the performance drop, but this conclusion does not necessarily generalize to

[10:47] another run. More importantly, during large-scale pre-training, these parameters cannot be arbitrarily changed just for multimodal training. And this led us to our final strategy, native multimodal training from scratch. In this setting, multimodal capability is introduced from the very beginning rather than being added after the text model has already formed its structure. Under the same text token budget, we find that the

[11:19] this approach almost does not hurt text capability. We actually did many fun analysis during these experiments. Um one of them is this interesting observation uh from the attention maps. You can see from this picture that for CPT-style multimodal models, the text tokens often pay very little attention to visual tokens. The visual token regions are mostly dark in the attention map.

[11:52] This suggests that the multimodalities are not fully integrated. Well, in contrast with native multimodal training, the attention map looks much more integrated. We do not see here a clear separation between text tokens and visual tokens. This suggests that the model learns to fuse visual and textual information more naturally from the beginning. So, overall, our training strategy is not just about adding vision capability.

[12:25] It is about integrating multimodality into the model while preserving its strongest text capabilities. And of course, uh we did many experiments on multimodal architecture choices. Our overall architecture is relatively standard. The image or video is being processed by a ViT, which produces visual tokens. These visual tokens are then inserted

[12:55] into the language model input by re- replacing the original image placeholders in the text sequence. After that, the visual embeddings and text embeddings are fed together into the language model. One important finding is that applying 3D attention inside the ViT is very helpful for vision understanding. In a standard ViT setting, attention is is applied within each individual image or frame. For video inputs, this means that visual patches from different frames do not

[13:28] directly interact at the ViT stage. But with 3D attention, patches across different frames can attend to each other directly. This gives the model stronger temporal and cross-frame visual modeling capability. And we found that this improves visual understanding, and the benefit also transfers to some image benchmarks. Suggesting that it strengthens the overall visual representation rather than only improving video-specific tasks.

[14:03] And one practical detail is that we cannot simply extend 3D attention to an unlimited number of frames because that would introduce additional system and load balancing challenges. In our exploration, using four frames gave us the best best trade-off between performance and efficiency. So, overall, with our architecture design, with our training strategies that we explored throughout the stages, and with our analysis and ViT

[14:35] explorations, we were able to train the model from scratch with multimodality understanding. And that would be the end of the presentation today. Thank you. >> [music]