Snilld

MiniMax lancerer MSA: Blok‑sparse attention der holder regningen nede for lange kontekster

MiniMax præsenterer MSA, en to‑grenet block‑sparse attention oven på GQA, testet i en 109B‑parameter MoE trænet på multimodale data. Samtidig frigiver teamet en open source inference‑kernel og produktmodellen MiniMax‑M3. Pointen er et fast per‑query loft på k×Bk frem for at vokse med kontekstlængden. Alle påstande om hastighed, latency, peak‑RAM og dollars per 1k tokens stammer fra MiniMax’ eget materiale og er ikke uafhængigt verificeret.

17. juni 2026 Peter Munkholm

Åbningen hvad MiniMax har gjort

MiniMax offentliggør MSA, MiniMax Sparse Attention, som en attention‑variant bygget direkte på Grouped Query Attention. Nyheden rummer tre dele: en arkitektur, der angriber softmax‑attention ved lange kontekster, en demonstration i en 109 milliarder parameters Mixture of Experts‑model trænet på multimodale data, og en open source inference‑kernel sammen med produktmodellen MiniMax‑M3. Alle ydelsespåstande i materialet er MiniMax’ egne og ikke uafhængigt verificerede.

Tesen er enkel: vælg på blokniveau og hold per‑query budgettet fast. Så vokser regningen ikke med kontekstens længde. Hvor meget det hjælper i praksis afhænger af kernel og implementering – ikke kun af algoritmen.

Makrofoto af GPU‑kølehjul og kølefinner med diskret cyan/grøn refleks og purpur/indigo baggrund — tegn på intensiv drift.

Hvad er MSA i praksis

MSA deler attention i to grene, en Index Branch og en Main Branch. Index‑grenen udvælger de key‑value blokke, der er værd at læse. Main‑grenen kører derefter præcis softmax‑attention – men kun over de valgte blokke. Udvælgelsen sker på blokniveau, ikke per token.

Blokstørrelsen er Bk = 128 tokens. Hver query, per GQA‑gruppe, beholder k = 16 blokke. Det giver et fast loft på k×Bk = 2.048 key‑value tokens per query, uafhængigt af om hele konteksten er 8k, 32k eller 128k. Udvælgelsen deles inden i hver GQA‑gruppe, men er uafhængig på tværs af grupper, så forskellige grupper kan søge forskelligt i fjernkonteksten. Den lokale blok med selve queryen er altid med.

Én key‑value head kan betjene flere query heads, som deler ét blok‑sæt. Index Branch tilføjer to projektioner til et standard GQA‑lag: en index‑query head per GQA‑gruppe og én delt index‑key head. Den scorer synlige key‑tokens, max‑pooler til blokniveau og vælger Top‑k blokke per query og gruppe. Derefter samler Main Branch de kausalt synlige tokens fra de valgte blokke og kører scaled dot‑product softmax over netop de tokens.

Teknisk forklaring hvorfor kompleksiteten skifter

I dense GQA vokser arbejdet per query som O(N), hvor N er kontekstens længde. Det er tåleligt ved 4k, tungt ved 64k+. I MSA er arbejdet O(kBk). Fordi k og Bk er faste hyperparametre, er det et loft – ikke en hældning. Compute‑gabet til dense bliver derfor større, jo længere kontekst man kører.

Praktisk betyder det: latency bør stige langsommere med N, peak‑RAM bør falde, fordi færre attention‑scores materialiseres, og flops bevæger sig mod et fast budget per query. Flaskehalsen flytter sig dog nemt til overhead: index‑projektioner, Top‑k, block‑gather og synkronisering. Uden en stram kernel forsvinder gevinsterne i kontrolflow og scatter‑gather.

Banner

MiniMax nævner to kernekoncepter: en exp‑fri Top‑k (softmax bevarer rangorden, så rå scores kan rangeres) og en KV‑outer sparse‑sti med query‑gather, der hæver aritmetisk intensitet ved at iterere over KV‑blokke frem for per query. Rapporteringen af hastighedsgevinster stammer fra MiniMax’ eget miljø.

Træning og stabilisering

