标题:A Study Of Data Selection Strategies For Pre-Training Self-Supervised Speech Models

链接:https://arxiv.org/pdf/2601.20896

作者单位:Avignon Universit´e、University of Cambridge、Universit´e Grenoble Alpes

发表日期:2026 年 1 月 28 日

开源地址:论文中说最终定稿版会有代码,目前暂未提供

说明:Accepted to ICASSP 2026

这篇论文主要聚焦“自监督学习(SSL)语音模型预训练时,怎么选数据才能兼顾性能和效率”这个问题。毕竟现在SSL虽然把语音处理(比如ASR)的效果提得很高,但一直依赖海量预训练数据,这成了瓶颈——大家总觉得“数据规模大、多样性高就好”,但数据分布到底咋影响效果,之前没太搞明白。所以作者团队就系统测试了不同的数据选择策略,结果发现了不少反常识的结论,还给出了更高效的方案。

01、引言:为啥要做这个研究?

首先得明确SSL语音模型的现状:它先通过“自监督预训练”(用输入数据自己生成伪标签训练),再用少量人工标注数据微调,就能在ASR等任务上达到SOTA效果。但问题是,这些模型都很大(比如12层以上Transformer),训练要花巨多内存、时间和数据——像Google USM、Xeus这些模型,预训练甚至要几百万小时语音(相当于几百年音频)。
之前研究都在怎么优化模型架构、简化预训练目标、改进评估方法,但“怎么选预训练数据”这块儿没怎么挖深。所以作者团队就想填补这个空白,专门测试“无监督数据选择策略”:一类是“追求多样性”(从声学、说话人、语言特征入手选数据),另一类是“看语音长度”(选最长的语音片段),看看哪类策略能让ASR效果更好。

02、相关工作:之前大家都做了啥?

作者分两部分梳理了前人研究,主要是为了凸显自己的研究价值:
1. SSL语音模型的“效率优化”

之前大家想让SSL模型更高效,主要走了三条路:

  • 简化预训练框架:比如BEST-RQ用“随机投影量化器”+简单交叉熵损失,比wav2vec 2.0(用学出来的码本+对比损失+多样性损失)简单多了;还有人用预训练好的模型生成更高质量的embedding当训练目标,既提效又提性能。
  • 改进模型架构:比如简化声学特征提取器——Whisper只用2层卷积处理mel滤波器组,而不是像之前那样用7层卷积处理原始音频;还有用更高效的结构替代多头自注意力,或者用知识蒸馏缩小模型 size。
  • 优化评估方法:比如通过SSL模型生成的embedding的“排序”来判断预训练质量,不用等训练完再测。
但这些方法都没碰“数据选择”,所以作者要补这个缺口。
2. 语音模型的数据选择
之前的数据选择研究主要有两类,跟作者的思路不一样:
  • 主动学习:选“最需要标注”的数据(比如模型预测信心低的语音),目的是减少标注成本,针对的是全监督ASR模型,不是SSL的预训练。
  • SSL专属数据选择:选“和下游任务领域像”的数据(比如下游要处理电话语音,就选预训练里像电话语音的数据),但作者想找的是“通用的预训练数据特性”——不管下游任务是啥,选这类数据都能让模型效果好。
还提到了Berrebbi等人的研究,他们测了“说话人数量”和“音频时长”的影响,但有局限:只用了不到1000小时数据,还需要说话人标签;而作者的研究不用说话人标签,数据规模直接拉到2.5万小时,更贴近实际场景。

03、实验方法:具体怎么做的?

这部分是核心,作者把“数据、选择策略、训练设置”都讲得很细,确保结果能复现:
1. 用什么数据?
选了 Loquacious数据集——这是个商用友好的英文语音库,总共2.5万小时,数据类型特别全(有朗读的、即兴的、对话式的,还有干净和带噪音的),很适合测试“不同数据特性的影响”。具体拆分:
  • 预训练用两种规模:“中量级”(2500小时)、“大量级”(25000小时);
  • 微调ASR模型用“小量级”(250小时)——目的是看不同预训练数据,对最终ASR效果的影响。
2. 数据选择策略:分3类,还有2个基线
首先定了两个baseline,用来对比:
  • 全量基线(All):用所有预训练数据(比如中量级就用2500小时);
  • 随机基线(Random):随机选50%的预训练数据(比如中量级选1250小时)。
然后是作者重点测试的两类策略:
(1)追求多样性的采样:声学、说话人、语言3个维度
先给每个语音片段(utterance)提取对应特征,再用k-means聚类,最后“分层采样”(确保每个聚类都有数据,不被大聚类霸占),总共选50%的数据:
  • 声学特征:用13维MFCC,加上一阶、二阶导数,最后平均成39维向量;
  • 说话人特征:用WeSpeaker模型+pyannote提取256维的speaker embedding(能区分不同说话人的特征);
  • 语言特征:用SENSE模型(支持多语言、跨语音和文本的模型)提取1024维向量,代表语音的语义内容。
