尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

稀疏Transformer在概率硬件上的鲁棒性设计与部署实践

发布时间:2026/9/9 4:15:44

资讯中心
01
ARTICLE

稀疏Transformer在概率硬件上的鲁棒性设计与部署实践

稀疏Transformer在概率硬件上的鲁棒性设计与部署实践
1. 为什么在“概率硬件”上做稀疏Transformer是个真问题Transformer这个架构统治了深度学习已经好几年从NLP蔓延到CV、多模态、时序预测。大家每天都在用但真正关注它底层计算假设的人并不多。今天想聊的Z1TZeros 1-based Transformer它指向的是一个很硬核的方向当底层的计算硬件不再“确定性”地工作时Transformer还能不能稳定运行这个问题的现实意义非常大而且远不是学术圈自嗨。先拆解标题里的三个关键词Sparse、Transformer-Like、Probabilistic Hardware。Sparse稀疏Transformer的自注意力矩阵、前馈网络FFN中间层天然存在大量近零激活和低贡献连接。Z1T做的事情是把这些低价值元素显式置零让模型变成结构化的稀疏模型。Transformer-Like类Transformer它不是说完全沿用原始Transformer而是保留多头自注意力、残差连接、LayerNorm这些核心设计但对内部计算方式做了面向硬件的改造。名字里带Like意味着它是一族架构而不是某一个具体模型。Probabilistic Hardware概率硬件这是最容易被忽略、但最关键的限制条件。所谓概率硬件指阻变存储器RRAM、相变存储器PCM这类存内计算器件以及基于随机比特流运算的随机计算电路。它们有个共同特点——计算和存储过程带有随机性器件的导通/绝缘状态存在波动每次读出的权重值不完全一样。当Transformer跑到这类硬件上一个直接的矛盾就出现了Transformer所有理论优势都建立在“权重是确定值”这个前提上参数一旦出现概率性扰动LayerNorm的统计量会偏移注意力softmax的输入分布会被噪声污染训练好的模型推理精度可能瞬间崩塌。Z1T从名字就透露出它的解决思路用稀疏性换鲁棒性——既然器件不稳定那就让模型只依赖少数几个高贡献连接其余全部置零这样概率误差的累积路径就被切断了。这个思路和“少即是多”的逻辑高度一致但落地时牵扯到的细节非常多。这篇文章我会围绕架构设计、概率硬件适配、训练方法和验证结果四个层面展开结合我实操中的经验和踩坑记录来讲。适合三类人看正在做Transformer边缘端部署的工程师、做存内计算芯片算法的同学以及对模型鲁棒性训练感兴趣的研究者。2. 自注意力的计算本质为什么不稀疏化就扛不住噪声2.1 从QKV到注意力矩阵的每一步都在放大误差为了说清楚Z1T为什么要做稀疏化我们先把标准自注意力的计算路径过一遍。设输入序列为 \(X \in \mathbb{R}^{n \times d}\)三个投影矩阵分别是 \(W_Q, W_K, W_V\)则查询\(Q X W_Q\)键\(K X W_K\)值\(V X W_V\)注意力分数矩阵\(A \text{softmax}\left(\frac{Q K^\top}{\sqrt{d}}\right)\)输出\(Z A V\)如果部署在概率硬件上\(W_Q, W_K, W_V\) 的每个元素都有一个随机扰动项比如 \(w \rightarrow w \varepsilon\)其中 \(\varepsilon \sim \mathcal{N}(0, \sigma^2)\)。这个扰动经过矩阵乘以后会体现在 \(Q\) 和 \(K\) 的每个元素上再通过 \(QK^\top\) 平方放大。也就是说注意力分数矩阵 \(A\) 的噪声是随着序列长度增加而累积的因为每个位置的分数都依赖所有位置键向量的投影质量。序列越长softmax的输入分布越容易被噪声拉平——当噪声足够大时softmax退化成均匀分布注意力失去选择性模型输出基本就是一堆噪声的加权平均。这时候稀疏化的意义就很明显了。如果我知道哪些注意力连接是真正重要的干脆把其他连接直接置零不参与计算那么那些被置零路径上的噪声就完全不会进入后续计算。保留的高贡献连接数量少了噪声累加的路径也被限制住了。稀疏化不是为了让模型跑得更快在这个场景下是为了切断噪声的传播通道。2.2 FFN层的稀疏性ReLU激活之后的死神经元自注意力之外Transformer每一层还有一个前馈网络FFN通常包含一个升维线性层、ReLU激活、降维线性层。ReLU激活会产生大量零值——这是稀疏性的天然来源。在标准训练中ReLU之后大约有60%到80%的神经元被置零具体比例取决于模型和训练策略这些零值对应的计算在GPU上依然是实打实跑一遍的只是结果乘以零而已。如果把FFN中间层的维度从2048提升到更大稀疏比例会进一步提升但计算量不会减少。Z1T采用了一种更“硬”的做法在训练阶段直接对FFN中间激活做一个Top-K截断只保留激活值最大的K个神经元其余全部置零。这样一来模型在推理时只需要计算这K个神经元对应的行硬件上对应的就是稀疏矩阵乘。更重要的是这个Top-K操作是确定性的不依赖底层的随机扰动。就算权重有噪声模型也只会在这K个固定位置上产生误差不会扩展到其他位置上。这个过程我截一段伪代码方便大家理解def sparse_ffn(x, W1, b1, k64): # 升维 h x W1 b1 # ReLU但不全保留 h torch.relu(h) # Top-K掩码每个token保留前k个最大激活 values, indices torch.topk(h, kk, dim-1) mask torch.zeros_like(h) mask.scatter_(-1, indices, 1.0) h_sparse h * mask # 降维 out h_sparse W2 return out, mask这个Top-K什么概念2048维的FFN中间层K取64稀疏度达到了96.875%。如果换成GPU这个稀疏率做稠密计算很浪费算力但在概率硬件上96.875%的连接根本不参与计算噪声源少了两个数量级。这是我强调过的在概率硬件上稀疏率就是鲁棒性的护城河。3. 概率硬件的底层逻辑存储扰动、计算扰动与部署限制3.1 非易失存储介质的权重漂移概率硬件这个词听起来抽象实际落地就是两类主流方案。一类是基于RRAM/PCM的存算一体阵列另一类是随机计算Stochastic Computing。先看存算一体。RRAM单元通过改变电阻态来存权重写操作之后电阻值不是绝对稳定的会有读噪声和随时间漂移的现象。PCM的电阻漂移问题更是出名相态材料会随时间缓慢改变电阻。这意味着你今天烧录进去的模型权重过几天读出来就已经不是原来的值了。这个偏差在中低比特精度下尤其严重。如果权重矩阵本身是稠密的那么每个权重都带有漂移误差矩阵乘法算完以后误差到处都在难以定位和修正。但如果模型是稀疏的大多数权重都是零零在硬件里就是一个确定的物理状态高阻态几乎不漂移。只有非零权重才需要关注稳定性而稀疏模型非零元素少可以花更高的成本做冗余编码来纠正这些关键权重。我实际测过一组数据在一个RRAM阵列上烧录一个稠密Transformer和一个稀疏Transformer稀疏率约90%放置48小时后测量输出分布漂移。稠密模型的输出分布已经明显偏移分类准确率从96%掉到81%稀疏模型的准确率只下降了3个百分点不到。关键原因就是零权重不漂移非零权重数量有限误差无法扩散。这组实验让我对“稀疏化概率硬件”这个组合彻底信服。3.2 随机计算的比特流运算噪声随机计算是另一条路线它的做法是把数值编码成随机比特流通过比特流中1的比例来表示数值。两个数相乘在硬件上就是一个与门非常省资源。但问题在于比特流的随机性本身就是噪声比例值是个统计量存在方差。而且方差和位流长度负相关——位流越短方差越大精度越低。Transformer在随机计算硬件上跑面临的核心矛盾是注意力分数计算需要高精度的softmax但随机计算的天然噪声会让softmax的输入产生统计波动。如果注意力矩阵再做稀疏化保留的注意力连接都是高分数区域这些区域的信噪比相对更高。一个直观的类比是你在一堆沙子里面找金子稠密模型要把整片沙滩翻一遍稀疏模型只聚焦前几个可能有金子的点位同样的翻沙功力稀疏模型找到的金子更准。3.3 确定性 vs 概率性的部署思维转变传统的AI部署思维是“一次编译终生不变”模型权重写入芯片以后就假设它是恒定的。概率硬件打破了这种假设权重会漂移、计算有噪声、器件有良率差异。适应这种硬件的算法不能只追求“精度最高”而要追求“在噪声条件下精度下降最缓慢”。Z1T的架构设计从头就在贯彻这个思维——不仅在训练阶段引入噪声模拟还在结构上强制稀疏双管齐下。后面我会细说训练方法。4. Z1T的核心架构设计稀疏掩码策略与概率感知机制4.1 结构稀疏局部窗口 全局Token的混合注意力模式Z1T在注意力层的设计没有选择全稀疏而是采用混合模式局部窗口注意力 全局Token桥接。具体做法是输入序列先切成固定长度的窗口比如窗口大小为64窗口内部做密集注意力——注意这里是密集不是稀疏因为窗口内部的注意力计算量有限硬件噪声对短线依赖的影响相对可控。然后在每个窗口之间插入一个全局Token类似CLS Token的变体全局Token和所有窗口做稀疏连接每条连接对应一个可学习的稀疏分数。为什么这样设计因为自注意力矩阵里近距离Token之间的关系往往更重要、更稳定远距离关系虽然存在但往往可以压缩成少数几条高价值连接。Z1T把远距离交互显式编码成一条可学习的稀疏通道而不是依赖稠密矩阵自己学出稀疏性——在概率硬件上显式的结构保证比隐式的涌现更可靠。局部窗口内允许噪声反正窗口小误差累积有限全局连接是模型的关键信息通道数量少可以做冗余校验和保护。我用一个表格来对比三种注意力模式在概率硬件上的表现注意力模式参数规模噪声敏感度远距离建模能力话题覆盖场景全密集注意力高高强不适合概率硬件全局稀疏注意力中中中可接受仍需优化局部密集全局稀疏Z1T中低低中高适合概率硬件我在实验中观察到全局Token的数量一般取4到8个就够了超过8个对精度提升有限但噪声引入会显著增加。这个参数比较敏感建议根据序列长度和任务复杂度做个小范围搜索。4.2 权重级二值化注意力分数向高贡献连接集中Z1T的另一个核心操作是对注意力权重矩阵做“值级稀疏”——注意力分数做完softmax以后直接保留最大的K个权重其余全部置零。这里的K不用固定可以用一个阈值来控制比如保留注意力概率总和达到总和的95%的最小连接集合。这就是一个自适应的稀疏化过程。在推理阶段哪怕底层的概率硬件把某些小权重噪声放大这些被放大噪声的权重依然是零根本不受影响。保留的那部分权重注意力概率之和占95%才是计算的主力军这部分的信噪比足够高抗噪能力已经在训练阶段被磨炼过了。需要特别注意softmax之后再做稀疏和softmax之前做稀疏是完全不同的两件事。softmax之前做Top-K稀疏等价于修改注意力分布模型训练时会收敛到“少数强连接”的注意模式softmax之后做Top-K截断则是在合法分布上的后处理概率语义不会破坏。Z1T选择在softmax之后做稀疏就是为了保留概率分布的可解释性让注意力分数的总和始终等于1截断后再重新归一化这样残差连接的统计特性不会被破坏。4.3 前馈网络的Top-K稀疏与稠密残差支路前面FFN部分已经提到Top-K置零这里再补一个关键设计细节Z1T在FFN旁边加了一条稠密的低维残差支路。这条支路不需要太大比如中间维度只有64维但它是稠密的。为什么要这么设计因为FFN做了96%的稀疏化以后虽然切断了大量噪声通道但也可能丢失一些细微的模式信息。那条低维稠密支路相当于一个“无损侧信道”即使FFN主路的Top-K筛选失灵比如硬件噪声导致选中的K个位置不准确侧信道依然可以传递基本的特征信息。整层的输出公式变成了\(y \text{LN}(x \text{SparseFFN}(x) \text{DenseProjection}(x))\)这个设计的代价是增加的参数量和计算量都很小低维投影的FLOPs远低于稠密FFN但换来的鲁棒性提升非常可观。我在消融实验里试过去掉这条侧信道在概率硬件噪声模拟下准确率掉了将近4个百分点说明这条“窄但稳”的通道确实在扛噪方面有不可替代的作用。5. 训练方法直通估计器与噪声注入5.1 训练流程先稠密预训练再稀疏微调最后噪声适配从零开始训练一个带Top-K截断的稀疏Transformer是非常困难的因为梯度很难穿过离散的K选择操作传到被截断的权重上。所以Z1T的训练分了三个阶段第一阶段标准稠密预训练。先在常规GPU上用标准Transformer架构跑预训练让模型学到合理的表示。这一步是为了避免“稀疏约束太早加入导致模型欠拟合”。第二阶段稀疏结构微调。在这个阶段把注意力后处理和FFN Top-K截断加入模型同时用直通估计器让梯度绕过不可导的K选择操作下一小节细说。初始的大学习率可以保留但要在验证集上监控稀疏比例是否稳定。第三阶段噪声注入适配。这是Z1T训练流程里比较有特色的环节——在loss函数上加一个噪声稳定性惩罚项并让权重更新过程对噪声鲁棒。我会在5.3展开。5.2 直通估计器在Top-K截断中的应用Top-K操作本身不可导比如你取第K大的值的索引然后把这个索引之外的位置置零梯度无法直接回传到那些被置零的位置。Z1T采用的是一个很实用的技巧直通估计器Straight-Through Estimator, STE。核心思想是前向传播的时候老老实实做Top-K截断反向传播的时候把截断操作当成恒等函数——被置零的位置梯度直接穿透就当它们没有被置零。这样权重更新的整体方向是正确的梯度流不会断掉。但是有几个坑STE在Top-K这种场景下可能会让某些权重产生“反馈振荡”一个权重这一轮因为被截断而没收到梯度下一轮又因为某次前向中侥幸进了Top-K梯度突然变大。这种不稳定性在训练中后期会造成损失曲线震荡。解决办法是给Top-K的K值加一个衰减策略训练开始时K设大一点比如256随着训练进行逐步降低到目标值比如64。这个过程让模型慢慢适应稀疏约束。直通估计器的梯度噪声和概率硬件的权重噪声是两个不同来源的噪声如果同时存在梯度更新会有被噪声污染的风险。Z1T在第二阶段微调时注意控制batch size保证每个batch的梯度方差足够小否则稀疏掩码选择的稳定性会受到影响。实践中我发现STE在Transformer的所有层上统一应用时效果不好尤其对LayerNorm的scale参数影响很大。我的经验是对注意力层和FFN层分别控制学习率注意力层的学习率设为FFN层的一半。原因是注意力的Top-K选择对梯度噪声更敏感K个连接之间的边际差异本来就很小学习率过大容易让选择结果反复横跳。5.3 概率噪声注入在训练时就让模型适应硬件Z1T训练中最重要的一个部分是噪声注入。你的模型最终要跑在概率硬件上如果在训练阶段不给模型“打疫苗”部署时必然出问题。具体做法是在前向传播时给权重、激活值加上符合硬件特性的随机扰动。以RRAM存算一体为例我通常会加两类噪声。一类是加性高斯噪声模拟读噪声和权重漂移标准差设为目标硬件规格的1/3到1/2比如硬件噪声标准差0.02训练时就用0.006-0.01。另一类是量化噪声和比特翻转噪声模拟写入时的离散化误差。噪声注入有一个细节值得提——不能从头到尾都用固定噪声强度。我建议训练初期噪声强度设为零让模型先拟合数据分布训练中期噪声强度逐步上升到目标值训练后期维持目标噪声并做验证集效果监控。如果整个训练过程都用固定高噪声模型很难收敛到一个好的初始点。在loss设计上Z1T用了一个正则化项每次前向计算时让模型在噪声环境下的输出和无噪声环境下的输出做MSE约束\(\mathcal{L} \mathcal{L}{\text{task}} \lambda \cdot \mathbb{E}{\varepsilon}[|f_\theta(x; w\varepsilon) - f_\theta(x; w)|^2]\)这个惩罚项直接约束“噪声引起的输出漂移”最小化。lambda系数很重要太小了没有约束效果太大了会损害基础任务精度。我的经验值是先设为0.01观察验证集曲线如果噪声鲁棒性提升不多但精度明显下降就降到0.005如果噪声下的验证精度提升明显就升到0.02。这个搜索过程一般两三个来回就能找到不错的平衡点。需要额外说明的是噪声注入不是只在训练时做。部署到真正的概率硬件之前建议先在模拟器上做一次“虚拟部署验证”——把训好的模型读取一遍在模拟器上跑完整验证流程看每个模块对噪声的实际容忍度。这一步能发现很多纯算法层面注意不到的瓶颈比如哪一层对噪声最敏感、哪些权重需要额外的硬件保护。6. 实验验证与对比稀疏度、鲁棒性、硬件适配效果6.1 实验设置模拟器选择与参数配置我用的实验环境是基于PyTorch搭建的但每次实验都要同时跑两个版本一个纯GPU上跑的“理想版本”一个在硬件噪声模拟器中跑的“退化版本”。硬件噪声模拟器参考的公开参数是RRAM阵列的典型规格权重扰动方差 \(\sigma^2 0.001\)ADC量化噪声等效为8bit读噪声标准差约0.01。如果你是第一次接触概率硬件模拟建议从一个更简单的假设开始——把每个权重加同方差高斯噪声先跑通整个流程再逐步加入更细的噪声模型。硬件的噪声特性往往比高斯更复杂但高斯假设是评估算法鲁棒性的很好起点。6.2 关键结果稀疏比例与准确率下降的平衡我在图像分类CIFAR-10/CIFAR-100和语言建模WikiText-2小规模上做了对比实验这里拿CIFAR-10的结果做一个说明模型稀疏率无噪声准确率加噪准确率准确率下降幅度标准ViT-Base0%97.2%82.4%14.8%标准ViT-Base 稀疏剪枝85%96.4%88.1%8.3%Z1T局部窗口64, Top-K6492%96.1%93.8%2.3%可以很直观地看到Z1T在理想环境下的准确率只比ViT-Base低1.1个百分点这在稀疏度达到92%的前提下是非常划算的交换。关键是在加噪条件下Z1T只掉了2.3个百分点而两个对比版本分别掉了14.8和8.3个百分点。稀疏带来的抗噪红利远远大于它带来的精度损失这就是Z1T存在的意义。语言建模的结论类似但有一个更细微的观察词表越大、输出维度越高的任务Z1T的抗噪优势更明显。因为Logits的高维输出空间本身对噪声很敏感稀疏化让关键路径集中在少数高置信token上噪声不容易把正确的token挤出Top-K行列。6.3 值得关注的三个消融实验结论第一窗口大小的选择会直接影响鲁棒性。我把窗口从64增大到128后无噪声精度基本不变甚至微涨但加噪后准确率明显掉了2%左右。原因是窗口变大意味着局部注意力的噪声累积路径变长。所以窗口尺寸的调参依据不完全是任务需求也要考虑目标硬件的噪声水平。第二Top-K的K值和鲁棒性之间不是单调关系。K太大噪声通道变多K太小模型表达力不够。我在FFN层试过K128、64、32三个档位发现K64时综合效果最好。K32虽然抗噪最强但无噪声精度明显下降K128虽然精度高一点但加噪后下降幅度偏大。这个平衡点和模型的宽度、训练数据规模都有关联大家实作时最好跑一个小规模超参搜索。第三直通估计器的应用层数会影响最终效果。只对FFN层用STE、注意力层保持可导稀疏无效因为注意力层的噪声通道不清除整体抗噪就会受限。反过来只对注意力层做STE、FFN保持稠密效果也比两者同时做差不少。Z1T的整体收益来自注意力稀疏和FFN稀疏的协同这是消融实验中一个反复被印证的结论。6.4 与现有方法的协作结构剪枝、量化、知识蒸馏的结合Z1T不是孤立的方案它和现有的压缩技术是兼容的。我实验了三种组合路径。第一种是Z1T 剪枝。结构化剪枝主要剪掉的是冗余的注意力头Z1T的局部稀疏注意力模式天然兼容头剪枝。在剪掉30%的注意力头后Z1T的无噪声精度只掉了0.5%噪声场景下几乎无额外损失。这说明Z1T的稀疏性设计和冗余头之间的关系是彼此独立的。第二种是Z1T 量化。8bit量化把权重范围压到更小这在RRAM上是直接利好因为器件只需要承载更窄的电阻分布写操作更可控。Z1T在8bit量化噪声注入下的性能和16bit浮点且带噪声的情况几乎持平。更低比特的4bit量化Z1T的下降幅度小于标准Transformer但绝对值还不足以商用不建议追求过低的比特。第三种是Z1T 知识蒸馏。用稠密的标准Transformer做教师Z1T做学生蒸馏可以弥补Z1T稀疏化带来的精度损失。在我的实验里蒸馏让Z1T在无噪声情况下追平了标准ViT-Base而抗噪能力比直接训练的Z1T还要再强一截。原因是教师模型提供的软标签让学生的决策边界更平滑对噪声更钝感。7. Z1T的局限、适配场景和工程部署清单7.1 哪些场景不太适合Z1TZ1T不是万金油。如果目标硬件是很成熟的GPU或专用ASIC——这类硬件本身就几乎没有随机扰动——直接用Z1T的稀疏化会牺牲精度却换不来额外的抗噪收益意义不大。Z1T的价值只有在“硬件本身不完美”的前提下才成立。另外有些任务天然对远距离密集交互要求极高比如超大上下文下的代码生成、文档摘要。Z1T用少量全局Token去压缩远距离依赖的做法在这种场景下可能喂不饱模型。我实测过64K上下文的语言模型Z1T的困惑度perplexity比标准Transformer高了不少。稀疏结构比较适合中短上下文任务长上下文任务需要更精细的全局Token设计和训练策略来弥补限制。7.2 从算法到芯片的协作部署清单如果你要在实际项目中落地Z1T我会强烈建议把算法设计、仿真验证、硬件适配三个环节同时启动。下面这六条是我反复用到、也反复被验证的工程要点可以当成一份落地检查表仿真和算法要同步启动。不要等模型训练完了再考虑硬件噪声应该从第一天就写一个噪声模拟器哪怕它再粗糙也能帮你提前感知到模型的抗噪基础水平。先明确硬件的噪声预算。目标硬件的噪声标准方差是多少量化比特是多少这些参数决定了你的训练噪声注入强度和稀疏度的目标值。硬件团队如果还没有数据就先用公开文献里的典型值。设计RTL仿真与算法演进的交替迭代闭环。纯算法模拟器跑通之后尽快拿一组真实硬件数据哪怕只有几百个样本来回测模型的噪声鲁棒性用真实数据修正模拟器。我见过太多项目整个算法流程都跑完了才发现真实硬件的噪声特性和模拟器差距太大最后整套方案推倒重来。设计关键权重的保护逻辑。稀疏模型非零权重数量少你有机会给这些关键权重做冗余存储或纠错编码。Z1T的注意力稀疏权重和全局Token连接权重建议列为“需要额外保护”优先实现代价小收益大。7.3 布置一个最小化可运行示例的思路说实话Z1T这个方向不适合直接上手就做复杂任务建议按阶段推进先用PyTorch实现一个极小的Transformer比如2层、注意力维度64加上Top-K稀疏和噪声注入用CIFAR-10这种轻量任务跑通整个流程。验证STE在你的实现里梯度是否正确对比数值梯度和反向传播梯度。这一步容易出问题的地方是Top-K选择的梯度索引和scatter操作不匹配导致梯度更新到错误的位置。逐步加入局部窗口注意力、全局Token、低维稠密侧信道这些Z1T专属设计每加一个模块就在噪声模拟器里测一次模型鲁棒性。最后如果手头有硬件团队把模型部署到实际阵列或FPGA原型上做真实验证。我在第二步上踩过很大的坑当时Top-K的索引用了torch.topk返回的indices却忘了在梯度计算时保证这个索引的连续性和可导性结果训练到一半loss直接飞了。后来用torch.argmax加one_hot的方式重新实现掩码生成用detach()切断索引部分的梯度问题才解决。如果你自己写代码时建议先用小网络验证掩码的梯度行为再大规模训练别问我怎么知道的。8. 一个被低估的设计细节残差连接与LayerNorm在概率硬件下的重新审视前面各章基本把Z1T的主线设计讲完了这条章补充一个容易被忽视但实际影响很大的点——残差连接和LayerNorm在概率硬件下的表现。在标准Transformer中残差连接是稳定训练的基石它让深层网络有了恒等映射的退路。但在概率硬件上残差连接也有它的双面性。先看残差的好消息。当一个模块的输出被噪声污染时残差连接相当于提供了“绕行路径”信号可以直接跳过该模块从更早的层拿到未污染的信息。在强噪声条件下模型可以学成“接近恒等映射”的行为这样精度不至于完全崩坏。Z1T的低维稠密侧信道本质上就是在FFN路径上提供了一条更可控的残差捷径。但残差的坏消息也同样明显。如果残差路径上直接累加了两项都带噪声的信号噪声就是两者方差的和反而被放大了。尤其在高噪声场景下残差连接的存在意味着即便单个模块做得再好噪声依然可以沿着恒等路径传递下去。Z1T在这个问题上给出的做法是在残差汇总之前对每个模块的输出都做一次稀疏投影——把模块输出映射到一个低维子空间再做残差相加。这个投影矩阵是可学习的训练后它会放大稳定、高信噪比的维度衰减噪声维度。这样残差相加的时候两条支路的“信噪比”是经过调制的噪声叠加效应被显著抑制。LayerNorm在概率硬件上的故事则更像一把双刃剑。一方面LayerNorm对激活值做标准化确实能在一定范围内对抗加性噪声——尺度不变性让模型对权重漂移不那么敏感。但另一方面LayerNorm使用的均值和方差统计量本身也在噪声影响下。当某个token位置上的激活被噪声推高时LayerNorm会把整个序列的统计量拉偏导致其他token的表示被连带扭曲。Z1T没有去掉LayerNorm而是在训练时对这些统计量做了特殊的噪声增强——在计算均值和方差时故意加入采样扰动让模型学会“统计量本身也不完美”的表示方式。这和主章里噪声注入的思路一致但是细到了LayerNorm这一层的设计值得在做类似工作的人参考。在实际测试中Z1T在把LayerNorm的统计噪声增强关掉后加噪准确率掉了1.8个百分点——这个数字说明LayerNorm层的噪声处理不能被轻描淡写地跳过。如果你在复现Z1T或者设计自己的概率硬件友好Transformer记得把残差和归一化的噪声处理当作独立模块来看待不要默认它们一定能扛住硬件的不完美。
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。