当深度学习正如星辰般璀璨,而模型规模与性能爆炸式增长之时,设计一款高效而鲁棒的神经网络架构变得尤为关键。然而,传统的神经架构搜索(NAS)方法常常需要巨大的计算资源和数据支持。ZeroLM则以其"零数据"和"零训练"之妙招,把Transformer模型的架构搜索推向了一个全新境界。本文将从理论动机到实验验证,再到讨论局限与未来发展,带您品读这场无数据驱动的技术盛宴。
🚀 引言:打开黑盒的钥匙
传统神经网络设计常依赖专家经验和反复试验,NAS则为自动设计网络架构铺平道路。但早期NAS方法依靠强化学习或梯度下降,计算资源大得惊人。近年来,零成本代理(Zero-cost proxy, ZCP)成为缩短搜索代价的利器,它们通过随机初始化模型,就可以获得对架构潜力的快速估计。
然而,当应用到Transformer这一风靡自然语言处理领域的架构时,许多现成的零成本方法往往表现平平,甚至比参数数量简单计数的效果还要逊色。这正是ZeroLM登场的契机------通过对Transformer各功能模块(特别是Attention与Feed-Forward Network)的解耦分析,依据权重统计数据构造出一个既高效又稳定的性能代理指标,为Transformer架构提供了一把"解锁黑盒"的钥匙。
🔍 相关工作:追寻最优架构的前路
在NAS的历史长河中,从RL驱动到一击即中的一站式搜索方法,研究者们一直在努力缩短搜索时间。早期,Zoph与Le提出的RL方法虽然有效,但代价沉重;而Pham等人的weight-sharing策略和Liu等人的可微分搜索方法则极大地减少了计算资源的消耗。与此同时,计算机视觉领域中出现的Zero-shot NAS方法也为Transformer搜索提供了启示,不过他们常常受到数据偏差的困扰。
在零成本代理指标方面,已有不少方法(如NTK指标、输入噪声扰动以及各种剪枝指标)被提出,但大多依赖于实际数据输入,从而难免沾染数据偏倚的"尘埃"。与之形成鲜明对比的是,ZeroLM提出的数据无关代理指标,直接依据预初始化或预训练权重统计量来衡量模型的复杂度和潜在容量,为Transformer架构搜索提供了全新的评估视角。
🧬 方法论:从权重光谱到代理得分
ZeroLM的理论动机根植于多个领域的先进理论,包括泛化理论、复杂性分析与随机矩阵理论。研究者们发现,大语言模型的泛化性能与参数数量呈现次线性关系,而模型的复杂度又可以通过矩阵范数来度量,从而揭示出模型容量与学习能力之间的潜在联系。
1. 模型容量与权重统计
在ZeroLM中,模型容量的测度建立在对权重矩阵的谱分解之上。对于某一模块,其代理指标可表示为:
<math xmlns="http://www.w3.org/1998/Math/MathML"> S x i = 1 min ( n , m ) ∑ j = 1 min ( n , m ) σ j 2 S_{x_{i}}=\frac{1}{\min(n,m)}\sum_{j=1}^{\min(n,m)}\sigma_{j}^{2} </math>Sxi=min(n,m)1∑j=1min(n,m)σj2
其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> n n </math>n与 <math xmlns="http://www.w3.org/1998/Math/MathML"> m m </math>m分别表示矩阵的行数和列数, <math xmlns="http://www.w3.org/1998/Math/MathML"> σ j \sigma_{j} </math>σj为第j个奇异值。简单来说,这一指标等价于矩阵Frobenius范数的均值平方,是衡量矩阵"能量"分布均衡程度的一种方式。理论上,未经过训练的权重矩阵若能呈现较为均匀的能量分布,意味着后续在有效学习时可以逐渐集中有限的表示能力,从而提高泛化性能。
在传统方法中,将所有层的权重范数直接相乘或求和容易忽略结构性差异,而ZeroLM则刻意对Transformer的Attention模块与FFN模块进行解耦评估。据研究表明,这两部分对模型的贡献存在显著差异:Attention模块的剪枝会对性能产生更大负面影响,而FFN模块与参数总数之间的相关性往往更强。因此,引入了权重解耦与超参数调节策略,以平衡二者对最终代理得分的影响。
2. 代理得分构造与超参数α
为整合Attention与FFN模块的不同表现,ZeroLM构造了一个加权求和代理得分:
<math xmlns="http://www.w3.org/1998/Math/MathML"> S p r o x y = ∑ l = 1 L α × S a t t n + β × S f f n S_{proxy}=\sum_{l=1}^{L}{\alpha\times S_{attn}+\beta\times S_{ffn}} </math>Sproxy=∑l=1Lα×Sattn+β×Sffn
其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> β = 1 − α \beta=1-\alpha </math>β=1−α。这里的超参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α起到了调控Attention模块相对于FFN模块贡献度的作用。研究中提出了两种优化 <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α的方法:基于真实性能指标的采样校正优化和自参数相关性的启发式计算方法。前者通过从一定规模的架构数据中选取样本,计算Kendall tau相关系数,寻找最优的 <math xmlns="http://www.w3.org/1998/Math/MathML"> α ⋆ \alpha^\star </math>α⋆;后者则直接依据各模块与参数数量及其相互间的相关性构造修正项,从而实现无监督的自我调节。
为了更直观地说明这一过程,下面给出部分关键的公式及步骤:
-
当采用采样校正方法时,从nnn个架构中随机抽取一小组样本,对应真实性能向量 <math xmlns="http://www.w3.org/1998/Math/MathML"> G T = [ g t 1 , g t 2 , ... , g t n ] \boldsymbol{GT}=[gt_{1},gt_{2},\ldots,gt_{n}] </math>GT=[gt1,gt2,...,gtn] 同时计算每个架构对应的Attention与FFN代理得分向量 <math xmlns="http://www.w3.org/1998/Math/MathML"> S A \boldsymbol{S_{A}} </math>SA和 <math xmlns="http://www.w3.org/1998/Math/MathML"> S F \boldsymbol{S_{F}} </math>SF。
-
通过比较不同 <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α下计算出的代理得分与真实性能的Kendall tau相关系数,选择使相关系数最大的两个 <math xmlns="http://www.w3.org/1998/Math/MathML"> α t o p − 1 \alpha_{top-1} </math>αtop−1与 <math xmlns="http://www.w3.org/1998/Math/MathML"> α t o p − 2 \alpha_{top-2} </math>αtop−2,并取平均得到最终的最优超参数:
<math xmlns="http://www.w3.org/1998/Math/MathML"> α ⋆ = 1 2 ( α t o p − 1 + α t o p − 2 ) \alpha^{\star}=\frac{1}{2}(\alpha_{top-1}+\alpha_{top-2}) </math>α⋆=21(αtop−1+αtop−2)
这一过程在零数据情况下仅需要基于权重矩阵的固有统计信息即可实现,极大降低了对数据的依赖和计算资源的消耗。
3. 各模块代理得分的计算流程
传统的代理方法往往使用单一指标(如参数数量或一些剪枝指标)来近似模型性能,但Transformer的复杂性要求更加细粒度的评估。ZeroLM在针对Attention和FFN模块时,分别使用如下策略:
-
对Attention模块,通过对多个子组件(例如Query、Key、Value等)进行 <math xmlns="http://www.w3.org/1998/Math/MathML"> S V D SVD </math>SVD分解,提取各自的奇异值,再求其平均平方和。
-
对FFN模块,类似地计算各层的权重矩阵指标。
最后,按照预设的超参数权重,将二者加权求和,从而形成一个全局的代理评分。下图(图表1)给出了整个计算流程的直观示意:
模块类型 | 计算方法 | 代理得分公式 |
---|---|---|
Attention | 对各子模块进行SVD分解,并计算均方和 | <math xmlns="http://www.w3.org/1998/Math/MathML"> S a t t n = ∑ m o d ∈ A S x S_{attn}=\sum_{mod\in A}{S_x} </math>Sattn=∑mod∈ASx |
Feed-forward | 类似方法,对FFN模块计算指标 | <math xmlns="http://www.w3.org/1998/Math/MathML"> S f f n = ∑ m o d ∈ F S f S_{ffn}=\sum_{mod\in F}{S_{f}} </math>Sffn=∑mod∈FSf |
综合得分 | 调整超参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α与 <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 − α 1-\alpha </math>1−α | <math xmlns="http://www.w3.org/1998/Math/MathML"> S p r o x y = α × S a t t n + ( 1 − α ) × S f f n S_{proxy}=\alpha\times S_{attn}+(1-\alpha)\times S_{ffn} </math>Sproxy=α×Sattn+(1−α)×Sffn |
这种计算方法不仅避免了依赖任何外部数据,同时也在大量实验中证明了其优越的相关性和稳定性。
📊 实验验证:数据与实战较量
1. FlexiBERT benchmark上的表现
在FlexiBERT基准测试中,共采样了500个基于BERT架构的模型,并对其在GLUE任务上的实际表现进行评估。通过使用WikiText-103和OpenWebText作为输入数据,不同代理方法的排名相关性进行了全面比较。结果显示,传统的参数计数方法虽然简单却相当稳健,但大部分其他零成本代理指标(例如头部重要性、激活距离等)在数据切换时表现出较大波动。
ZeroLM的方法在KT(Kendall tau)和SPR(Spearman相关系数)上均超越传统指标,其KT值达到了0.533,SPR则高达0.763,比仅用参数数量计算的代理更具优势。这一现象说明,分解并分别评估Transformer的Attention和FFN模块,可以更准确地反映出模型的潜在性能。
下图(图表2)展示了不同代理在FlexiBERT基准上使用WikiText-103与OpenWebText时的相关性变化趋势,不同指标之间呈现出截然不同的稳定性分布,而ZeroLM始终保持着较为一致的表现。
2. GPT-2 benchmark的挑战
另一组实验选择了GPT-2基准,共采样200个架构,并依据wikitext-103数据集上测试的困惑度(PPL)作为指标。结果表明,在与#Decoder.Params及其他零成本方法比较中,ZeroLM同样展现出极高的负相关性(SPR约为-0.971,KT约为-0.871),仅有少数自动搜索代理方法(如LPZero)能略微接近。这表明,虽然Transformer解耦与代理构造方法略有复杂,但在生成式模型场景中依然能捕捉到性能的真实变化。
3. LoNAS:从对抗攻击到大模型压缩
针对LoNAS-BERT和LoNAS-LLaMA这两种不同的搜索场景,ZeroLM也分别进行实验验证。
对抗攻击场景下,通过使用TextAttack工具包生成各种对抗样本(包括PWWs、TextBugger与TextFooler),ZeroLM在不同攻击方法下均能保持较高的相关性。统计数据显示,无论是标准准确率、对抗准确率、攻击成功率还是准确率下降率,其代理得分与实际模型表现均呈现一致的趋势;而对于LoNAS-LLaMA,则利用搜索代理替代真正的数据评估,大幅降低了搜索代价,使得搜索过程中既能兼顾生成能力又能兼顾计算成本(例如TFlops指标),取得了与传统进化搜索近似的效果。
在一组对比实验中,还将ZeroLM与典型的结构剪枝方法进行比较。从表格(表3)中可以看出,
- 零成本代理方法(ZeroLM)在绝大部分常识推理任务上取得了与进化搜索相近,甚至超越剪枝模型的平均准确率,
- 搜索时间大大缩短,仅需几十分钟,而传统进化搜索往往需要数十甚至数百小时,
- 代理得分的鲁棒性也证明了其在大规模、异构搜索空间中的优势。
⚖️ 讨论:优劣权衡与未来挑战
ZeroLM的诞生为Transformer架构搜索提供了崭新的思路,将不再依赖大规模数据及昂贵训练过程,而完全从模型权重的固有统计出发进行评估。不过,任何方法都有其局限性:
1. 零训练与超参数调节
虽然ZeroLM在"零数据"情况下有效降低了搜索成本,但在确定超参数α\alphaα时,依然需要采用采样校正或启发式算法。实验表明,不同搜索空间中最佳的α\alphaα区域存在差异;例如,在FlexiBERT、GPT-2和LoNAS-BERT上的敏感性就各有不同。这表明未来如何在更加通用的框架下无缝调节该超参数仍需进一步研究。
2. 初始权重随机性问题
由于ZeroLM依赖于随机初始化的权重矩阵,可能会受到初始化噪声的影响。实验中部分零成本指标(如雅可比余弦、头部重要性)对随机性十分敏感,而ZeroLM则表现出更高的稳定性。然而,这种稳定性是否能在更大规模、更复杂的Transformer架构上保持,还有待进一步验证。
3. 零训练NAS与剪枝NAS
在实际应用中,零训练NAS往往与剪枝NAS共同出现。对于后者,模型已预先训练,其权重分布与随机初始化时存在显著差异,因此ZeroLM在这种情况下的代理效果可能会受到影响。实验观察到,在NAS for Pruning场景下,虽然ZeroLM依然具有良好的预测能力,但代理得分的优化空间较小,需针对预训练模型结构进一步调整优化策略。
🔮 未来展望:无数据时代的架构设计新纪元
ZeroLM以其简单、稳定、无需数据输入的特点,给Transformer架构搜索带来了新的可能性。未来该方法可能在以下几个方面得到拓展和提升:
• 融合自动调参算法,进一步消除超参数调节对搜索结果的不确定性;
• 结合更大规模的预训练模型与多任务验证,加速从无数据代理得分到实际下游任务性能的映射;
• 拓展到其他网络架构(如卷积神经网络、图神经网络)的零训练NAS,为神经网络设计提供通用的、数据无关的评价指标;
• 与新一代硬件和算法优化技术结合,降低大规模NAS过程中的计算与能耗代价,实现绿色高效的架构搜索。
可以预见,数据无关度量指标的发展将为未来神经网络设计提供关键支撑,帮助研究者在快速爆炸的模型参数世界里,找到一条既高效又经济的寻路之道。
结论
ZeroLM提出了一种突破传统的、依赖海量数据和长时间训练的Transformer架构搜索方法,其核心创新在于将模型权重的固有统计特性用于代理模型的实际性能,并通过解耦Attention和FFN模块,利用超参数α\alphaα进行灵活平衡。经过在FlexiBERT、GPT-2和LoNAS方法中的详尽实验验证,ZeroLM不仅在排名相关性上超越了传统代理方法,还在计算效率和资源利用方面展现出显著优势。尽管当前方法仍存在超参数调节与预训练模型适应性等问题,但其为神经架构搜索领域开启了全新的无数据时代,预示着未来架构设计或将大幅降低对数据和计算资源的依赖。
无论是构造更高效的自然语言处理模型,还是在更广泛的深度学习领域中进行架构创新,ZeroLM无疑都为我们提供了一把打开黑盒的钥匙,指引着我们探索更为智能和高效的未来。
附录:部分关键公式与实验示意
- 模型容量指标公式
<math xmlns="http://www.w3.org/1998/Math/MathML"> S x i = 1 min ( n , m ) ∑ j = 1 min ( n , m ) σ j 2 S_{x_{i}}=\frac{1}{\min(n,m)}\sum_{j=1}^{\min(n,m)}\sigma_{j}^{2} </math>Sxi=min(n,m)1∑j=1min(n,m)σj2 - 综合代理得分构造
<math xmlns="http://www.w3.org/1998/Math/MathML"> S p r o x y = ∑ l = 1 L α × S a t t n + ( 1 − α ) × S f f n S_{proxy}=\sum_{l=1}^{L}{\alpha\times S_{attn}+(1-\alpha)\times S_{ffn}} </math>Sproxy=∑l=1Lα×Sattn+(1−α)×Sffn - 超参数采样校正公式
<math xmlns="http://www.w3.org/1998/Math/MathML"> α ⋆ = 1 2 ( α t o p − 1 + α t o p − 2 ) \alpha^{\star}=\frac{1}{2}(\alpha_{top-1}+\alpha_{top-2}) </math>α⋆=21(αtop−1+αtop−2) - 各模块代理得分评价流程如表所示:
模块 | 计算方式 |
---|---|
Attention | 对各子模块(Query、Key、Value等)进行 <math xmlns="http://www.w3.org/1998/Math/MathML"> S V D SVD </math>SVD分解,取奇异值平方均值计算 |
FFN | 对全连接权重矩阵执行同样的 <math xmlns="http://www.w3.org/1998/Math/MathML"> S V D SVD </math>SVD分解及Frobenius范数计算 |
综合得分 | 加权求和得到: <math xmlns="http://www.w3.org/1998/Math/MathML"> S p r o x y = α S a t t n + ( 1 − α ) S f f n S_{proxy}=\alpha S_{attn}+(1-\alpha)S_{ffn} </math>Sproxy=αSattn+(1−α)Sffn |
📚 参考文献
- Zoph, B., & Le, Q. V. (2016). Neural architecture search with reinforcement learning. arXiv preprint arXiv:1611.01578.
- Pham, H., Guan, M., Zoph, B., Le, Q. V., & Dean, J. (2018). Efficient neural architecture search via parameters sharing. In International Conference on Machine Learning, PMLR.
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention is all you need. Advances in neural information processing systems, 30.
- Kaplain, J., McCandlish, S., Henighan, T., Brown, T. B., et al. (2020). Scaling laws for neural language models. arXiv preprint arXiv:2001.08361.
- Dong, P., Li, L., Liu, X., et al. (2024). LPZero: Language model zero-cost proxy search from zero. In EMNLP (Findings).