在一篇于2024年3月12日发表的论文中,来自赫尔辛基大学、Silo AI和英伟达的研究者引入了MAMMOTH,这是一个旨在简化大规模多语言模块化机器翻译(MT)系统训练的工具包。
研究人员解释说,在大型语言模型(LLMs)时代,趋势倾向于使用大规模的“单片”模型,由于其大量的参数,这些模型需要大量的数据来有效地训练。然而,由于数据稀缺和巨大的财务和生态成本,这一趋势是不可“持续”的。
多语种自然语言处理(NLP),扩展性方面的挑战是显而易见的。扩展多语言模型以覆盖多种语言通常会导致性能下降,因为模型处理多种语言的能力有限。另一方面,增加整体模型大小以解决扩展性问题,受到硬件、可用数据和训练算法效率的限制。
为了应对这些扩展性挑战,研究人员提出了模块化作为解决方案。模块化包括将神经网络分解和组织成更小的、独立的和可互换的模块(即部件),这些模块可以执行特定的任务。这些模块仅在需要时激活,通过专注于必要的内容,使系统更加高效。根据研究人员的说法,这种方法是设计更小的子网络和具有专门功能的组件的必要步骤。
什么是模块化?
模块化的概念基于两个主要思想:稀疏性强制和条件计算。稀疏性允许网络在训练期间变大,但在推理期间变精简,通过仅激活必要的模块来提高效率。条件计算根据任务要求在网络中路由信息,通过仅使用必要的模型参数来优化不同场景的性能。
简单来说,想象一下从一种语言翻译成另一种语言。为了有效地做到这一点,您将使用受过源语言训练的特定编码器和受过理解目标语言训练的解码器。
编码器已经从源语言的数据中学习,但是它可以处理到各种目标语言的翻译。
解码器也是如此——它可以解释不同的源语言。模块的动态选择确保在翻译过程中只有该特定语言对的必要部分处于活动状态,从而使翻译过程更快、更准确。如果一个模块——在这种情况下是一种语言——与手头的特定翻译任务无关,就好像它被关闭了,以避免不必要的计算。
总的来说,模块化通过减少不必要的计算和关注相关参数,导致更有效的推理。它还提高了网络的可解释性,使其更容易理解每个参数对特定任务的贡献。
此外,模块化架构有助于设计可重用的神经网络组件,这些组件可以组合起来适应新任务,而无需大量的再训练,从而提高了灵活性和多功能性。
可扩展性和多语种性
尽管模块化有很多好处,但一个重大挑战仍然存在:缺乏一个被广泛接受且易于访问的框架来设计和管理这种模型。正如研究人员所强调的,尽管有几个用于培训的开源框架神经机器翻译(NMT)系统,它们中没有一个明确地将模块化作为主要目标。
MAMMOTH工具包可以通过为训练模块化编码器——解码器系统提供一个全面的框架来弥补这一差距。研究人员强调,建立在OpenNMT-py库(一个用于训练NMT模型的可定制库)的基础上,“MAMMOTH是第一个共同解决可扩展性、多语言性和模块化问题的开源工具包”。
研究人员展示了MAMMOTH工具包在NVIDIA GPUs集群上运行时的有效性,特别是A100和V100型号,这些型号以其高计算能力而闻名,通常用于深度学习任务。研究人员感谢芬兰英伟达人工智能技术中心在整个项目中的贡献和支持。
MAMMOTH工具包在GitHub上公开提供,鼓励开发人员和研究人员为工具包的开发做出贡献。
机器翻译,轻度译后编辑,仅供参考。
编辑:陈驭格