INTERSPEECH2024 | 迈向无需复习低遗忘的语音识别模型微调:基于LoRA和Whisper的探究

文摘   科技   2024-08-26 09:30   陕西  
当前,大模型受到了工业界和学术界的青睐。如何更好的利用这些预训练的大模型就成为了一个重要研究方向。现在的预训练的模型虽然取得了很好的效果,但是在应用的场景的效果往往需要进一步微调才能得到令人满意的效果。然而在微调的过程中,往往产生在原来领域上的效果下降,这个现象被称为灾难性遗忘。如何避免灾难性遗忘成为一个重要的研究问题。

在关于持续学习的工作中,图像识别的占大多数,而以语音识别背景进行的研究则要少得多[1][2]。现存的研究大多对所有的任务在一个共同的矢量空间中直接对模型的隐藏层进行梯度更新。近期在自然语言处理领域研究提出了一个很有潜力的替代方案,在训练新的任务的时候,将新的样本的损失梯度投射到和过去样本的梯度子空间的垂直方向,在过度参数量的神经网络中进行学习,就可以避免与过去损失函数的冲突,进而规避了灾难性遗忘的问题。

近期,西工大音频语音与语言处理研究组(ASLP@NPU)的论文“Towards Rehearsal-Free Multilingual ASR: A LoRA-based Case Study on Whisper”被语音领域旗舰会议Interspeecch 2024接收。该论文提出了在基于LoRA参数的无需复习“Rehersal free”领域迁移方案,引入了一个可学习的秩系数来提升训练效率。在一个用中文微调的Whisper模型上对维吾尔语和藏语进行迁移实验,以更小的参数量获得了更好的性能。本文将对该文章进行简要的解读。

论文标题:Towards Rehearsal-Free Multilingual ASR: A LoRA-based Case Study on Whisper
作者列表:徐天翼,黄凯勋,郭鹏程,周瑜,黄龙涛,薛晖,谢磊

论文预印版:https://arxiv.org/abs/2408.10680

相关链接:NPU-ASLP实验室14篇论文被Interspeech2024 录用

发表论文截图

扫码直接看论文

背景动机

以Whisper为代表的预训练的多语言语音识别模型已经达到了很好的效果。但在将这些模型迁移到新的特定语上需要消耗大量算力并且有灾难性遗忘的问题。为解决这两个问题,我们探究了保持原有语种的性能的同时,进行新语种微调的策略。特别地,为了减少训练所需算力,我们的研究首先对比了多种基于LoRA(Low Rank Adaptation)的PEFT(Parameter Efficenet Finetuning)方法的效果,以及它们各自受的灾难性遗忘现象影响的程度。为了解决灾难性遗忘问题,我们利用原始模型的LoRA参数近似原始模型的梯度空间,来对新的样本进行正交梯度下降优化。同时,我们还引入了一个可学习的秩系数来提升训练效率。我们的实验在一个用中文微调的Whisper模型上对维吾尔语和藏语进行迁移,以更小的参数量获得了更好的性能。

我们的方案有以下几大优点。i)无需复习(Rehersal-free):由于隐私原因,我们无法获得原始模型训练所使用的数据,因此我们需要根据原始模型的参数进行继续学习。ii) 参数量小:我们需要继续学习过程中使用的参数量远小于原始模型。iii) 无需任务id:我们需要继续学习的模型无需在任务id来帮助它将原始领域的测试样例和新的领域的测试样例进行区分。

问题定义

首先,我们对多语种ASR模型的领域迁移的问题进行定义。假设有个一初始模型 ,在一个数据集上进行了Lora训练,随后的继续学习在的基础上进行,并且希望保持的能力,而不再可以使用。之后,我们有一系列有标签的不同语种数据集  ,供后续的多语种微调训练,由训练得到的模型被称作 。 是所有子集的数量,而的大小远远小于。使用进行复习训练或者使用重新训练需要很大的训练代价。

对于一个好的继续学习模型,在每一个时间步,我们希望它有如下特性:

  1. 在之前的任务上没有下降: 在 上得到比相同或更好的效果。

  2. 在新的任务上有更好的效果:在 上得到比更好的效果。

  3. 和在所有数据上进行训练的模型取得相当的效果:得到和从头使用  数据进行训练的模型取得相当的效果。

  4. 低开销: 需要的训练开销远小于使用  重新对模型进行训练。

方案

模型结构与传统LoRA方案对比如图1所示。我们利用原始模型的LoRA参数近似原始模型的梯度空间,来对新的样本进行正交梯度下降优化。

图1 整体结构图

正交梯度下降

