按需计算:专家、弹性深宽与查表记忆¶
基础模型 / 104 个问题 · 26 篇论文
先看问题,想一想,再展开答案。这里持续积累本子主题各篇论文的问答,一篇论文也可以追加多个问题。
104 个问题 · 26 篇论文
基础理解
MirrorMoE 为什么希望边界外专家在训练早期也被选择?
核心机制
MirrorMoE用镜像概率选专家,最终输出也要用这份混合概率加权吗?
方法对比
MirrorMoE 的镜像选择,与往 router logits 随便加噪声有什么不同?
实现细节
MirrorMoE 的负载项应统计混合概率 p,还是原概率 ξ 与实际派发频率?
基础理解
Novelty Patching 为什么用近期重复程度来决定 byte patch?
Patch where the text is new: a compression view of where byte-level models should spend compute
核心机制
Novelty Patching离线使用匹配长度作标签,线上为什么只查前两个byte?
Patch where the text is new: a compression view of where byte-level models should spend compute
方法对比
Novelty Patching 的两字节表,与在线重新计算未来匹配长度有什么根本区别?
Patch where the text is new: a compression view of where byte-level models should spend compute
实现细节
两字节组合出现太少时,Novelty Patching 怎样避免不可靠估计?
Patch where the text is new: a compression view of where byte-level models should spend compute
基础理解
MSAR 为什么让当前层重新检索历史深度表示?
核心机制
MSAR的多流与普通多头切分通道有什么不同,哪一步需要softmax归一化?
方法对比
Block MSAR 的持久单流摘要,与永久保存所有卷积展开视图有什么取舍?
实现细节
MSAR 的当前 block 还没有 partial 时,补一个零 source 无害吗?
基础理解
CoTS 为什么保留 sampled discrete token,而不是完全换成 soft token?
CoTS: Competitive Token Selection for Latent Reasoning in Large Language Models
核心机制
CoTS混入soft token后,怎样避免把实际采样的离散轨迹完全冲掉?
CoTS: Competitive Token Selection for Latent Reasoning in Large Language Models
方法对比
CoTS 的 soft 混合与直接取 top-k embedding 均值有什么区别?
CoTS: Competitive Token Selection for Latent Reasoning in Large Language Models
实现细节
CoTS 发出结束推理标记后,下一步还能重新开启 soft mixing 吗?
CoTS: Competitive Token Selection for Latent Reasoning in Large Language Models
基础理解
固定 Top-k MoE 的“边界专家缺少曝光”指什么?
Smoothing the Top-k Exposure Boundary for Sparse Mixture-of-Experts
核心机制
Elastic expert routing随机改变每个token的专家数,为什么期望计算预算还能保持不变?
Smoothing the Top-k Exposure Boundary for Sparse Mixture-of-Experts
方法对比
Elastic 的预算扰动,与直接把固定 k 提高有什么不同?
Smoothing the Top-k Exposure Boundary for Sparse Mixture-of-Experts
实现细节
截断离散高斯预算时,为什么不能只在可用范围内随意裁掉一侧?
Smoothing the Top-k Exposure Boundary for Sparse Mixture-of-Experts
基础理解
SparseDecoding 为什么把“如何采集激活”与“用哪个剪枝器”分开?
SparseDecoding: Decoding-Aware Pruning for Accurate and Efficient LLM Inference
核心机制
SparseDecoding为何排除prefill,只用真实逐token生成激活来校准剪枝?
SparseDecoding: Decoding-Aware Pruning for Accurate and Efficient LLM Inference
方法对比
本地 Wanda 后端与原文主要使用的 SparseGPT,优化机制相同吗?
SparseDecoding: Decoding-Aware Pruning for Accurate and Efficient LLM Inference
实现细节
32 列的稀疏解码打包,为什么要核对 set bit 数与保留值顺序?
SparseDecoding: Decoding-Aware Pruning for Accurate and Efficient LLM Inference
基础理解
CE-guided MoE 的 affinity 与 token-error 分别表达什么?
Cross-Entropy Guided Routing in Mixture-of-Experts Large Language Models
核心机制
CE-guided MoE为什么在原路由分数之外再预测每个expert的错误?
Cross-Entropy Guided Routing in Mixture-of-Experts Large Language Models
方法对比
误差感知路由与只按负载均衡分配专家,有什么目标差异?
Cross-Entropy Guided Routing in Mixture-of-Experts Large Language Models
实现细节
error penalty 加在 Top-K 之后,与文档中的前置修正等价吗?
Cross-Entropy Guided Routing in Mixture-of-Experts Large Language Models
基础理解
LIFT 想让深层信息通过什么通道回到下一步的浅层?
Pretraining Latent Information Feedback Transformers with Teacher Supervision
核心机制
LIFT为什么同时预测下一token和下一连续state,推理时的state又来自哪里?
Pretraining Latent Information Feedback Transformers with Teacher Supervision
方法对比
LIFT 的 state 反馈,与只把上一步采样 token 喂回有什么区别?
Pretraining Latent Information Feedback Transformers with Teacher Supervision
实现细节
LIFT 训练时的 teacher state 可以接收学生 loss 的反向更新吗?
Pretraining Latent Information Feedback Transformers with Teacher Supervision
基础理解
Telescopic LM 为什么希望一个 checkpoint 支持多个执行深度?
核心机制
Telescopic LM为什么要训练多个深度前缀,而不直接把训练好的深模型截短?
方法对比
随机抽深度前缀训练,与每步同时训练所有深度有什么预算差别?
实现细节
Telescopic LM 怎样检查 full-depth anchor 没有被随机前缀训练覆盖掉?
基础理解
Persistent Recurrent Memory 想让 Transformer 多保留哪一种状态?
Persistent Recurrent Memory Between Transformer Layers Improves Language Model Generalization
核心机制
把持久递归记忆放在Transformer上下半层之间,改变了哪条信息通路?
Persistent Recurrent Memory Between Transformer Layers Improves Language Model Generalization
方法对比
持久 GRU 记忆与普通 residual connection 的历史范围有什么不同?
Persistent Recurrent Memory Between Transformer Layers Improves Language Model Generalization
实现细节
实现 observe–GRU update–gated influence 时,三个阶段能任意交换吗?
Persistent Recurrent Memory Between Transformer Layers Improves Language Model Generalization
基础理解
Repeat-aware MoE 为什么把数据重复单独作为研究变量?
Data Scarcity and Model Sparsity: Mixtures-of-Experts Overfit More to Repeated Data
核心机制
训练token总数相同,为什么大量重复数据对MoE和Dense可能产生不同影响?
Data Scarcity and Model Sparsity: Mixtures-of-Experts Overfit More to Repeated Data
方法对比
比较 Dense 与 MoE 的重复数据过拟合时,只对齐训练步数够吗?
Data Scarcity and Model Sparsity: Mixtures-of-Experts Overfit More to Repeated Data
实现细节
本地重复感知正则 schedule 应怎样验收,而不是把它当作大规模训练结论?
Data Scarcity and Model Sparsity: Mixtures-of-Experts Overfit More to Repeated Data
基础理解
SWRouter 为什么在选模型前,先收缩多轮对话窗口?
SWRouter: Similarity-Contractive Window Routing for Multi-Turn Large Language Model Conversations
核心机制
SWRouter为什么要把上下文收缩质量和选模型正确率分开评测?
SWRouter: Similarity-Contractive Window Routing for Multi-Turn Large Language Model Conversations
方法对比
语义相似度收缩与直接截取最近几轮,有什么不同假设?
SWRouter: Similarity-Contractive Window Routing for Multi-Turn Large Language Model Conversations
实现细节
本地 profile-overlap 路由可以当成论文训练好的对比 encoder 吗?
SWRouter: Similarity-Contractive Window Routing for Multi-Turn Large Language Model Conversations
基础理解
Lngram v2 为什么把 hidden state 变成离散 n-gram 地址?
Lngram v2: Latent N-Gram Memory with Interpretable Discrete Representations
核心机制
Lngram v2使用硬二进制地址查表,为什么还需要反事实邻接地址和零Sink?
Lngram v2: Latent N-Gram Memory with Interpretable Discrete Representations
方法对比
Lngram v2 的 latent 地址与按输入文字 n-gram 哈希,寻址信息有何差别?
Lngram v2: Latent N-Gram Memory with Interpretable Discrete Representations
实现细节
Lngram v2 为什么需要零 Sink,而不是强迫每次 lookup 都影响主干?
Lngram v2: Latent N-Gram Memory with Interpretable Discrete Representations
基础理解
为什么在 MoE 上直接做 activation steering,可能同时改变专家选择?
RARE: Decoupling Representation Steering from Expert Routing in Mixture-of-Experts Language Models
核心机制
RARE怎样改变MoE表征,同时避免steering顺便把token送到另一组专家?
RARE: Decoupling Representation Steering from Expert Routing in Mixture-of-Experts Language Models
方法对比
RARE 的 router 零空间投影,与单纯减小 steering 强度有什么差别?
RARE: Decoupling Representation Steering from Expert Routing in Mixture-of-Experts Language Models
实现细节
为什么 RARE 在编辑层投影一次后,还要校正后续保护层?
RARE: Decoupling Representation Steering from Expert Routing in Mixture-of-Experts Language Models
基础理解
MACRO 为什么把执行 Transformer 层看成一个路由程序?
核心机制
MACRO不改底座权重,怎样仍能改变模型对一个输入的计算过程?
方法对比
MACRO 的路由搜索,与直接微调底座权重改变了什么不同对象?
实现细节
MACRO 的候选程序是否可以只按每一步独立最高概率拼接?
基础理解
RD-AttnRes 所谓“深度路由”,是在选择 token 还是历史层表示?
核心机制
RD-AttnRes为什么只为V增加一条深度路由,而让Q/K继续共用另一条?
方法对比
RD-AttnRes 相对 Block AttnRes,哪个变量被刻意保持不变?
实现细节
实现 RD-AttnRes 时,应分别为 Q 和 K 再拆两条独立路由吗?
基础理解
WIDE 为什么要让不同 token 使用不同的模型宽度?
WIDE: Boosting Adaptive LLM Inference via Token-level Dynamic Width Pruning
核心机制
WIDE的动态宽度与跳过整层相比,细在哪里?
WIDE: Boosting Adaptive LLM Inference via Token-level Dynamic Width Pruning
方法对比
逐 token 宽度路由,相对固定裁掉一半 head/channel 改变了什么?
WIDE: Boosting Adaptive LLM Inference via Token-level Dynamic Width Pruning
实现细节
WIDE 的 mask 应怎样与 kernel 执行配合,才可能真的省计算?
WIDE: Boosting Adaptive LLM Inference via Token-level Dynamic Width Pruning
基础理解
Penelope 的 latent recurrence 反复精炼的是什么?
Penelope: Localized Latent Recurrence for Efficient Structured Reasoning
核心机制
Penelope增加latent推理步时,为什么不用把整条decoder反复运行?
Penelope: Localized Latent Recurrence for Efficient Structured Reasoning
方法对比
局部共享块循环,与让整条 decoder 重跑,计算图有什么不同?
Penelope: Localized Latent Recurrence for Efficient Structured Reasoning
实现细节
Penelope 的 K 次更新能否用 K 个互不共享权重的层直接替代?
Penelope: Localized Latent Recurrence for Efficient Structured Reasoning
基础理解
AdaDSF 为什么不让每一层使用相同 token 预算?
Adaptive Depth Sparse Framework: Similarity-Driven Resource Allocation for Pre-Trained LLMs
核心机制
AdaDSF为何把更多token计算预算分给输入输出相似度较低的层?
Adaptive Depth Sparse Framework: Similarity-Driven Resource Allocation for Pre-Trained LLMs
方法对比
AdaDSF 与 Uniform Mixture-of-Depths,应该在什么共同条件下比较?
Adaptive Depth Sparse Framework: Similarity-Driven Resource Allocation for Pre-Trained LLMs
实现细节
未进入 AdaDSF 某层 Top-K 的 token 应该被删除吗?
Adaptive Depth Sparse Framework: Similarity-Driven Resource Allocation for Pre-Trained LLMs
基础理解
Looped Transformer 中,共享模型权重与共享运行状态有什么区别?
Looped Latent Attention: Cross-Loop KV Compression for Looped Transformers
核心机制
Looped Transformer共享权重后,为什么跨loop的KV缓存仍有压缩空间?
Looped Latent Attention: Cross-Loop KV Compression for Looped Transformers
方法对比
LLA 压缩跨 loop 的 KV,与只减少模型参数量,节省对象有什么不同?
Looped Latent Attention: Cross-Loop KV Compression for Looped Transformers
实现细节
LLA 从共享 latent 重建不同 loop 的 K/V,需要保留哪些 loop 专属部分?
Looped Latent Attention: Cross-Loop KV Compression for Looped Transformers
基础理解
Memory Grafting 中,grafting model 与 recipient 分别扮演什么角色?
Memory Grafting: Scaling Language Model Pre-training via Offline Conditional Memory
核心机制
Memory Grafting为什么先离线编码常见短语,查不到时又要回退到hash Engram?
Memory Grafting: Scaling Language Model Pre-training via Offline Conditional Memory
方法对比
Memory Grafting 相对从零训练的 Engram,初始化和查询回退有什么差别?
Memory Grafting: Scaling Language Model Pre-training via Offline Conditional Memory
实现细节
离线构建 grafting bank 时,应取短语的哪个位置和状态?
Memory Grafting: Scaling Language Model Pre-training via Offline Conditional Memory
基础理解
mild 面对的专家不均衡,为什么可能伤害少数专用专家?
核心机制
mild在专家不均衡时,为何调整各专家的margin,而不只给少数专家加类别权重?
方法对比
保留所有专家的训练 cost/reward,与给每题一个 argmin 硬标签有何不同?
实现细节
mild 推理 router 能否接收每个候选专家的真实 cost 来选答案?
基础理解
Engram 为什么给常见局部模式单独设一张查表记忆?
Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
核心机制
Engram的稀疏为什么是“条件记忆”,而不是再增加一组MoE专家?
Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
方法对比
Engram 的条件记忆,与 MoE 的条件计算主要增加了什么不同资源?
Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
实现细节
Engram 查回的 m_t 应直接替换 h_t 吗?
Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models
基础理解
mHC 的多条 residual stream,相对普通单流残差增加了什么自由度?
核心机制
mHC为何把残差混合矩阵约束成双随机矩阵,而不是允许任意跨流混合?
方法对比
普通 Hyper-Connections 与 mHC 的差异,为什么不只是多加一个归一化层?
实现细节
mHC 验收时,只检查混合矩阵每行和为1足够吗?
基础理解
BLT 为什么在 byte 与全局 Transformer 之间引入 patch?
核心机制
BLT直接读byte,为什么全局Transformer不必给每个byte都付同样计算?
方法对比
BLT 的动态 byte patch 与固定 tokenizer 切词,边界来自哪里?
实现细节
本地 surprisal boundary 路径,为什么还不能称作完整 BLT?
基础理解
Switch Transformer 为什么能增加总参数而不让每个 token 使用全部专家?
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
核心机制
Switch每个token只选一个专家,为什么仍需要负载均衡损失?
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
方法对比
Switch 的 top-1 路由,与先计算所有专家再乘 one-hot mask 有什么系统差异?
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
实现细节
Switch 的辅助均衡项中 f_i 与平均 p_i 分别统计什么?
Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
主题导读与阅读路线
先想一个问题¶
同一参数预算下,每个 token 应该激活哪些参数、运行多少步?
记住这一点¶
Switch Transformer 用 top-1 路由让 token 只进入一个专家,并以负载均衡损失防止少数专家拥塞;Engram 用 n-gram 哈希查表补充可学习记忆,减少局部模式反复由计算层重建。动态深度、宽度和循环方法进一步决定本次输入值得运行多少计算。共同问题是把总容量与单次激活成本分开。
一个例子¶
八个专家、每 token 选一个,可以增大总参数而不让每 token 都执行八个 FFN;但热门专家仍可能排队。常见短语若走哈希记忆表,又把一部分计算换成查表和带宽。这两种稀疏并不消除通信、寻址或参数驻留成本。
什么时候要小心¶
专家数增加不等于吞吐按比例提高;路由不均、容量溢出和 all-to-all 可能主导成本。查表存在碰撞与容量权衡,循环层也会增加时延。不要把随机路由诊断或新增 registry 标签当作能力或 evolve 集成证据。
先读这几篇¶
先读 Switch 的 top-1 专家和均衡约束,再读 Engram 的确定性查表与门控融合,区分条件计算和条件记忆;随后按瓶颈选择动态深宽、循环或路由工作。
- Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity · 原论文
- Conditional Memory via Scalable Lookup: A New Axis of Sparsity for Large Language Models · 原论文
自测一下¶
一个 80B MoE 每 token 激活 8B 参数,是否就只需要存放 8B 参数?
展开参考答案
不是。激活参数描述本次计算,所有可被路由到的专家仍需驻留或从其他存储加载;显存、通信和单步 FLOPs 是不同预算。应同时报告总参数、激活参数及实测运行成本。