2023|用于特定领域机器翻译的大语言模型微调
摘要:大型语言模型(LLM)在机器翻译(MT)领域取得了重大进展。然而,它们在特定领域MT中的潜力仍有待探索。当前基于LLM的MT系统仍然面临一些挑战。首先,对于具有上下文学习的LLM,它们的有效性对输入的翻译示例高度敏感,处理它们会增加推理成本。由于生产过度,它们通常需要额外的后处理。第二,对特定领域数据进行微调的LLM通常需要高的领域适应训练成本,并且可能由于过度专业化而削弱LLM的零样本MT能力。上述方法可能难以在域迁移场景中翻译稀有单词。为了应对这些挑战,本文提出了一种面向提示的微调方法,称为LlamalT,以有效和高效地微调用于特定领域MT任务的通用LLM。首先,我们构建了一个特定于任务的混合域数据集,然后使用该数据集对具有LoRA的LLM进行微调。这可以消除对输入翻译示例、后处理或过度专业化的需要。通过零样本提示指令,我们在推理时将MT任务调整到目标域。为了进一步激发稀有单词的机器翻译能力,我们通过结合特定领域的双语词汇来构建新的提示。我们还在公开的和自行构建的数据集上进行了广泛的实验。结果表明,我们的LlamalT可以显著提高LLM的领域特定MT能力,同时保持其零样本MT能力。
1、引言
在大量未标记语料库上预训练的大型语言模型(LLMs)已显示出在少量学习中表现非常出色,这也使得机器翻译(MT)任务能够通过提示来实现,尽管它们并未明确为MT任务训练[Brown等人,2020年;Winata等人,2021年;Chowdhery等人,2023年]。然而,它们在特定领域MT的潜力仍未充分探索。图1显示了Llama-7B[Touvron等人,2023年]在中文到英文MT任务中,通过直接使用特定任务的提示(这些提示是通过用描述性任务指令重述输入来构建的),在三个指标chrF++ [Popović, 2015年]、COMET [Rei等人,2022年] 和 BLEU [Papineni等人,2002年] 上的结果。我们使用了两个通用领域数据集Flores-101 [Goyal等人,2022年] 和 OPUS-100 [Zhang等人,2020年] 以及两个特定领域数据集IT [Koehn和Knowles, 2017年] 和 Science [Tian等人,2014年] 来评估模型。结果显示,预训练的Llama2-7B在特定领域的MT表现远不如在通用领域。
为了提高大型语言模型(LLMs)的特定领域机器翻译(MT)能力,目前的研究可以分为两大类。一些研究通过向LLM提供特定领域的翻译示例作为示范,采用上下文学习的方式,为LLM提供额外的上下文[Brown等人,2020年;Vilar等人,2023年;Moslem等人,2023a年;Zhang等人,2023年]。这可以提高MT的质量,并使其更符合领域风格和术语,无需进行微调。然而,它们的有效性高度依赖于翻译示例的质量,并且通常需要额外的后处理以解决过度生成的问题。图2展示了一个由预训练LLM生成的低质量翻译输出,导致了过度生成。另一方面,其他研究则对LLM在特定领域数据上进行微调 [Wei等人,2022a; Moslem等人,2023b],以提高它们针对领域适应的MT能力。在图2中,经过微调的LLM产生的翻译输出质量远高于预训练的LLM。然而,尽管在大量数据上进行了训练,它们在翻译含有罕见词汇的输入时可能仍会遇到困难,这些罕见词汇在领域转移场景中很常见。它们可能由于过度专业化而削弱了通用MT能力。现有工作还存在一些效率问题 [Alves等人,2023年]:(i) 上下文学习带来了推断成本,由于处理额外的上下文而大大增加;(ii) 微调解决方案需要为特定领域进行多次额外训练,导致高训练成本。
为了应对挑战,本文提出了一种新颖的面向提示的微调方法,名为LlamaIT,用于针对特定领域的机器翻译(MT)任务对通用大型语言模型(LLM)进行微调。我们利用直观认识,即可以通过自然语言指令描述MT任务,例如:“Translate the following Chinese sentence into English: 左挂耳板到主板的左挂耳连接器(J6081)的低速信号线缆”。我们使用自构建的跨领域翻译数据集,在预训练的LLM上执行指令调整,这些数据集通过自然语言指令表达。为了引出对罕见词汇的MT能力,我们进一步通过改写源句子来增强数据集,以包含特定领域的词汇,如“左 mounting ear plate 到 main-board 的左挂耳 connector (J6081)的低速信号线缆”。我们的主要贡献总结如下:
- 为了消除在上下文示例或后处理中的需求(见图5),我们在特定任务的混合领域数据上对通用大型语言模型(LLM)进行了微调,这些数据通过翻译指令进行描述,以增强LLM在推理时的领域适应的机器翻译(MT)能力。在混合领域数据上的训练可以修复LLM在通用领域的零样本MT能力(见表4)。这也自然避免了由于处理输入翻译示例而增加的推理成本。
- 我们在预训练的大型语言模型(如Llama2-7B)上使用LoRA进行了面向提示的微调,这可以减少训练参数的数量,从而降低模型微调的成本(见表5和表6)。
- 我们通过将特定领域的双语词汇加入到输入源句子中,构建了额外的翻译提示,这大大提高了大型语言模型(LLM)在罕见词汇上的机器翻译(MT)能力(见表3)。
- 通过全面的实验,结果显示我们的LlamaIT能够显著提升LLM在目标领域中包含罕见词汇时的机器翻译(MT)能力,无论是中文到英文还是英文到中文的MT任务都是如此(见表4)。
2、背景与相关工作
当前基于大型语言模型(LLM)的机器翻译(MT)系统可以分为两大类:上下文内学习和基于微调的方法。上下文内学习通过向语言模型提供额外的上下文来提高其MT能力,无需进行微调[Brown等人,2020]。已有的研究采用了类似的方法来探索上下文的不同设置,如零样本和少样本示例。有几项研究专注于通过自然语言描述MT任务来测试LLM的MT能力(零样本示例)[Brown等人,2020;Winata等人,2021;Reynolds和McDonell,2021;Lin等人,2022;Scao等人,2022;Zhang等人,2022;Garcia和Firat,2022]。例如,Reynolds等人[Reynolds和McDonell,2021]测试了用于GPT-3 [Brown等人,2020]的不同提示模板,而Garcia等人[Garcia和Firat,2022]使用mT5 [Xue等人,2021]的提示来控制输出。其他研究探讨了确定适当示例以增强LLM的MT能力的提示策略[Chowdhery等人,2023;Vilar等人,2023;Moslem等人,2023a;Agrawal等人,2023;Zhang等人,2023;Jiao等人,2023b;Hendy等人,2023]。尽管取得了适度的进展,这些方法存在几个缺点:(i)它们的有效性高度依赖于示例的质量(见表1);(ii)由于过度生成,需要额外的后处理(见图2);(iii)处理示例可能会增加推理成本[Alves等人,2023]。
在标记的特定领域数据中,微调可以作为一种改善LLM的机器翻译(MT)能力的替代方法(Wei et al., 2022a; Moslem et al., 2023b; Li et al., 2023; Alves et al., 2023; Schioppa et al., 2023; Iyer et al., 2023; Jiao et al., 2023a; Xu et al., 2023)。现有研究通过两种方式加强了通过LLM训练的MT:预训练和微调。例如,Schioppa等人(Schioppa et al., 2023)对一个LLM进行了预训练,以提高其零样本(zero-shot)MT能力;而Li等人(Li et al., 2023)对LLM进行了针对翻译指令的微调。最近的一项研究(Reinauer et al., 2023)调查了预训练或微调几种典型的神经MT模型(Farajian et al., 2017; Bulte and Tezcan, 2019; Xu et al., 2020),通过与LLM的上下文学习进行比较来适应特定领域。报道称微调方法优于少样本提示,且无需上下文示例或后处理(Alves et al., 2023)。然而,它们通常需要在特定领域进行额外训练的高计算成本,并可能由于过度专业化而削弱LLM的通用MT能力。
尽管在大量数据上进行了训练,这两组方法在领域转换场景中翻译含有罕见词汇的输入时可能仍会遇到困难(Ghazvininejad et al., 2023)。因此,一些研究专注于使用特定领域的词汇在低资源环境下提供翻译(Lu et al., 2023; Ghazvininejad et al., 2023; Moslem et al., 2023c),或者使用启发链式思考的提示,诱导模型本身提供上下文示例(Wei et al., 2022b; Lu et al., 2023)。例如,Ghazvininejad等人(Ghazvininejad et al., 2023)将附加词典融入到零样本示例中,而不需模型训练,而Wei等人(Wei et al., 2022b)使用了几个作为提示示例的链式思考演示。然而,这些方法仍然受到与上下文学习方法相同的缺点的困扰。
本文充分利用了上述两组方法的优势,提出了一种使用LoRA的面向提示的微调方法,对通用LLM进行针对特定任务的混合领域数据微调,这些数据通过词典级特定领域的提示进行了增强。我们专注于探索微调和零样本提示对适应LLM执行特定领域MT任务的影响。
3、面向提示的LLM微调
我们提议对一个预训练的大型语言模型(LLM)进行微调,以适应从零样本模型预训练数据到目标领域的域迁移。我们的方法概述如图3所示。首先,我们介绍如何生成特定领域的数据。然后,我们展示如何通过使用翻译指令的零样本提示来构建特定任务的数据集。该数据集通过整合特定领域的双语词汇进一步增强,并输入到我们的LlamaIT中,用于对预训练的LLM进行以提示为导向的微调,从而增强其在特定领域机器翻译(MT)任务中的能力。我们选择Llama2-7B作为预训练模型,该模型是开源的且具有商业可行性[Touvron等,2023]。其分词器使用字节对编码算法,该算法由SentencePiece实现[Kudo和Richardson,2018]。由于其零样本能力,我们选择了未经额外指令微调的Llama2-7B基本版本。为了节省模型训练成本,我们采用了LoRA,这是一种为LLM资源高效微调而设计的技术[Hu等,2021]。它利用低秩矩阵来表示参数更新,从而减少了可训练参数的数量、GPU内存使用量,并且不增加额外的推理成本,使其成为微调LLM的实用选择。
3.1 特定领域数据生成
手动标注大规模特定任务数据非常困难,因为这需要专业知识来编写每个任务的解决方案。因此,我们开发了一个自建管道,用于生成高质量的双语翻译对。在我们的工作中,我们选择 IT 领域作为案例研究,而我们的方法可以轻松应用于其他领域。我们首先从一些知名 IT 公司的官方网站上收集约 100,000 份 IT 产品文档,其中一半是中文,另一半是英文。然后,我们将文档语义地分割成文本句子,并依次对齐每对双语句子。为了确保翻译数据的高质量,我们采用具有零次学习能力的大型语言模型(LLM)来验证翻译对。对于每对句子,我们使用中文句子根据我们设计的提示模板(见表 1)创建翻译指令,并直接将其输入到 Baichuan-13B [杨等人,2023a] 进行翻译推断。然后使用返回的结果与我们生成的对中的英文句子计算 BLEU 分数。对于 BLEU 分数较低且未超过给定阈值(本文将此值设为 10,没有一般性损失)的对,我们生成的对需要专家的手动验证。由于手动注释成本高昂,我们在这项工作中直接丢弃了这些对。因此,低质量和重复的对被移除,最终得到 200,000 对高质量的中英文 IT 领域翻译对。我们将这个自建的特定领域数据集命名为 XFIT24-ORI。
3.2 零样本提示与指令
直接在 XFIT24-ORI 数据集上微调大型语言模型(LLM)可以使其机器翻译(MT)能力适应特定领域。然而,报告显示其在机器翻译任务中的效果有限,因为它可能难以在没有指令调整的情况下响应翻译指令 [Wei 等人,2022a]。因此,需要构建一个通过自然语言指令描述的特定任务数据集。我们进行了广泛的实验,探索了7种广泛使用的机器翻译指令模板,如表1所示。我们观察到提示性能在不同模板之间存在变化,特定任务的模板主要在翻译到大型语言模型预训练的语言时有效。一个简单形式的英文模板,如“Translate the following [src] sentence into [tgt]: [input]”,对机器翻译效果最好。特别地,我们采用这个模板重写 XFIT24-ORI 中所有翻译对的源句,并将结果任务特定数据集命名为 XFIT24-TSI。在 XFIT24-TSI 数据集上微调大型语言模型可以通过零样本提示大大增强其机器翻译能力。
通常,预训练的大型语言模型(LLMs)在预训练期间已经获得了一定程度的跨语言表征能力。通过微调,我们可以为特定领域的翻译任务精炼这些能力。因此,零样本提示是一种简单但有效的解决方案。在微调过程中,该方法引入了明确的翻译指令来指导大型语言模型执行目标领域的具体翻译任务。例如,使用一个简单的零样本提示模板:“Translate the following [src] sentence into [tgt]: [input]”,目标设置为训练语料库中的正确翻译。在训练过程中,模型根据指令和输入生成相应的翻译输出,并通过计算生成输出与目标之间的损失来优化训练。
3.3. 基于字典的提示
在特定领域的机器翻译任务中,存在许多特定术语(单词或短语),这些术语在常见环境中很少出现,从而导致了大型语言模型(LLMs)面临的罕见词问题。为了解决这个问题,我们进一步扩充了 XFIT24-TSI 数据集,通过改写源句子来整合特定领域的双语词汇,这增强了大型语言模型在低资源环境下提供翻译的能力。
我们构建了一个包含324,785个双语词汇术语的特定领域字典,用于信息技术领域。为了整合这些词汇,我们探索了两种方法:链式字典法(Chain-of-Dictionary)使用几个链式思考示例作为提示中的示范[Wei et al., 2022b],而字典重述法(Dictionary-Rephrasing)则直接将词汇纳入零样本示例中,无需模型训练[Ghazvininejad et al., 2023]。以中文到英文的翻译任务为例,输入的中文句子通过简单地替换字典中存在的特定术语,用它们的目标英文翻译来改写。这也导致了混合语言的输入,用于大型语言模型(LLM)。如图4所示,XFIT24-TSI数据集中的一个源句子为“Translate the following Chinese sentence into English: 左挂耳板到主板的左挂耳连接器(J6081)的低速信号线缆”,被改写为新的源句子“左 mounting ear plate 到 mainboard 的左挂耳 connector(J6081)的低速信号线缆”。特别地,我们为XFIT24-TSI中的所有翻译对改写源句子,并将结果数据集命名为XFIT24-TSID。在XFIT24-TSID数据集上微调大型语言模型可以通过基于字典的提示增强其对稀有词汇的机器翻译能力(见表3)。
到目前为止,我们已经构建了一个专门针对特定任务和领域的数据集,用于微调大型语言模型(LLMs),以增强它们在包含罕见词汇的领域特定机器翻译(MT)任务中的能力。然而,这种方法可能会由于过度专业化而削弱它们的通用机器翻译能力。为了解决这个问题,我们进一步通过整合几个公开可用的混合领域数据集来增强我们的数据集,包括UM-Corpus [田等人,2014年]和OPUS-100 [张等人,2020年]。我们将最终的特定任务混合领域数据集命名为XFIT24。我们观察到,在混合领域数据上的训练可以修复大型语言模型在通用机器翻译中的零样本翻译能力(见表4)。
4、实验
4.1、实验设置
我们在中文→英文和英文→中文的翻译方向上评估了提出的方法。本文在混合领域翻译数据集上训练模型。我们使用Llama2-7B作为实验的主要支撑模型,并通过在特定任务的混合领域数据集上进行微调来评估特定领域的机器翻译性能。对于基于提示的翻译预测,我们采用了一种简单形式的英文模板。
数据集:为了进行微调,我们使用了自建的数据集 XFIT24,它包含了 IT 领域的翻译数据(见第3.1节)。该数据集主要由来自公开可用数据集的10,000对英汉翻译对和200,000对自建翻译对组成。我们使用来自 Flores-101 [Goyal et al., 2022] 和 OPUS-100 [Zhang et al., 2020] 的两个通用领域数据集,以及 IT [Koehn and Knowles,2017] 和 XFIT24 的两个领域特定数据集进行翻译推理。对于前三个数据集,我们使用原论文中的测试数据集。在进行微调之前,我们从 XFIT24 中随机选择3,000对领域特定的翻译对作为测试集,使用剩余的对进行大型语言模型(LLM)的训练。
评估指标。我们采用了三种广泛使用的评估指标,即基于字符的指标chrF++ [Popović, 2015],基于词的指标BLEU [Papineni等人, 2002],以及基于参考的指标COMET [Rei等人, 2022]来评估模型。
在微调实验中设置如下:学习率为3e-4,每设备训练批大小为2,权重衰减为0.00001,预热比率为0.01。为了高效训练,我们使用了Deepspeed和Flash-Attention加速框架来进行LoRA的微调,LoRA的等级设置为16。所有实验都是在4个RTX 3090上进行训练,并使用2个A6000 GPU。
4.2、关于机器翻译任务的微调效果
为了评估对机器翻译任务进行微调的效果,我们使用XFIT24测试集,通过重新措辞输入并附加翻译指令来进行测试。这些指令被输入到预训练的以及微调过的Llama2-7B模型中,以生成输出。我们在图5中展示了生成输出的token长度。我们观察到:(i) 经过微调的模型生成的输出的长度分布与目标分布相匹配;(ii) 预训练模型可以生成除了所需翻译之外的额外上下文,这需要对生成的内容进行后处理。这些发现表明,经过微调的模型不再过度生成翻译输出,从而避免了对生成内容进行后处理的需要。
4.3、指令模板对机器翻译任务的影响
我们通过使用监督学习来进行提示导向的微调,教授大型语言模型(LLM)执行通过自然语言指令描述的任务,LLM将学习遵循机器翻译(MT)任务的指令。因此,指令模板直接影响LLM的性能。研究以下有趣的问题很重要:(i)哪种模板应该用于零样本提示,以及(ii)哪种语言的模板更适合提示?我们比较了7种模板,并在覆盖两种语言对(英语→中文和中文→英语)的XFIT24数据集上进行评估。表1显示了结果。模板对零样本提示的质量有显著影响,简单的模板A(用英语指定仅源语言和目标语言名称)取得了最佳的整体结果。因此,我们在后续实验中使用模板A。表1还显示了中文模板的提示结果,这些结果通常不如其英文对应物。总体而言,英文模板平均表现最佳。
4.4、基本结果
为了探索原始语言模型在未针对特定领域进行微调的情况下的机器翻译(MT)性能,我们对经过模板A改写指令的XFIT24测试集进行了评估。我们选择了两个监督基线模型,包括NLLB [Costa-juss`a等,2022]和Google1(谷歌翻译器),以及八个大型语言模型(LLM),包括Llama2-7B,BLOOM-7B [Scao等,2022],百川2-7B [杨等,2023a],PolyLM-13B [魏等,2023],BigTranslate [杨等,2023b],Aquila2-7B2,InterLM-7B [团队,2023]和ChatGPT3.5。表2显示了结果。我们观察到:(i)在特定领域的MT任务中,LLM的性能不如传统的监督方法如谷歌那样令人印象深刻。其中,ChatGPT 3.5表现最佳;(ii)传统的监督方法的MT能力超过了LLM。仅凭6亿参数,NLLB就超过了大多数7B模型。同样,基于监督模型的谷歌实现了最佳结果;(iii)LLM中的模型参数规模对翻译质量有显著影响。例如,拥有130亿参数的PolyLM在所有指标上都大幅超过其他7B模型。
尽管具有更大规模参数的模型表现更好,但由于计算和资源成本过高,它们并非实际的选择。因此,我们专注于对具有7B参数的模型进行微调以进行改进。
4.5、基于词典的提示策略用于机器翻译
我们应用了两种基于词典的提示方法,如第3.3节详细介绍的,分别用于增强XFIT24TSI的词汇信息。注意,我们从数据集中移除了混合领域数据,以纯粹评估基于词典的提示策略的效果。我们使用这两种方法对Llama2-7B模型进行了微调,并评估了它们在XFIT24测试集上的表现。表3显示了结果。词典改述方法在两个翻译方向上优于词典链方法。结果还突出显示了基于词典的提示对LLMs在特定领域MT任务中能力的积极影响。
4.6、在特定领域对大型语言模型(LLM)进行微调和机器翻译(MT)
如第3.1节详述,我们选择了英文描述的指令模板A来生成输入指令,并采用词典改写策略来重写我们数据集中的输入。为了修复LLM的零样本能力,我们进一步整合了几个公开的通用领域数据集,以生成最终的XFIT24数据集进行评估。我们使用来自两个通用领域数据集Flores-101和OPUS-100以及两个特定领域数据集IT和XFIT24的测试数据集。表4显示了我们的LlamaIT在特定领域MT任务上显著优于基础Llama2-7B的结果。结果还表明,细微调整可能会降低LLM在通用领域的MT能力,如Flores-101的结果所示,而将数据集与通用领域数据混合可以修复这一能力,如OPUS-100的结果所示。
4.7、效率
我们的LlamaIT方法通过对微调的实验展示了时间效率的优势。在我们的LlamaIT中,采用了LoRA技术来通过减少参数加速训练。我们将LoRA与全参数微调进行了比较,这是在一个20,000规模的翻译数据集上进行的,记录了参数和平均训练时间。表5的结果显示,LoRA实现了大约10倍的加速,显著减少了验证时间。我们进一步验证了我们的LlamaIT在使用零次提示下比使用1次提示和少次提示方法节省了更多的训练时间(表6)。这表明,采用LlamaIT能有效地管理训练时间成本,为实验验证和模型训练提供了一个经济可行的选择,同时保持了效率。
4.8、案例分析
为了进一步探索各组件对翻译能力的影响,我们进行了一个案例研究。图6显示了结果。基于这个例子中的翻译输出,三种不同的精调模板有效地传达了原句的意义,但在领域特定术语上有轻微的差异。对于无字典方法,翻译省略了“mounting”这个词。链字典(Chain-of-Dictionary)方法将“mounting earplate”翻译为“装耳板”。尽管结果看似正确,这表明像“挂耳板”意味着“mounting ear plate”的提示有时并不影响大型语言模型的翻译输出。可能的原因是模型可能难以理解长文本,从而导致无法捕获某些词的提示信息。字典改写(Dictionary-Rephrasing)方法通过在提示输入中直接嵌入词语的相应翻译,可以准确翻译领域特定术语。
5、结论
通过充分利用微调和上下文学习的优势,本文提出了一种以提示为导向的微调方法(使用LoRA),称为LlamaIT,以有效且高效地微调通用大型语言模型(LLM)用于特定领域的机器翻译(MT)。我们选择Llama2-7B作为基础模型(需要指出的是,我们的方法可以直接应用于其他LLM),并在通用和特定领域的四个数据集上进行了全面的实验以评估我们提出的方法。我们观察到:(i)提示模板的选择对翻译有重大影响;(ii)在特定任务数据上对LLM进行微调可以显著提高LLM的MT能力,并消除对上下文示例的需求,避免过度生成;(iii)在混合领域数据上训练可以增强LLM的特定领域MT能力,并保持其高零次射击MT能力;(iv)通过简单地改述源句子来整合领域内词汇的翻译提示,其性能优于使用思维链示范的方法。
关于源码上门取算法码上到
源码上门取算法码上到是一个有趣有AI的自然语言处理公众号,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括多模态大语言模型、大模型、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!
欢迎关注我的公众号“源码上门取算法码上来”,原创技术文章第一时间推送。