我们的方法基于 O-LoRA [3]。O-LoRA 在固定之前任务的 LoRA 子空间参数的情况下,增量地学习新的任务,方向与之前的 LoRA 子空间正交。对于每个任务,我们引入一组新的 LoRA 参数,表示为其中     并且秩 r ≪ min(d, k). 我们近似第i个任务的参数更新的子空间的列向量所形成的子空间。为了确保子空间 U 和子空间 W 之间的正交性,我们需要满足:
   
因此,实现任务 i 和任务j之间的LoRA子空间 的正交性可被表示为:
  
为了使得模型保持这种正交性,我们加入一个正交损失函数:
  
其中  表示矩阵中第 j 行第 k 列的元素。
最终我们的训练目标定义为:
  

其中是正交损失的权重。在训练过程中,我们固定之前的 LoRA 参数 {  } to以减轻对过去知识的遗忘。我们将 LoRA 应用于和 的注意力权重。虽然 LoRA 参数的数量随着训练过程中任务数量的增加而增长,但我们可以将对应于 LoRA 参数的更新合并到初始参数中,以避免 GPU 内存膨胀。

动态参数分配

因为在神经网络中,不同的地方所需要的参数量可能并不相同, 在模型调整过程中,某些权重矩阵的优先级应该更高。然而,传统的 LoRA(Low-Rank Adaptation)方法给所有权重矩阵分配一个统一的等级,这并没有考虑到权重的相对重要性可能会根据上下文发生变化,从而可能导致性能下降。为了解决这个问题,AdaLoRA []引入了一种对权重重要性敏感的动态等级分配方法。AdaLoRA 对原始 LoRA 机制进行了两项关键改进:首先,它采用了基于奇异值分解(SVD)的参数化策略来表示增量更新项  为:
  

其中,  和  包含  的左/右奇异向量。表示单位矩阵。{  }被约束为正交矩阵。对角矩阵   包含r奇异值,并且    。

其次,在适应过程中,AdaLoRA 会动态地为其更新矩阵{  }分配总体秩预算。这是通过在每个梯度更新步骤后迭代屏蔽掉不太重要的奇异值来实现的。并且基于参数敏感度来衡量模型参数的重要性,通过参数的灵敏度的排序,迭代地更新第j 个权重矩阵 的第 k 个三元组  {  }的重要性。非零的作为秩系数来控制所分配的秩预算。为保障子空间和子空间 W之间的正交性,也就需要保证:
  
总训练目标就可以表示为
  

其中 λ1 和 λ2 是正则化系数,在实验中均设置为0.5。由于在前向运算之前合并所有 {  } 矩阵,在数学上等同于单独计算每一个矩阵。因此额外的计算开销较小。通过将与 LoRA 参数相对应的更新合并到与 LoRA 参数相对应的更新可以合并到初始参数中,从而减少额外的内存使用。

实验

实验配置
数据集:对于中文,我们使用WenetSpeech[4]和Aishell[5]进行模型训练,使用Aishell测试集进行测试。对于维吾尔语,我们使用commonvoice Dataset 15.0[6]和THUYG-20[7]作为训练数据, 使用THUYG-20作为测试集。对于藏语,我们使用 TIBMD[8]和XBMU-AMDO31[9]作为训练数据,使用XBMU-AMDO31进行测试,我们未对TIBMD中方言进行进一步区分。我们没有使用数据集中提供的字典,而是使用Whisper 的规则进行编码。对于藏语和维吾尔语数据,我们发现Whisper模型在进行推理时会生成罗马化的单词,而非语种原本的写法。因此推测Whisper训练时对这些语种进行了罗马化。为了与Whisper 本身的训练不冲突,我们使用了uroman[10]工具,对抄本进行了罗马化,随后的训练与测试都是针对罗马化的文本进行的。对于其中的标点,均在抄本中去除。由于Whisper中本身不含有维吾尔语的语种标签,我们使用了与其语族相近的乌兹别克语标签。由于开源的藏语,维吾尔语数据较少,我们各使用了约100小时的内部数据集。最终各语种详细的数据来源如表1所示。

表1 使用的数据集

实验配置:我们使用huggingface的PEFT进行所有的实验。Whisper的base和large模型参数量分别为74M和1550M。对于PEFT模型,我们对{  }矩阵进行低秩更新。我们使用的配置如下:(1)对于LoRA,O-LoRA对,矩阵的秩  (2)对于Adalora,O-AdaLoRA对{  }矩阵进行低秩更新,矩阵的秩  的矩阵的目标秩为8。参考[13]对于PEFT模型学习率在第一个任务取1e-3,随后取1e-4。对于全量finetune的学习率为1e-5。由于Whisper将语音输入pad到30秒,占用了较多的显存,我们使用  。对于正交损失系数  使用128的累计梯度。对中文的评估指标是CER,对罗马化后的藏语和维吾尔语的评估指标是WER。