聚类的k值也定好了:中量级数据集k=150,大量级k=200,还保证每个聚类至少选1个样本,避免小聚类被忽略。
(2)看语音长度的采样:2种方式
  • 纯长度策略(Length):直接选所有语音里“最长的50%”;
  • 说话人+长度策略(Speaker+Len):先按说话人特征聚类(和上面多样性的说话人聚类一样),再从每个聚类里选最长的语音,最后凑够50%——因为 preliminary实验发现,说话人多样性稍微有点用,所以把两者结合试试。
3. 训练细节:确保公平对比
所有模型的训练参数都统一,只变“预训练数据子集”:
  • 预训练框架:用BEST-RQ(效率高、效果好,还开源),模型是12层Conformer,隐藏层640维,8个注意力头,前馈网络2048维,总参数约100M;
  • 硬件:NVIDIA A100 GPU,8张卡一起训;
  • Batch处理:动态批处理(把长度相近的语音放一起,每GPU的batch最大800秒,8张卡总共约1.77小时/Batch);
  • 训练步数:所有模型都训20万步,用动态分块(dynamic chunking)模拟流式和非流式场景,最后测非流式ASR效果;
  • 微调:ASR微调用SpeechBrain脚本,用前馈神经网络+CTC损失,词汇量是1024个BPE token;
  • 统计可靠性:用1000次bootstrapping算95%置信区间,确保结果不是偶然的。

04、实验结果:最意外的是“长度比多样性重要”

主要结果如下,作者总结了3个关键结论:
1. 多样性策略没啥用,甚至不如随机
不管是声学、说话人还是语言维度的多样性采样,效果都没比随机基线好多少:

  • 中量级数据集:比如声学策略(MFCC)的测试WER是19.98,比随机基线的19.82还高;说话人策略19.72,只比随机好一点点,但不显著;
  • 大量级数据集:只有说话人策略的测试WER是17.97,比随机基线18.54显著好(p<0.05),但还是不如全量基线的18.08。
简单说:花功夫搞多样性,不如随便选50%数据。
2. 长度策略碾压所有基线,还更高效
不管是中量级还是大量级,“选最长语音”的效果都比全量、随机好,甚至“说话人+长度”还能再提一点:
  • 中量级:纯长度策略测试WER 19.02,比全量基线19.39低(p<0.05),比随机基线19.82低更多;说话人+长度18.97,比纯长度还略好一点;
  • 大量级:纯长度策略17.77,比全量基线18.08低(p<0.05);说话人+长度17.42,是所有策略里最好的,比随机基线18.54低了1.12个点!
效率也提升了:中量级数据集各策略时间差不多,但大量级里,长度策略的预训练时间只要200小时,比全量基线的263小时少了24%——因为长语音的batch里样本少,每步计算成本低,训得更快。
还有个额外发现:作者的所有SSL预训练模型,都比之前用“250小时全监督训练”的模型效果好(之前全监督的dev WER是22.3),说明SSL预训练确实有用,而且他们的数据选择策略还能放大这个优势。
3. 长语音和微调数据分布差异大,却效果好
下图是“语音长度分布的箱线图”,左边3个是“微调数据”(小量级250小时),右边是各种“预训练数据子集”:

  • 微调数据的语音长度大多在5-10秒;
  • 而效果最好的两个预训练子集(Length和Speaker+Len),语音长度中位数约15秒,均值超15秒,和微调数据的分布差异最大;
  • 其他子集(比如随机、MFCC、说话人)的语音长度都在5-10秒,和微调数据分布更近,但效果反而差。
这打破了一个常规认知:大家之前觉得“预训练数据要和微调数据分布像才好”,但这里恰恰相反——长语音虽然分布不一样,却能让模型学更有用的特征。

05、讨论与结论:核心发现是“长度比规模、多样性更关键”

作者推测,长语音效果好的原因可能是:长语音有“更丰富的上下文”,或者包含“更有挑战性的学习信号”,能让模型学到更通用的语音表示——不过具体原因还需要后续研究验证。
总结一下这篇论文的核心贡献:
  • 首次系统对比了“多样性”和“长度”两类无监督数据选择策略,发现之前被忽视的“语音长度”才是关键;
  • 用50%的长语音数据,就超过了全量数据的效果,还把大量级预训练时间减少24%,既提性能又提效率;
  • 打破“预训练数据要和微调数据分布匹配”的认知——长语音虽然分布差异大,但效果更好;
  • 方法不用说话人标签,数据规模到2.5万小时,更贴近工业界实际场景,代码还开源了(最终定稿版本会给链接)。
未来方向:进一步研究“长语音为啥好”,还有这个结论能不能用到其他SSL语音模型(比如wav2vec 2.0)或其他数据集上。