17 天前

知识注入解码

Ruibo Liu, Guoqing Zheng, Shashank Gupta, Radhika Gaonkar, Chongyang Gao, Soroush Vosoughi, Milad Shokouhi, Ahmed Hassan Awadallah
知识注入解码
摘要

预训练语言模型(LMs)已被证明能够从预训练语料库中记忆大量知识;然而,在给定特定上下文时,它们在回忆事实性正确知识方面仍存在局限。因此,在知识密集型自然语言生成(NLG)任务中使用时,这些模型往往会产生与事实不符或虚构的生成内容。针对这一问题,近期的解决方案主要集中在修改预训练目标或任务微调目标,以融入知识信息,但这类方法通常需要额外的昂贵训练过程或对模型架构进行修改,难以在实际应用中高效部署。本文提出一种新型解码算法——知识注入解码(Knowledge Infused Decoding, KID),该算法能够动态地在生成式语言模型的每一步解码过程中注入外部知识。具体而言,KID基于当前上下文维护一个局部知识记忆,并与一个动态构建的外部知识Trie结构进行交互,通过强化学习持续更新该局部记忆,将其作为具备知识感知能力的约束条件来引导解码过程。在六个多样化的知识密集型NLG任务上,采用KID的通用任务无关模型(如GPT-2和BART)的表现超越了多种任务优化的先进模型,在少样本场景下相较于七种相关知识注入技术展现出尤为突出的性能。人工评估进一步验证了KID在生成与输入上下文更相关、更符合事实的语言方面优于多个基线方法。此外,KID还能有效缓解暴露偏差(exposure bias)问题,并在生成长序列时保持稳定的生成质量。KID的代码已开源,可通过以下链接获取:https://github.com/microsoft/KID。