Top‑k er ikke differentiabel. Derfor kan sprogmodellens tab ikke direkte træne index‑projektionerne. MSA lægger en ekstra loss ovenpå: KL‑alignment, hvor Index Branch forsøger at matche Main Branch’ opmærksomhedsmønster. Læreren er den gruppe‑gennemsnitlige Main‑distribution over de valgte tokens.

Tre greb stabiliserer: Gradient Detach, så KL‑tabbet ikke løber ind i resten af laget, Indexer Warmup, hvor begge grene kører fuld attention i starten, og en tvungen lokal blok, der altid reserverer nærkontekst. Ablationerne peger på, at en tidlig value‑head i Index Branch kunne droppes, når warmup er på plads.

Der er to træningsveje: MSA‑PT (fra bunden efter ca. 40B tokens warmup) og MSA‑CPT (konvertering af en tæt GQA‑checkpoint trænet på 2,6T tokens og fortsættelse i yderligere 400B tokens, inkl. 40B warmup).

Tekniker (uden ansigt i frame) der lukker en flightcase ved en testbænk, cyan/grøn kantlys og purpur/indigo stemning — et procesøjeblik ved POC‑opsætning.

Design‑tradeoffs og begrænsninger

Blokke er grovere end tokens. Gevinst i fart, risiko for at misse fine detaljer. Især hvor en enkelt sætning bærer betydningen. Mål faktuel recall, ikke kun gennemsnitlig nøjagtighed.

Indexering koster: ekstra projektioner og block‑gather rammer flops, RAM og tid – tydeligst ved større batch eller tværs over GPU’er. GQA‑gruppernes uafhængighed hjælper dækningen, men komplicerer tuning. Og i MoE‑opsætninger kan router‑kald og blok‑gather kæmpe om båndbredde og kernel‑slots. Profilér, om de lander oven i hinanden; hvis ja, så forskyd router‑kald eller justér batching og kernel‑rækkefølge.

Sparsitet er et løfte, ikke en garanti. Uden kernel‑effektivitet får man kontrolflow i stedet for compute‑besparelse. MiniMax udgiver en kernel, men licens, frameworks og multi‑GPU‑opskrifter er ikke dokumenteret i materialet og bør afklares før produktion.

POC målinger og miljø

Gør POC’en reproducerbar. Skriv miljøet ned. Minimum:

  • GPU‑type og driver/CUDA‑version. Angiv framework og kernel‑build.
  • Batchstørrelser 1, 2 og 4. Mål prompt‑ og generationshastighed i tokens/sekund.
  • Latency p50/p99 ved 4k, 8k, 32k og 128k kontekster. Mål end‑to‑end.
  • Peak GPU‑RAM for samme workloads. Log model‑aktiveringer og KV‑cache separat.
  • Throughput i tokens/s ved de batchstørrelser, der ligner jeres API‑trafik.
  • Selector‑recall: brug et eval‑sæt med annoterede hints. Mål andel hints i de valgte blokke. Sample fx hver 100. forespørgsel.

Tre scenarier, der hurtigt afslører mønstre: 1) udtræk/opsummering over >100k tokens med referencesvar, 2) samtalelogs med bevaret historik, 3) multimodale streams for at se, om selection biaser mod tekst eller billede.

Gør vejledningen operationel: bekræft tvungen lokal blok i streaming/causal setups. Profilér tidsforbrug per komponent (Top‑k, gather, GEMMs, softmax). Log hvilke blokke der vælges, og sæt alarmer hvis selector‑recall falder mere end 5 procentpoint mod baseline, eller hvis p99‑latency stiger over 20 procent i en rullende uge. Mulige mitigations: øg k, styrk lokal blok, eller fald midlertidigt tilbage til tæt attention i kritiske flows.

Banner

Implementering i produktion

Overvåg i drift, ikke kun i test. Log fordelingen af valgte blokke per lag og GQA‑gruppe, så ændringer fanges tidligt. Hold øje med tail‑latency p99/p999 og peak‑RAM, især ved lange samtaler med voksende KV‑cacher.