实验结果

与其他方案的对比

我们针对 5 种基准方法对 O-LoRA 和 O-AdaLoRA 进行了评估。由于我们研究的是无需复习和无任务标识的方法,因此未对比 A-GEM [14] 这样需要复习的的方法和类似[12]基于适配器的方法。我们与以下方法进行了比较。(1) SeqFT(顺序微调):依次对所有任务进行全面微调。依次对所有任务进行微调。(2) SeqLoRA(顺序 LoRA微调):用不同语言的数据依次训练固定的 LoRA 矩阵不同语言的数据来训练一个固定的 LoRA 矩阵,每训练完一种语言,就合并一次 LoRA 矩阵。(3) LwF(Learning without forgetting)[11]:这是一种基于正则化的方法,在学习新任务之前,约束共享表征层与其原始状态相似。新任务。(4) Multi(多语言微调):使用混合数据集进行训练。语言数据集同时进行训练。(5) 单语(单语微调):通过 AdaLoRA 使用来自不同语言的数据集对单独的Whisper模型进行微调。
表2 各种方法在维吾尔数据集上微调的结果(WER/CER%),N/A代表模型无法正确转录出该语言,即错误率>100%

表3 在Whisper-large-v2 进行中文数据集微调的结果(CER%)

探索传统微调的局限性

我们首先研究了在 Whisper 中添加一种新语言(维吾尔语)的可能性,采用了各种不同规模的基线方法:全参数微调、LoRA、AdaLoRA 和冻结编码器在 LLM 适应性中看到的方法。我们用维吾尔语组成的数据集对不同大小的 Whisper 模型进行了微调。本实验关注的语言是汉语和维吾尔语。我们用 Thuyg-20 测试维吾尔语的性能增益。使用 Thuyg-20 测试维吾尔语的性能提升,同时使用 Aishell-1和一个内部中文测试集测试汉语的性能下降。结果详见表 2。较小的 Whisper 模型对灾难性遗忘的容忍度较低,基础模型识别的是Aishell-1 数据集识别为维吾尔语。一个更具挑战性的数据集对灾难性遗忘更为敏感、因为遭受灾难性遗忘的 Whisper 模型仍能仍能将 Aishell-1 转译成中文,但内部中文数据集却被转译成维吾尔语。冻结编码器策略的好处是用较少的可训练参数实现了类似的 WER。虽然冻结编码器策略的好处是以较少的可训练参数实现了类似的 WER,但它对添加新语言时出现的灾难性遗忘现象并没有显著改善。

正交子空间学习的有效性

接下来评估了正交方法的有效性。我们使用 一个LoRA 训练的中文模型作为初始模型。结果如表 3 和图 2 所示。尽管拥有最多的可训练参数,但我们发现全模型微调方法的性能最差。我们推测这可能是由于我们的数据集远远小于用于训练 Whisper 的 68 万小时数据,因此模型难以收敛。LoRA 模型的结果略逊于 AdaLoRA。我们推测这可能与 [13] 的研究结果有关。该文发现在微调过程中,应比  拥有更多可训练参数。

我们利用这个经过中文微调的的 Whisper-large模型对灾难性遗忘现象进行了进一步研究。在对中文数据进行了 20,000 步的初始训练后,我们又使用各种方法对维吾尔语和藏语数据集各进行了 5,000 步的额外训练。图 2 显示了 WER/CER 的变化。

尽管 Whisper 的论文指出,混合语言训练可能会比单一语言训练更有效,但我们发现三个单语言模型的性能都优于多语言模型。我们猜想这种出现这种差异的原因是我们的数据集没有 Whisper 的那么大,而且 LoRA 矩阵没有学习到跨语言整合知识的能力。基于正交梯度的O-LoRA 方法大大减少了灾难性遗忘问题,顺序微调和顺序LoRA微调在藏语微调后的最终中文,在藏语微调后的 WER 超过 30%。并优于LwF 的表现、最终中文 WER 更(22.82% 对 12.35%)。我们的O-AdaLoRA 加快了模型收敛速度,参数大小更小(3.47% 对 1.36%),并取得了更低的 WER(53.62% vs 50.45%)。
图2 不同方法在语种迁移后的错误率变化

总结

本文从继续学习视角,以正交梯度下降方案将Whisper预训练模型应用于维吾尔语和藏语语音识别。我们首先探究了多种微调方案以及它们对之前任务产生的遗忘问题。之后,我们验证了模型的Lora矩阵可以用来指导后续的继续学习,同事使用一个可学习的秩矩阵来动态分配训练参数来提高总体性能。这让完全无法获得预训练数据的基座模型进行避免本来任务的遗忘的微调成为可能,提高了模型的可重复使用性。

