Argomenti di tendenza
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Come sarà l'architettura LLM di nuova generazione?
Questa domanda continua a suscitare dibattiti — e il contributore e sviluppatore di Zhihu Yuxuan offre un confronto acuto tra DeepSeek Sparse Attention (DSA) e Native Sparse Attention (NSA), oltre a uno sguardo pratico all'implementazione degli operatori DSA con TileLang.
🚀 Perché DSA > NSA (nei compiti a lungo contesto):
Dagli esperimenti che aggiungono DSA a modelli piccoli e confrontano con NSA, DSA si comporta costantemente meglio — principalmente a causa di due scelte di design chiave:
1️⃣ Distillazione dell'Attn-Score → supervisione esplicita per la selezione degli indici
2️⃣ Sparsità a livello di token piuttosto che a livello di blocco → recupero più preciso e accurato
🔍 1) Distillazione dell'Attn-Score
La sparse attention si basa sulla selezione delle giuste coppie chiave-valore.
DSA supervisiona direttamente il modulo indice utilizzando i veri punteggi di attenzione, allineando l'addestramento con l'obiettivo reale: "scegliere i token critici."
NSA invece ottimizza solo la perdita del LM, non fornendo alcun vincolo esplicito sull'accuratezza dell'indice — il che spiega le sue prestazioni più deboli nei benchmark di recupero di documenti lunghi.
🔍 2) Sparsità a livello di token vs a livello di blocco
L'accuratezza scala con il budget computazionale: indicizzazione più precisa → recupero migliore.
L'indicizzazione a livello di token (DSA) produce naturalmente una fedeltà superiore rispetto a quella a livello di blocco (NSA).
Da questa prospettiva, il collo di bottiglia delle prestazioni di NSA è previsto — una domanda interessante: un blocco di dimensione=8 aiuterebbe NSA a recuperare DSA?
⚙️ La vera sfida: addestrare DSA in modo efficiente
L'addestramento di DSA comporta Warmup → Sparse Finetune.
La sfida: calcolare e memorizzare i punteggi di attenzione di entrambi i rami.
Un'implementazione naïve richiede O(n²) di memoria — annullando i risparmi di memoria di FlashAttention.
Anche il pre-filtraggio (k=2048, h=512+64) richiede comunque buffer di grandi dimensioni.
📎 Codice:
🧩 Fusione dei Kernel in aiuto (Fig 1)
Per evitare di memorizzare enormi punteggi di Attn-Scores intermedi, DSA utilizza kernel fusi.
Un trucco chiave è unire Index-Score + Top-k in un solo kernel:
• Mantenere un buffer di 2K
• Calcolare l'Index-Score per ogni blocco...

Principali
Ranking
Preferiti