For MoE‑opsætninger: mål om router og block‑gather konkurrerer om samme memory‑båndbredde. Tjek kernel‑occupancy og memory‑throughput i de vinduer, hvor routeren og gather kører. Ser I spikes, så forskyd router‑kald, reducer samtidige batches eller saml gather i færre, større chunk‑operationer.

Uden en kernel, der passer til jeres stack, udhules gevinsten. Med en, kan MSA være forskellen mellem færre/ billigere GPU‑instanser og et oppustet driftsbudget. POC‑målingerne afgør det.

Makrofoto af GPU‑kølehjul og kølefinner med diskret cyan/grøn refleks og purpur/indigo baggrund — tegn på intensiv drift.

Hvor MSA passer i en AI‑strategi

Block‑sparse giver mening, når konteksterne er lange: dokumenttunge brancher, kundeservice med lange forløb eller produkter med persistent hukommelse. MoE‑arkitekturer matcher naturligt, fordi de kun aktiverer få eksperter. Hvis attention også sparsificeres, kan effekterne forstærkes. Men test interaktionen mellem ekspert‑routing og blokvalg – to routere i samme maskineri.

Et nøgternt POC‑forløb på 6‑8 uger: 1) konverter en eksisterende GQA‑model til MSA‑CPT for at spare træningsomkostninger, 2) kør de tre scenarier og mål p99‑latency og peak‑RAM ved 32k/128k, 3) beslut k (8/16/32) ud fra recall vs. omkostning, 4) soft‑launch med gradvis ramp‑up og aktiv overvågning af selector‑mønstre.

Hold resultaterne op mod en stærk tæt baseline. Ellers risikerer man at tilskrive sparsitet en gevinst, der i virkeligheden kommer fra andre ændringer i stakken.

Feltet og konkurrencen

MSA bygger på GQA og lægger sig ved siden af Longformer, BigBird og Reformer samt nyere kernel‑accelererede retninger. Særkendet her er det to‑grenede design med KL‑justeret blokudvalg, deling inden for GQA‑grupper og uafhængighed på tværs. Ambitionen er praktisk sparsitet.

Den åbne kernel kan sænke adoptionsbarrieren, men licens og framework‑understøttelse (PyTorch/JAX/Triton) er uklare i materialet. Samtidig ruller konkurrenter nye topmodeller ud. MSA angriber regnestykket bag kapacitet snarere end endnu en top‑benchmark.

Mangler i materialet og tjekliste

Før en produktionsbeslutning bør der foreligge:

  • Uafhængige benchmarks for dollars per 1k tokens, p99‑latency og peak‑RAM mod en tæt GQA‑baseline.
  • Kernel‑licens og tilladelser for kommerciel brug.
  • Framework‑support og integrationsvej: PyTorch/JAX/Triton samt krav til CUDA/driver‑versioner.
  • Multi‑GPU‑strategier for block‑gather og kommunikation.
  • MiniMax‑M3’s praktiske specifikationer: understøttet kontekstlængde, SLA’er og modalitetsbalance.

Mangler ovenstående, er det reelle showstoppers for enterprise‑brug. Metode og miljø bag MiniMax’ egne tal bør kunne gennemgås.

Konklusion og næste skridt

MSA er et konkret bud på at gøre lange kontekster økonomisk mulige: to grene, blokudvalg på 128 tokens, k = 16 pr. query/gruppe og et fast per‑query loft på 2.048 KV‑tokens. Test i en 109B MoE og en open source‑kernel antyder, at idéen rækker ud over teori. Men uafhængige benchmarks, licensafklaring og produktdetaljer for MiniMax‑M3 mangler stadig – og alle ydelsespåstande kommer fra MiniMax’ eget materiale.

Næste skridt er lavpraktiske: vælg et langkontekst‑use case, mål latency/peak‑RAM/recall mod en tæt baseline, og kør en stram POC. Overvåg selector‑bias og tail‑latency med klare alarmer. Afklar kernel‑licens og framework‑support, før I forpligter jer. Man opdager først forskellen, når man sidder med det i hænderne.

Kilder

    Gør brugeroplevelsen bedre.
    Hvilket firma arbejder du for?