% Reading presentation based on the arxiv-paper-reader Beamer template.
% Build: python3 build_slides.py slides.en.tex
\documentclass[aspectratio=169,11pt]{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{amsmath,amssymb,graphicx,booktabs}

\definecolor{AcademicBlue}{RGB}{26,57,86}
\definecolor{AcademicTeal}{RGB}{0,105,112}
\setbeamercolor{structure}{fg=AcademicBlue}
\setbeamercolor{frametitle}{fg=AcademicBlue,bg=white}
\setbeamercolor{title}{fg=AcademicBlue}
\setbeamercolor{alerted text}{fg=AcademicTeal}
\setbeamercolor{block title}{fg=white,bg=AcademicBlue}
\setbeamercolor{block body}{fg=black,bg=AcademicBlue!5}
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{itemize items}[circle]
\setbeamertemplate{footline}{%
  \hfill\usebeamerfont{page number in head/foot}%
  \insertframenumber\,/\,\inserttotalframenumber\hspace{4mm}\vspace{3mm}}
\setbeamersize{text margin left=8mm,text margin right=8mm}
\setbeamerfont{frametitle}{size=\Large,series=\bfseries}
\setbeamerfont{title}{size=\LARGE,series=\bfseries}
\newcommand{\papersource}[1]{\par\smallskip{\scriptsize\color{gray}#1\par}}
\newcommand{\khi}{K_{\mathrm{hi}}}
\newcommand{\E}{\mathbb E}
\newcommand{\R}{\mathbb R}
\newcommand{\sr}{\mathrm{SR}}
\hypersetup{pdftitle={DAMP -- Research paper discussion},
  pdfauthor={Reading presentation of the paper by Tao Zhang et al.}}

\title[DAMP]{DAMP: Decay-Aware Mixed-Precision\\Recurrent-State Quantization}
\subtitle{Research paper discussion -- 20--30 minutes}
\author{\small Paper authors: Tao Zhang, Jianchao Tan, Pingwei Sun, Yanqi Yu,\texorpdfstring{\\}{ }
Zunhai Su, Zixu Jiang, Yuchen Xie, Xunliang Cai, Ziqian Zeng}
\date{\small \href{https://arxiv.org/abs/2608.27513v2}{arXiv:2608.27513v2} -- revised September 30, 2026\\
Reading date: October 13, 2026}

\begin{document}
\begin{frame}
  \titlepage
  \vspace{-4mm}
  \begin{center}\small
  \alert{Protect channels with large errors that persist through future decay.}
  \end{center}
\end{frame}

\begin{frame}{Fixed-size recurrent states still cost memory and time}
  \centering
  \includegraphics[width=0.94\linewidth,height=0.53\textheight,keepaspectratio]{figures/fig-01-motivation.pdf}
  \begin{itemize}
    \item Qwen3.6, batch 256: GDN updates account for \alert{24.3\%} of decode latency.
    \item Every step reads, updates, and requantizes the state.
    \item Uniform 8-bit storage damages reasoning; 4-bit is much worse.
  \end{itemize}
  \papersource{Paper, Fig.1, PDF p.1; Sec.1, p.2. Effective bits include quantization metadata.}
\end{frame}

\begin{frame}{GDN and KDA share a decay-plus-delta recurrence}
  \[
  S_t=\underbrace{(I-\beta_t k_tk_t^\top)\Lambda_t}_{A_t}S_{t-1}
       +\beta_t k_tv_t^\top,\qquad o_t=S_t^\top q_t
  \]
  \begin{itemize}
    \item $S_t\in\R^{d_k\times d_v}$: key channels are rows; value dimensions are columns.
    \item $q_t,k_t\in\R^{d_k}$ are normalized; $v_t\in\R^{d_v}$; $\beta_t\in(0,1)$.
    \item Decay the old state, partially erase the current key association, then write the new value.
  \end{itemize}
  \begin{block}{The architectural difference}
  GDN: $\Lambda_t=\alpha_t I$ within a head.\\
  KDA: $\Lambda_t=\operatorname{diag}(\exp(g_t))$, with channel-wise decay.
  \end{block}
  \papersource{Paper, Sec.3.1, Eqs.(1)--(4), PDF p.3.}
\end{frame}

\begin{frame}{A local quantization error can survive many updates}
  \[
  S_t^q=Q(A_tS_{t-1}^q+\beta_tk_tv_t^\top),\qquad
  \Delta S_t=S_t^q-S_t
  \]
  \[
  R_t=S_t^q-(A_tS_{t-1}^q+\beta_tk_tv_t^\top)
  \]
  \begin{block}{Exact state-error recurrence for a shared input trajectory}
  \[
  \Delta S_t=A_t\Delta S_{t-1}+R_t
  =R_t+\sum_{i=1}^{t-1}(A_t\cdots A_{i+1})R_i
  \]
  \end{block}
  \begin{itemize}
    \item $R_t$: newly injected error; assume $\Delta S_0=0$.
    \item $A_t$ includes both decay and key-dependent error transformation.
  \end{itemize}
  \papersource{Paper, Sec.3.3, Eqs.(7)--(13), PDF p.4. Shared-trajectory scope made explicit here.}
\end{frame}

\begin{frame}{A small fraction of channels carries most local error}
  \centering
  \includegraphics[width=\linewidth,height=0.52\textheight,keepaspectratio]{figures/fig-02abc-state-error.pdf}
  \begin{itemize}
    \item Value scaling and reordering (SR) groups entries of similar magnitude.
    \item After SR, the top \alert{12.5\%} of key channels account for about
    \alert{69\% (GDN)} / \alert{76\% (KDA)} of squared quantization error.
  \end{itemize}
  \papersource{Paper, Fig.2(a--c), Sec.4.1, PDF pp.4--5. Author figure, panel-row crop.}
\end{frame}

\begin{frame}{Slow-decay channels remain similar across tasks}
  \centering
  \includegraphics[width=\linewidth,height=0.51\textheight,keepaspectratio]{figures/fig-02def-decay.pdf}
  \[
    a_{\mathrm{eff},u}=\exp(\E_t[\log a_{t,u}])
    \qquad \text{Near 1: weak decay, long retention}
  \]
  \begin{itemize}
    \item KDA ranking correlations: Math--Code 0.994; Math--General 0.999.
    \item Stable rankings motivate estimating risk \alert{offline}.
  \end{itemize}
  \papersource{Paper, Fig.2(d--f), Sec.4.2, PDF pp.5--6. Author figure, panel-row crop.}
\end{frame}

\begin{frame}{DAMP turns offline risk estimates into a static cache}
  \centering
  \includegraphics[width=\linewidth,height=0.56\textheight,keepaspectratio]{figures/fig-03-workflow.png}
  \begin{enumerate}
    \item Calibrate value SR and select high-risk key channels.
    \item Store selected rows in FP16; store the rest in INT8.
    \item Fuse reconstruction, FP32 update, and compressed writeback.
  \end{enumerate}
  \papersource{Paper, Fig.3, PDF p.6; Sec.5.2 and Appendix A.4.}
\end{frame}

\begin{frame}{The score combines error size with future retention}
  \[
  e_{t,u}=\|[Q(S_t)-S_t]_u\|_2^2,\qquad
  W_{t,u}=1+\sum_{j=1}^{H}\prod_{r=1}^{j}a_{t+r,u}^{\,2}
  \]
  \begin{block}{Channel risk and budgeted selection}
  \[
  C_u=\E_{\mathrm{cal}}[e_{t,u}W_{t,u}],\qquad
  \mathcal H_{\ell,h}=\operatorname{TopK}(C_{\ell,h,:},\khi)
  \]
  \end{block}
  \begin{itemize}
    \item Reference-state errors and the next $H=256$ observed decays.
    \item Same $\khi=16$ per head; channel identities vary by layer and head.
    \item $C_u$ is a \alert{decay-based proxy}; it omits the full $A_t$ dynamics.
  \end{itemize}
  \papersource{Paper, Sec.5.1, Eqs.(14)--(15), PDF p.6. Errors measured in original state coordinates.}
\end{frame}

\begin{frame}{Error lifetime matters even when local errors match}
  \begin{columns}[T]
  \begin{column}{0.48\textwidth}
    \begin{block}{Teaching example: constant decay}
    \[
    W=\sum_{j=0}^{256}a^{2j}
    \]
    \begin{tabular}{lrr}
    \toprule
    Decay & $a$ & $W$\\
    \midrule
    Fast & 0.50 & 1.33\\
    Slow & 0.99 & 49.96\\
    \bottomrule
    \end{tabular}\par\medskip
    Equal local error can imply very different cumulative risk.
    \end{block}
  \end{column}
  \begin{column}{0.48\textwidth}
    \begin{block}{Why decay can still matter in GDN}
    All channels in a head share $W_t$, but:
    \[
    C_u=\E_t[W_t e_{t,u}]
    \]
    Channels can incur errors at different times. Time-varying $W_t$ can change their ranking.
    \end{block}
  \end{column}
  \end{columns}
  \papersource{Left: teaching calculation from Eq.(15), not an experiment. Right: Appendix D, PDF p.18.}
\end{frame}

\begin{frame}{Calibration separates fitting from configuration choice}
  \begin{block}{36 prompts per model}
  12 MATH + 12 APPS + 12 ARC-Challenge training prompts.\\
  Three disjoint, domain-balanced splits: fit / select / validate.
  \end{block}
  \begin{enumerate}
    \item Generate FP32 reference trajectories: 1,024 input + 4,096 output tokens.
    \item Fit candidate SR transforms and protected sets on the fitting split.
    \item Choose the full mixed-precision configuration on the selection split.
    \item Evaluate the frozen configuration on the validation split.
  \end{enumerate}
  \medskip
  Six scoring anchors per sequence; 72 per split; 256 future decays per anchor.
  \papersource{Paper, Appendix A.2, Eq.(16), Algorithm 1, PDF pp.15--16.}
\end{frame}

\begin{frame}{A static layout avoids per-step channel reordering}
  \begin{block}{Packed state per head}
  \centering
  \alert{FP16 protected rows}\quad|\quad
  INT8 remaining rows\quad+\quad FP32 group scales
  \end{block}
  \begin{itemize}
    \item Fold fixed permutations into projections and channel-wise parameters.
    \item Use one CUDA kernel: load $\to$ dequantize $\to$ update/read out
    $\to$ quantize $\to$ write.
    \item Reuse state tiles in registers; recompute group scales at each write.
    \item \alert{FP32 arithmetic}: compressed storage does not require INT8 updates.
  \end{itemize}
  \papersource{Paper, Sec.5.2, PDF p.7; Appendix A.3--A.4, pp.16--17. Prefill writes the same packed cache.}
\end{frame}

\begin{frame}{9.9 effective bits include the group-scale overhead}
  \begin{center}
  \begin{tabular}{lcl}
  \toprule
  Storage & Effective bits/value & Metadata\\
  \midrule
  FP32 & 32 & None\\
  FP16 / BF16 & 16 & None\\
  INT8, groups of 32 & $8+32/32=9$ & One FP32 scale\\
  INT4, groups of 32 & $4+64/32=6$ & FP32 scale + zero point\\
  \bottomrule
  \end{tabular}
  \end{center}
  \[
  b_{\mathrm{DAMP}}=\frac{16}{128}\,16+\frac{112}{128}\,9
  =9.875\approx9.9
  \]
  \begin{block}{State-storage reduction}
  \centering
  $1-9.875/32=\alert{69.1\%}$ versus FP32;\quad 38.3\% versus FP16.
  \end{block}
  \papersource{Calculation from Table 1 and Appendix A.1/A.4. This is recurrent-state storage, not total model memory.}
\end{frame}

\begin{frame}{Evaluation spans two recurrent architectures and three models}
  \begin{center}\small
  \begin{tabular}{lll}
  \toprule
  Model & Recurrent + attention layers & Accuracy coverage\\
  \midrule
  Qwen3.6-35B-A3B & 30 GDN + 10 full attention & Six benchmarks\\
  Kimi-Linear-48B-A3B & 20 KDA + 7 MLA & Six benchmarks\\
  Kimi-K3 & 69 KDA + 24 gated MLA & AIME + HMMT\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{itemize}
    \item Math: AIME 2026, HMMT Feb.\ 2026, IMO-AnswerBench.
    \item General reasoning: GPQA-Diamond, MMLU-Pro. Code: LCB-v6.
    \item SGLang FP32-state reference; FP16/BF16, uniform 8-/4-bit,
    INT8+SR, and DAMP comparisons.
  \end{itemize}
  \papersource{Paper, Sec.6.1, PDF pp.7--8. K3: 2.8T total / 104B active parameters; first two models: about 3B active.}
\end{frame}

\begin{frame}{Qwen recovers most of the accuracy lost to INT8+SR}
  \begin{center}
  \begin{tabular}{lrrrrr}
  \toprule
  State & Bits & AIME & HMMT & GPQA-D & LCB-v6\\
  \midrule
  FP32 & 32 & 85.46 & 57.57 & 81.97 & 86.95\\
  FP16 & 16 & 84.58 & 55.82 & 82.13 & 86.80\\
  INT8 & 9.0 & 18.48 & 20.12 & 79.48 & 32.23\\
  INT8+SR & 9.0 & 63.98 & 50.09 & 81.89 & 64.51\\
  \alert{DAMP} & \alert{9.9} & \alert{83.82} & \alert{55.11} & \alert{82.05} & \alert{85.67}\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{block}{The sensitive tasks reveal the gain}
  Versus INT8+SR: \alert{+19.84 pp AIME}, \alert{+21.16 pp LCB}.\\
  Versus FP32: $-1.64$ pp AIME, $-1.28$ pp LCB.
  \end{block}
  \papersource{Paper, Table 1, PDF p.7; selected columns. Accuracy in \%, higher is better. pp = percentage points.}
\end{frame}

\begin{frame}{KDA results are close to FP32 at both model scales}
  \begin{center}
  \begin{tabular}{lrrrrr}
  \toprule
  & & \multicolumn{2}{c}{Kimi-Linear} & \multicolumn{2}{c}{Kimi-K3}\\
  \cmidrule(lr){3-4}\cmidrule(lr){5-6}
  State & Bits & AIME & HMMT & AIME & HMMT\\
  \midrule
  FP32 & 32 & 62.34 & 38.02 & 96.88 & 97.92\\
  BF16 & 16 & 58.56 & 32.77 & 97.29 & 96.78\\
  INT8+SR & 9.0 & 58.07 & 32.05 & 93.96 & 91.67\\
  \alert{DAMP} & \alert{9.9} & \alert{62.94} & \alert{38.54} & \alert{97.50} & \alert{97.35}\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{itemize}
    \item Kimi-Linear: all six DAMP scores lie within 0.60 pp of FP32.
    \item K3 extends the evidence to a larger model on two math benchmarks.
    \item Small positive differences support near-FP32 accuracy;
    the tables do not provide confidence intervals.
  \end{itemize}
  \papersource{Paper, Tables 1--2, PDF pp.7--8. Accuracy in \%, higher is better.}
\end{frame}

\begin{frame}{Kernel speedups translate into smaller whole-model gains}
  \centering
  \includegraphics[width=0.96\linewidth,height=0.64\textheight,keepaspectratio]{figures/fig-04-efficiency.pdf}
  \par\medskip
  \alert{Up to 2.59$\times$ kernel speedup}; batch-256 TPOT reductions:
  \alert{19.0\% / 14.5\% / 7.3\%}.
  \papersource{Paper, Fig.4, p.8; Sec.6.3, p.9. ShareGPT: 256 input / 64 output tokens.
  Qwen and Kimi-Linear: TP1/DP8; K3: TP8/DP1. The 2.59$\times$ point is Kimi-Linear at batch 16.}
\end{frame}

\begin{frame}{Smaller states also improve multi-turn cache reuse}
  \begin{center}
  \begin{tabular}{lrrr}
  \toprule
  State & Mean TTFT (s) $\downarrow$ & P95 TTFT (s) $\downarrow$ & Cache hit (\%) $\uparrow$\\
  \midrule
  FP32 & 38.427 & 72.471 & 47.20\\
  BF16 & 35.646 & 69.500 & 56.96\\
  \alert{DAMP} & \alert{30.464} & \alert{61.559} & \alert{65.29}\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{itemize}
    \item K3, fixed total memory budget for recurrent states and KV cache.
    \item 256 four-turn WildChat conversations; prefix caching enabled.
    \item Versus FP32: \alert{20.7\% lower mean TTFT}, \alert{+18.09 pp} cache hits.
  \end{itemize}
  \papersource{Paper, Table 3, PDF p.9; Appendix E, p.19. TTFT = time to first token; mean token-based cache hit rate.}
\end{frame}

\begin{frame}{At the same budget, error plus retention selects better rows}
  \begin{center}
  \begin{tabular}{lrrr}
  \toprule
  Selector & AIME & GPQA-D & LCB-v6\\
  \midrule
  Random & 59.06 & 62.12 & 58.68\\
  State energy & 60.36 & 63.38 & 59.67\\
  Error-only & 61.40 & 63.85 & 60.34\\
  Retention-only & 61.22 & 63.69 & 60.69\\
  \alert{DAMP: $\E[eW]$} & \alert{62.94} & \alert{64.56} & \alert{61.02}\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{block}{Matched comparison on Kimi-Linear (KDA)}
  Same INT8+SR quantizer and 9.9-bit budget.\\
  DAMP improves AIME by \alert{1.54 pp} over error-only selection.
  \end{block}
  \papersource{Paper, Table 4, PDF p.9. Accuracy in \%, higher is better. GDN comparison in backup slides.}
\end{frame}

\begin{frame}{Protecting more than 16 rows gives limited extra benefit}
  \begin{columns}
  \begin{column}{0.58\textwidth}
    \centering
    \includegraphics[width=\linewidth,height=0.65\textheight,keepaspectratio]{figures/fig-05-budget.pdf}
  \end{column}
  \begin{column}{0.38\textwidth}
    \begin{itemize}
      \item More FP16 rows increase effective state bits.
      \item Most recovery occurs by $\khi=16$.
      \item The curves are not strictly monotonic.
    \end{itemize}
    \medskip
    \alert{16 rows is a practical quality--storage choice.}
  \end{column}
  \end{columns}
  \papersource{Paper, Fig.5, Sec.6.4, PDF p.9. AIME 2026 accuracy; author figure.}
\end{frame}

\begin{frame}{Long-context accuracy and calibration splits are stable}
  \begin{block}{RULER: 4K--128K, compressed state throughout prefill and decode}
  Largest absolute gap from FP32, in percentage points:
  \begin{center}
  \begin{tabular}{lrr}
  & Qwen & Kimi-Linear\\
  DAMP & 0.04 & 0.02\\
  INT8+SR & 0.13 & 0.15\\
  \end{tabular}
  \end{center}
  \end{block}
  \begin{block}{Two disjoint, domain-balanced calibration subsets}
  Top-16 overlap: \alert{92.0\% KDA / 93.2\% GDN}.\\
  Full-ranking Spearman: 0.990 / 0.986; random overlap expectation: 12.5\%.
  \end{block}
  \papersource{Paper, Appendix B, Table 6, PDF p.17; Appendix C.1, Table 7, p.18.
  Long-input RULER and difficult reasoning generation test different workloads.}
\end{frame}

\begin{frame}{The approximation and deployment scope remain important}
  \begin{itemize}
    \item \alert{Risk proxy:} only decay is modeled; key-dependent mixing in $A_t$
    and dynamics beyond the 256-step horizon are omitted.
    \item \alert{Budget constraint:} every head receives 16 FP16 rows;
    no global reallocation across heads.
    \item \alert{4-bit gap:} INT4/NVFP4 variants do not recover FP32 accuracy.
    \item \alert{Reproduction details:} GPU model and the numerical multi-turn
    memory budget are not specified; SR candidate construction is only sketched.
  \end{itemize}
  \papersource{Paper, Sec.5.1; Appendices A.2 and F. Interpretation and reproduction gaps identified in this reading.}
\end{frame}

\begin{frame}{Allocate precision to errors that are large and long-lived}
  \begin{enumerate}
    \item \alert{Mechanism:} combine local quantization error with future decay retention.
    \item \alert{Implementation:} static FP16/INT8 rows and a fused FP32 update.
    \item \alert{Evidence:} near-FP32 task accuracy at 9.9 effective bits;
    69.1\% less state storage and up to 19.0\% lower TPOT.
  \end{enumerate}
  \begin{block}{Discussion}
  At the same memory budget, which helps more: richer transition-aware
  scores or allocating different budgets to different heads?
  \end{block}
  \papersource{Tao Zhang et al., DAMP: Decay-Aware Mixed-Precision Recurrent-State Quantization.
  \href{https://arxiv.org/abs/2608.27513v2}{arXiv:2608.27513v2}, September 30, 2026.}
\end{frame}

\renewcommand{\appendixname}{Appendix}
\appendix

\begin{frame}{Backup: the transformed state preserves the recurrence}
  \[
  T_t=P_KS_tD_c^{-1}P_V^\top,\quad
  q'_t=P_Kq_t,\quad k'_t=P_Kk_t,\quad v'_t=P_VD_c^{-1}v_t
  \]
  \[
  A'_t=P_KA_tP_K^\top,\qquad
  T_t=A'_tT_{t-1}+\beta_tk'_t{v'_t}^{\top}
  \]
  \[
  D'_c=P_VD_cP_V^\top,\quad
  o'_t=D'_cT_t^\top q'_t=P_Vo_t,\quad
  W'_O=W_OP_V^\top
  \]
  \begin{itemize}
    \item $P_K,P_V$: fixed key/value permutations; $D_c$: positive diagonal scaling.
    \item Restore value scales before normalization and gating;
    associated parameters follow the same value order.
    \item With the initial state transformed, the unquantized block is equivalent.
  \end{itemize}
  \papersource{Paper, Appendix A.3, Eqs.(17)--(18), PDF p.16.}
\end{frame}

\begin{frame}{Backup: choose SR using both low- and high-precision error}
  \[
  J(c)=\E_{\mathrm{tune}}\!\left[
    \sum_{u\notin\mathcal H_c}W_{t,u}e_{t,u}^{(8,c)}
    +\sum_{u\in\mathcal H_c}W_{t,u}e_{t,u}^{(16,c)}
  \right]
  \]
  \begin{itemize}
    \item $c$: candidate value scaling/reordering; $\mathcal H_c$: its fitted FP16 set.
    \item Restore original state coordinates before measuring either error.
    \item Freeze $\mathcal H_c$ during selection; choose the candidate minimizing $J(c)$.
    \item Sample two 1,024-update windows, starting at updates 0 and 2,048;
    anchors follow updates 256, 512, and 768 in each window.
  \end{itemize}
  \papersource{Paper, Appendix A.2, Eq.(16), Algorithm 1, PDF pp.15--16.
  Reported calibration time: about 7 / 9 / 78.75 min for Qwen / Kimi-Linear / K3.}
\end{frame}

\begin{frame}{Backup: accuracy uses repeated stochastic generations}
  \begin{center}\small
  \begin{tabular}{lrr}
  \toprule
  Benchmark & Qwen / Kimi-Linear & Kimi-K3\\
  \midrule
  AIME 2026 & 128 & 16\\
  HMMT February 2026 & 64 & 8\\
  IMO-AnswerBench & 16 & --\\
  GPQA-Diamond & 32 & --\\
  MMLU-Pro & 16 & --\\
  LiveCodeBench-v6 & 8 & --\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{itemize}\small
    \item Qwen: temperature 0.6, top-$p$ 0.95, top-$k$ 20; max.\ output 65,536.
    \item Kimi-Linear: temperature 1.0, top-$p$ 1.0; max.\ output 262,144.
    \item K3: temperature 1.0, top-$p$ 0.95; max.\ output 262,144.
  \end{itemize}
  \papersource{Paper, Appendix A.5, Table 5, PDF p.17. Table entries are generations per problem, not pass@$k$ metrics.}
\end{frame}

\begin{frame}{Backup: GDN benefits from informed channel selection}
  \begin{center}
  \begin{tabular}{lrrr}
  \toprule
  Selector & AIME & GPQA-D & LCB-v6\\
  \midrule
  Random & 66.59 & 80.98 & 66.88\\
  State energy & 82.19 & 81.37 & 85.17\\
  \alert{DAMP} & \alert{83.82} & \alert{82.05} & \alert{85.67}\\
  \bottomrule
  \end{tabular}
  \end{center}
  \begin{itemize}
    \item Same 9.9-bit budget and INT8+SR quantizer on Qwen3.6.
    \item Retention-only cannot distinguish rows within a GDN head.
    \item DAMP can reweight errors over time; this table does not include
    an error-only baseline.
  \end{itemize}
  \papersource{Paper, Appendix D, Table 8, PDF pp.18--19. Accuracy in \%, higher is better.}
\end{frame}

\begin{frame}{Backup: RULER remains close across 4K--128K}
  \begin{center}\small
  \begin{tabular}{lrrrrrr}
  \toprule
  State & 4K & 8K & 16K & 32K & 64K & 128K\\
  \midrule
  \multicolumn{7}{l}{Qwen3.6-35B-A3B}\\
  FP32 & 96.96 & 96.94 & 96.65 & 96.56 & 96.32 & 96.13\\
  INT8+SR & 96.93 & 96.89 & 96.60 & 96.43 & 96.28 & 96.07\\
  DAMP & 97.00 & 96.94 & 96.65 & 96.56 & 96.32 & 96.10\\
  \midrule
  \multicolumn{7}{l}{Kimi-Linear-48B-A3B}\\
  FP32 & 95.27 & 94.44 & 93.53 & 92.37 & 91.44 & 88.02\\
  INT8+SR & 95.27 & 94.35 & 93.41 & 92.24 & 91.36 & 87.87\\
  DAMP & 95.27 & 94.42 & 93.53 & 92.36 & 91.44 & 88.02\\
  \bottomrule
  \end{tabular}
  \end{center}
  \medskip
  All formats are used throughout prefill and decoding.
  \papersource{Paper, Appendix B, Table 6, PDF p.17; selected rows. Macro accuracy in \%, higher is better.}
\end{frame}
\end{document}
