Hvordan vil neste generasjons LLM-arkitektur se ut? Dette spørsmålet fortsetter å skape debatter — og Zhihu-bidragsyter og utvikler Yuxuan gir en skarp sammenligning mellom DeepSeek Sparse Attention (DSA) og Native Sparse Attention (NSA), samt et praktisk blikk på implementering av DSA-operatører med TileLang. 🚀 Hvorfor DSA > NSA (i oppgaver med lang kontekst): Fra eksperimenter med å legge til DSA på små modeller og sammenligning med NSA, presterer DSA konsekvent bedre — hovedsakelig på grunn av to sentrale designvalg: 1️⃣ Attn-Score destillation → eksplisitt supervision for indeksutvelgelse 2️⃣ Token-nivå sparsomhet i stedet for blokk-nivå→ finkornet, mer nøyaktig henting 🔍 1) Attn-score destillasjon Sparsom oppmerksomhet avhenger av å velge de riktige nøkkel-verdi-parene. DSA overvåker indeksmodulen direkte ved bruk av ekte oppmerksomhetsscore, og tilpasser treningen til det faktiske målet: «velg de kritiske tokenene». NSA optimaliserer i stedet kun LM-tapet, uten å gi noen eksplisitt begrensning på indeksnøyaktighet — noe som forklarer den svakere ytelsen på benchmarks for langdokumentinnhenting. 🔍 2) Token- vs blokknivå-sparsomhet Nøyaktigheten skalerer med beregningsbudsjettet: mer presis indeksering → bedre henting. Token-nivå indeksering (DSA) gir naturlig høyere nøyaktighet enn blokknivå (NSA). Fra dette perspektivet forventes NSAs ytelsesflaskehals — et interessant spørsmål: Vil blokkstørrelse=8 hjelpe NSA å ta igjen DSA? ⚙️ Den virkelige utfordringen: Effektiv opplæring av DSA DSA-treningen innebærer oppvarming → sparsom finjustering. Utfordringen: å beregne og lagre oppmerksomhetspoengene til begge grenene. En naiv implementering krever O(n²)-lagring — noe som opphever FlashAttentions minnebesparelser. Selv forhåndsfiltrering (k=2048, h=512+64) krever fortsatt store buffere. 📎 Kode: 🧩 Kjernefusjon til unnsetning (Fig 1) For å unngå lagring av massive mellomliggende Attn-Scores, bruker DSA fusjonerte kjerner. Et viktig triks er å slå sammen Index-Score + Top-k i én kjerne: • Oppretthold en 2K-buffer • Beregn indeks-score for hver blokk...