参考文献

[1] S. Vander Eeckt and H. Van Hamme, “Using adapters to overcome catastrophic forgetting in end-to-end automatic speech recognition,” in ICASSP 2023-2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2023, pp. 1–5.
[2] M. Yang, I. R. Lane, and S. Watanabe, “Online continual learning of end-to-end speech recognition models,” in Interspeech 2022, 23rd Annual Conference of the International Speech Communication Association, Incheon, Korea, 18-22 September 2022, H. Ko and J. H. L. Hansen, Eds. ISCA, 2022, pp. 2668–2672.
[3] X. Wang, T. Chen, Q. Ge, H. Xia, R. Bao, R. Zheng, Q. Zhang, T. Gui, and X. Huang, “Orthogonal subspace learning for language model continual learning,” in Findings of the Association for Computational Linguistics: EMNLP 2023, Singapore, December 6-10, 2023, H. Bouamor, J. Pino, and K. Bali, Eds. Association for Computational Linguistics, 2023, pp. 10 658–10 671.
[4] B. Zhang, H. Lv, P. Guo, Q. Shao, C. Yang, L. Xie, X. Xu, H. Bu, X. Chen, C. Zeng et al., “Wenetspeech: A 10000+ hours multidomain mandarin corpus for speech recognition,” in ICASSP 2022-2022 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2022, pp. 6182–6186.
[5] H. Bu, J. Du, X. Na, B. Wu, and H. Zheng, “Aishell-1: An opensource mandarin speech corpus and a speech recognition baseline,” in 2017 20th conference of the oriental chapter of the international coordinating committee on speech databases and speech I/O systems and assessment (O-COCOSDA). IEEE, 2017, pp. 1–5.
[6] R. Ardila, M. Branson, K. Davis, M. Kohler, J. Meyer, M. Henretty, R. Morais, L. Saunders, F. M. Tyers, and G. Weber, “Common voice: A massively-multilingual speech corpus,” in Proceedings of The 12th Language Resources and Evaluation Conference, LREC 2020, Marseille, France, May 11-16, 2020, pp. 4218–4222.
[7] A. Roze, S. Yin, Z. Zhang, D. Wang, and A. Hamdulla, “Thugy20: A free uyghur speech database,” in NCMMSC’15, 2015.
[8] Y. Zhao, X. Xu, J. Yue, W. Song, X. Li, L. Wu, and Q. Ji, “An open speech resource for tibetan multi-dialect and multitask recognition,” International Journal of Computational Science and Engineering, vol. 22, no. 2-3, pp. 297–304, 2020.
[9] J. N. Senyan Li, Guanyu Li, “XBMU-AMDO31:An open source of Amdo Tibetan speech database and speech recognition baseline system,” in National Conference on Man-Machine Speech Communication,NCMMSC2022, 2022.
[10] U. Hermjakob, J. May, and K. Knight, “Out-of-the-box universal Romanization tool uroman,” in Proceedings of ACL 2018, System Demonstrations, F. Liu and T. Solorio, Eds. Melbourne, Australia: Association for Computational Linguistics, Jul. 2018, pp. 13–18.
[11] R. Aljundi, F. Babiloni, M. Elhoseiny, M. Rohrbach, and T. Tuytelaars, “Memory aware synapses: Learning what (not) to forget,” in Proceedings of the European conference on computer vision (ECCV), 2018, pp. 139–154.
[12] S. Vander Eeckt and H. Van Hamme, “Using adapters to overcome catastrophic forgetting in end-to-end automatic speech recognition,” in ICASSP 2023-2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2023, pp. 1–5.
[13] W. Liu, Y. Qin, Z. Peng, and T. Lee, “Sparsely shared lora on Whisper for child speech recognition,” arXiv preprint arXiv:2309.11756, 2023.
[14] M. Yang, I. R. Lane, and S. Watanabe, “Online continual learning of end-to-end speech recognition models,” in Interspeech 2022, 23rd Annual Conference of the International Speech Communication Association, Incheon, Korea, 18-22 September 2022, H. Ko and J. H. L. Hansen, Eds. ISCA, 2022, pp. 2668–2672. 





欢迎关注ASLP实验室微信公众号,获取更多语音研究相关资讯!

“打造最开放、最前沿、最落地的人工智能实验室”


音频语音与语言处理研究组
发布关于音频语音与语言处理研究组的最新研究成果、技术分享、新闻动态和活动等。
 最新文章