如今,大语言模型已经成为机器翻译任务(Machine Translation)上的新型强大工具。 然而,多数在机器翻译大语言模型(MT-LLM)上开展的研究工作都是句子层面的,每一句话都被独立进行翻译,从而忽视了在翻译文档翻译(Document-Level)场景下句子间可能存在的逻辑关系。
此外,大语言模型在推理框架中是一个独立、封闭的个体,仅能被动地接收外部输入的信息并进行处理,同时还具有上下文容量上的局限性,因此难以胜任诸如长文本处理、文档翻译之类的复杂任务。
今天介绍的论文来自哈尔滨工业大学(深圳)计算与智能研究院和腾讯WeChat AI。 这篇论文提出了一种名为DelTA(Document-levEL Translation Agent)的基于多级记忆组件的文档翻译智能体。 DelTA通过使用专有名词记录、双语摘要和长短时记忆等多级记忆机制,对文档中不同范围、不同粒度及不同形式下的关键信息进行提取、存储和检索,以辅助翻译过程的进行。 这种创新架构不仅能够提升文档翻译的质量,还能够显著改善翻译结果的上下文一致性,以及避免大语言模型在翻译整篇文档时可能造成的句子漏译现象。
-
论文标题:DelTA: An Online Document-Level Translation Agent Based on Multi-Level Memory
-
论文地址:https://arxiv.org/abs/2410.08143
-
代码地址:https://github.com/YutongWang1216/DocMTAgent
动机
我们可以使用一种朴素的方法来利用大语言模型进行文档翻译,即利用大语言模型自身的上下文建模能力,一次性对文档中一个窗口内的多句话进行翻译。 随后窗口后移,再进行下一批句子的翻译。 窗口遍历完整篇文档后,将所有译句连接起来形成最终的译文文档。 然而,这样的方法会面临以下两个方面的挑战:
1. 翻译的一致性
在文档中,通常存在着许多包括人名、地名、术语在内的专有名词。 当源文档中的某个专有名词两次出现的位置不在同一个翻译窗口中时,大语言模型有可能会对其采取不同的翻译结果。 例如:上文中,大语言模型将“Natalia Rybczynski”这一人名翻译为“娜塔莉亚·雷布琴斯基”,而后文中却翻译为“娜塔莉亚·丽琴斯基”。 这样的不一致性无疑会对读者造成很大的困扰,严重影响到文档翻译的可靠性。
有的同学可能想到,可以通过增大模型的翻译窗口解决这一问题。 然而这一做法有以下两个局限性: 1)大语言模型的上下文容量终究有限,当待翻译的文档长度超过其容量时,一致性问题依然存在; 2)翻译准确性问题,即接下来要介绍的第二方面挑战:
2. 翻译的准确性
当我们使用较大的窗口大小进行文档翻译时,大语言模型倾向于将输入的源句子作为连贯的文档而不是单独的句子进行处理。因而可能忽略掉每个句子中的细节信息。 这可能导致源文档中部分句子没有被翻译,进而无法得到和源文档句子级对齐的翻译结果。 此外,过大的翻译窗口还可能影响到翻译的质量。
本论文通过实验对以上的挑战进行了展示。 本论文提出的LTCR-1指标计算了文档出现的所有专有名词中,翻译同第一次出现时采用的翻译保持一致的实例的比例。 如下图所示,随着翻译窗口大小(Window)的不断增加,虽然一致性指标在不断上升,但同时会造成漏译句子数量(#Missing Sents)的增多,翻译质量指标sCOMET和dCOMET也呈下降的趋势:因此,本论文构建了一个文档翻译智能体,通过设计一个多级的记忆组件,来对文档中不同范围、不同粒度及不同形式下的关键信息进行提取、存储和检索,以辅助翻译过程的进行,对文档翻译的一致性和翻译质量进行提升。 同时,采用逐句翻译的方式来解决句子漏译的问题,同时节省内存开销,降低系统部署的成本。
方法
本论文提出了一个名为DelTA的基于多级记忆的文档翻译智能体。 这一智能体包含了如下四个记忆组件:专有名词记录、双语摘要、长时记忆和短时记忆。 由大语言模型负责对这些记忆进行更新和检索。
1. 专有名词记录(Proper Noun Records)
当DelTA在文档翻译过程中首次遇到某个新专有名词时,该记忆组件将会记录这一专有名词及其对应的翻译。 在翻译后续的句子时,DelTA会查找专有名词记录以检查当前句子中是否包含任何以前已经遇到过的专有名词。 如果包含,DelTA会使用记录中存储的相同翻译来确保翻译的一致性。 专有名词记录由一个基于大语言模型的组件——专有名词提取器进行维护。 在每个句子翻译完成后,该提取器都会提取句中潜在的新专有名词。
2. 双语摘要(Bilingual Summary)
不同于以往研究中仅使用单个摘要的做法,考虑到文档翻译任务横跨两种语言的特性,本研究拟采用双语摘要作为第二层记忆,以应对源端和目标端都包含大量语句的挑战。我们在整个翻译过程中维护一对摘要,通过概括文档先前翻译部分的主要内容、领域信息以及风格和语气信息以提高准确性和流畅度。 这对摘要由两个基于大语言模型的组件生成,即源摘要编写器和目标摘要编写器。
智能体每翻译m个句子便对摘要进行一次更新,这一更新过程包含两个步骤:第一步,编写器为源文本和目标文本中刚刚翻译过的m个句子各生成一个段落摘要。第二步,将这一对段落摘要与两端已有的总体摘要合并以生成新的总体摘要。这一过程将会一直重复,直到源文档中的所有句子都已被翻译。这一结构化的方法确保本文中的智能体能够持续地对上下文信息和文档风格等进行访问以增强源端与目标端之间、句子与句子之间的连贯性,从而显著提高翻译质量。
3. 长时记忆(Long-Term Memory)和短时记忆(Short-Term Memory)
本发明开发的智能体的最后两层记忆分别是长时记忆和短时记忆。这两个组件旨在获取不同时间区间中的相关信息来辅助翻译的进行,从而解决文档翻译任务中对于连贯性的需要。 短时记忆中保存了最后k个源句及其相应的翻译,其中k的取值相对较小。 该组件专门负责捕获与当前待翻译源句相邻的句子中的即时上下文信息,然后将其作为翻译当前句子时的演示示例。
相反,长时记忆组件通过维护一个源文档中最后l个句子的窗口来提取范围更广的上下文,其中l远大于k。在翻译给定的源句之前,需要由基于大语言模型的组件长时记忆检索器选择与当前源句相关性最高的m个句子作为翻译提示中的演示示例。 通过结合长时和短时记忆,我们的智能体可以获取不同时间范围内的上下文信息,同时使得翻译内容和风格保持一致,从而更加精确和高质量的翻译。
4. 文档翻译器(Document Translator)
本论文使用一个基于大语言模型的翻译器来负责最终的翻译工作。 我们在其翻译的提示内加入上述的多级记忆信息,以支持翻译器的推理过程。 逐句翻译的方法可确保生成的目标文档与源文档在句子水平上对齐,从而有效地将目标译句缺失的风险降至最低,并带来更准确的翻译结果。
DelTA翻译文档总体过程的算法表示见下图:
实验结果
本论文在文档翻译测试集IWSLT 2017(英汉、英德、英法、英日互译)和Guofeng V1(中译英)上进行了测试,并对比了三种基线方法: 1)Sentence:朴素的句子级翻译; 2)Context:由Adapting large language models for document-level machine translation提出,为当前源句提供最近翻译过的三个源-译句对作为额外的上下文信息; 3)Doc2Doc:由Document-level machine translation with large language models提出,每轮对话对文档中的十句话进行翻译,之前的翻译结果作为后续对话中的历史信息。
IWSLT 2017和Guofeng的测试结果分别如下面两个表所示。 DelTA在四个主干模型和两个测试集上,相比与三个基线方法均取得了明显的翻译一致性和翻译质量提升。 值得注意的是,Guofeng由于是由网络小说构成的语料数据,其内包含了更多的专有名词(主要是人名),因此在翻译一致性指标上更加具有挑战。 但本论文提出的方法在这一测试集上依然获得了较高的一致性,证明了DelTA的有效性和鲁棒性。
分析
1. 消融实验
从简单的句子级翻译方法起始,当提供上下文句子时(模型2),系统的翻译质量有所提高,但翻译一致性没有显著增长。 长时记忆的引入有助于提高翻译的一致性(模型3),使得LTCR-1增加了2.22个百分点。 加入双语摘要(模型6)使得COMET分数和一致性分数均有所增加。 当引入专有名词记录时(模型7),sCOMET和dCOMET得分略有下降,这可能是额外信息引起的扰动造成的。 然而,翻译一致性却因此显著提高,LTCR-1比模型6增加了3.95个百分点。 此外,与仅使用源端或目标端摘要相比,双语摘要对翻译质量和一致性的影响明显更大。 在模型4、5和6中,使用了双语摘要的模型6在所有指标中均获得了最高分数。
2. 长跨度下维持更高的一致性
DelTA在不同跨度的两处专有名词出现位置下均能保持较高的翻译一致性。 在两次出现位置的跨度超过50句话时,DelTA依然能够获得明显高于其他三种基线方法的分数。 这证明了DelTA在长篇幅文档翻译时仍然能够表现出出色的一致性性能。
3. 更精准的代词翻译
代词翻译精度也是衡量文档翻译质量的一项重要指标。 翻译模型需要利用文档中包含的上下文信息对源语言中的代词进行正确消歧,才能准确地对源语言中的代词翻译成另一种语言。 实验表明DelTA能够获得比几种基线方法更高的APT(Accuracy of Pronoun Translation)分数,证明其能够更加有效地建模上下文信息,以对文档翻译过程进行辅助。
4. DelTA作为一种摘要生成工具
除文档翻译之外,长文本处理的另一项重要任务是摘要生成(Summarization)。 DelTA中的摘要组件通过一个双过程的摘要生成方法,迭代式地对文本摘要进行更新。 实验表明,这样的摘要生成方法也能够运用在基于请求的摘要生成(Query-Based Summarization)任务上。 摘要组件不断读入文档,在摘要生成器大模型的提示中加入请求信息,便可以根据用户的特定需求生成任意文档的摘要。 本实验在QMSum测试集上将DelTA与A human-inspired reading agent with gist memory of very long contexts中的系统进行了对比,结果证明了DelTA中摘要组件的高效性。
5. 更少的显存消耗
DelTA采用逐句的方式对文档进行翻译,前文中的关键信息都被提取并存储在记忆组件中。 相比于Doc2Doc基线方法中将所有历史翻译信息都进行保存的方法,我们的方法能够有效避免因信息积累导致的内存爆炸问题。 我们对比了两种方法随翻译句子数量增加所消耗的内存变化。 Doc2Doc方法在翻译到490句话时耗尽了所有显存,而DelTA占用的显存仅仅由于摘要长度的增加而随翻译过的句子数量缓慢增加。 由此可见,DelTA更加适合长篇幅文档的翻译,并且部署的成本更加低廉。
未来展望
DelTA智能体提升了文档翻译任务中的一致性和翻译质量,但也因对大语言模型的频繁调用而具有较长的运行时间。 在未来工作中,可以尝试对部分基于大语言模型的组件进行替换以提升效率,例如将长时记忆检索器替换为基于句向量匹配机制的稠密检索器(Dense Retriever)。 也可考虑减少对大语言模型的调用次数,例如将摘要生成的步骤优化为一步,以及使用更加智能的方式判断何时使用智能体的各个组件。
读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用
对于0基础小白入门:
如果你是零基础小白,想快速入门大模型是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。
包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓
👉AI大模型学习路线汇总👈
大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉大模型实战案例👈
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉大模型视频和PDF合集👈
观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费
】🆓