©PaperWeekly 原创 · 作者 | BNDSBilly

研究方向 | 自然语言处理

Background

ICLR 2021 的一篇文章提出了基于 KNN 方法的机器翻译(kNN-MT),可以将 kNN 方法添加到现有的神经机器翻译模型(NMT)上,从而进一步提升推理表现。该方法帮助当时的 SOTA 德语-英语翻译模型提升了 1.5 BLEU 分数,并且还可以适应跨领域及零样本传输。

本次要分享的论文则是针对 kNN-MT 推理速度过慢的不足,提出了蒸馏方法(kNN-KD)。从而在保持 kNN-MT 表现的情况下,将推理速度提升到了与一般 NMT 模型推理速度相当的水平。

论文标题:

Nearest Neighbor Knowledge Distillation for Neural Machine Translation

收录会议:

NAACL 2022

论文链接:

https://arxiv.org/abs/2205.00479

Methods

2.1 kNN-MT

KNN-MT 方法有两个步骤:

1. Datastore creation:

根据训练集每一条样本离线构建的键值对组合,如下公式所示。其中 表示样本的源语言句和目标语言句, 为翻译过程中第 步时已经推理出来的文本, 表示第 步需要推理的目标语言 token。 表示 经过模型 decoder 编码得到的高维向量。

2. Generation:

推理阶段的每一步时,首先根据 NMT 模型给出下一个 token 的输出概率 ,然后根据 kNN 方法给出下一个 token 的输出概率 ,最终的输出概率为 。

kNN 输出概率如下:按照构造 Datastore 的方式,根据当前的测试样本先构建当前步骤的 key,然后遍历 Datastore 找到 距离最近的 个结果,将其距离进行一系列操作后,转化为对应 value 的输出概率,如下图所示:

在一般训练 NMT 模型时,通常使用 模型预测结果 和 grount-truth 的交叉熵(CE)进行训练。但在自然语言中,一个句子通常有多种表达,如果模型预测出一个合理但偏离 grount-truth 的词,CE损失也会将其视为错误并惩罚模型,导致模型泛化性变差,这就是所谓的 overcorrection 而在 KNN-MT 中,在解码阶段综合考虑了其他可能的合理解释,在一定程度上缓解了该问题,所以表现有了明显提升。

2.2 kNN-KD

针对 kNN-MT 推理速度很慢的劣势,本文作者提出了 kNN-KD 方法,步骤如下:

1. Datastore creation:与 kNN-MT 相同

2. Distillation:

对于教师模型,在训练前针对每一条训练样本的每一步骤,都按照类似 kNN-MT 中的方法输出下一 token 的生成概率 。

对于学生模型,针对每一条训练样本的每一步骤,都正常输出下一 token 的生成概率 。

训练过程中,蒸馏损失为教师模型和学生模型表现的交叉熵:

最终的训练损失即为:

3. Generation:在最终的推理阶段,就不需要再进行 kNN 搜索了,只要按照正常的 NMT 模型进行翻译即可。

KNN-KD 的整体工作流如下图所示:

Experiments

3.1 Setup

本文使用 IWSLT'14 德语-英语(De-En,160k 训练样本)、IWSLT'15 英语-越南语(En-Vi,113k 训练样本)和多域翻译数据集(De-En,733k 训练样本)进行了实验。使用 tst2012 作为验证集,使用 tst2013 作为测试集,分别包含 和 个句子。

本文所提出的 kNN-KD 是一种无架构方法,可应用于任意 Seq2Seq 模型,可以与其他提升性能的工作同时应用。因此,作者主要将 kNN-KD 与 kNN-MT 以及一些典型的 KD 方法进行比较,包括但不限于 Word-KD、Seq-KD、BERT-KD 和 Selective-KD 等。

实验中所有算法都利用 pytorch 中的 fairseq 工具包实现,在 个 NVIDIA GTX 1080Ti GPU 上进行。实验模型选取 层 Transformer。对于 IWSLT'14 和 IWSLT'15 模型,配置 embedding size 为 ,feed-forward size 为 ,attention heads 为 。针对跨领域数据集,配置 embedding size 为 ,feed-forward size 为 ,attention heads 为 。

作者提前对 和 (归一化温度)进行了网格搜索,并选取了验证集上的最佳 BLEU 分数对应的超参数 ,如下表所示,其中 表示 Datastore 中数据个数:

3.2 Results

在 IWSLT 数据集上的实验结果如下表所示,KNN-KD 超过了所有其它强 baseline,比 Transformer 取得了 和 的 BLEU 分数提升。

在跨领域数据集上,kNN-KD 同样超过了其他 baseline,如下表所示。在各领域中,kNN-KD 均可以超过 kNN-MT 的表现,且推理速度显著提升。

同样,作者也进一步研究了 kNN-KD 的泛化性:在特定领域训练了一个 NMT 模型,并在 out-of-domain 的测试集上进行了测试,实验结果如下表所示,kNN-KD 的泛化性明显优于仅靠标准 CE 训练的 Transformer。

Conclusion

在本文中,作者提出了 kNN-KD,它提取通过 kNN 检索得到的知识,以缓解基础 NMT 模型过度校正的问题。实验表明,kNN-KD 可以改进普通 kNN-MT 和其他baseline,而无需任何额外的训练和解码成本。

更多阅读

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

NAACL 2022 | 机器翻译SOTA模型的蒸馏相关推荐

  1. NAACL 2022 | 字节和加州大学提出ConST模型,探讨对比学习如何助力语音翻译?

    原文链接:https://www.techbeat.net/article-info?id=3692 作者:叶蓉 前言 全球化下应用最广泛的 AI 技术是什么?机器翻译必然是其中之一.除了纯文本信息的 ...

  2. NAACL 2022事件相关(事件抽取、事件关系抽取、事件预测等)论文汇总

    NAACL 2022事件抽取相关(事件抽取.事件关系抽取.事件预测等)论文汇总,已更新全部的论文讲解. Event Extraction RAAT: Relation-Augmented Attent ...

  3. NAACL 2022 | DiffCSE:基于差异的句向量对比学习方法

    ©作者 | 曾伟豪 单位 | 北京邮电大学 研究方向 | 对话摘要生成 论文标题: DiffCSE:Difference-based Contrastive Learning for Sentence ...

  4. NAACL 2022 | DOP-Tuning: 面向对话摘要领域自适应的轻量级微调方法

    ©作者 | 曾伟豪 单位 | 北京邮电大学 研究方向 | 对话摘要生成 本文介绍一下我们组在面向领域迁移的对话摘要任务上的工作. 论文标题: Domain-Oriented Prefix-Tuning ...

  5. #今日论文推荐#NAACL 2022 | 基于Prompt的文本生成迁移学习

    #今日论文推荐#NAACL 2022 | 基于Prompt的文本生成迁移学习 预训练语言模型(PLM)通过微调在文本生成任务方面取得了显著进展.然而,在数据稀缺的情况下,微调 PLMs 是一项挑战.因 ...

  6. 1080Ti 就搞定最新 SOTA 模型?一个普通研究生勇敢发毕业论文引起热议

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | Reddit 编辑 | 好困 除了在顶会 ...

  7. 150亿参数大杀器!Facebook开源机器翻译新模型,同传人员或失业

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 来源:Facebook 编辑:QJP [导读]Facebook 今日开源了一个多语种机 ...

  8. 比SOTA模型更全能!商汤科技和上海人工智能实验室联手打造统一模型架构UniFormer...

    UniFormer用Transformer将3D卷积和时空自注意力有效地统一,是目前最强最快的视频理解架构. 本文主要向大家介绍UniFormer,包括ICLR2022接受的video backbon ...

  9. 加利福尼亚大学(尔湾)等提出 Nasty Teacher,避免模型“被蒸馏”,加强知识产权保护(ICLR 2021)...

    关注公众号,发现CV技术之美 本文分享ICLR 2021论文『Undistillable: Making A Nasty Teacher That CANNOT teach students』,提出一 ...

最新文章

  1. java里 currenttime_java 获取当前时间LocalDateTime currentTimeMillis java.util.Date
  2. 通过一般处理程序实现【文件上传】
  3. Optical_Flow(1)
  4. MySQL学习——操作存储过程
  5. 单片机c语言编程入门下載,51系列单片机C语言编程入门(下)
  6. 税务会计实务【16】
  7. 我想转行IT,想找一个培训机构,目前看了优就业、千峰、叩丁狼、黑马、达内等机构,请问哪个好一点?
  8. 网络游戏开发实战-坦克大战学习问题记录
  9. 关于idea的IdeaVim插件导致的光标问题(insert键)
  10. 用友摩天获“2021最受欢迎企业数智化学习认证社区”殊荣
  11. 关于Intriguing properties of neural networks的理解
  12. 排列组合Cnm的求法
  13. 《和沐阳一起学POST+JS逆向》视频教程
  14. 中原银行实时风控体系建设实践
  15. 百度地图查询数据结果
  16. spry提示信息设置html,CSS教程:12.4 借助于Spry实现折叠面板
  17. 安卓最新版本_腾讯手机管家下载最新版本-腾讯手机管家2020新版本下载v8.8.1 安卓官方版...
  18. 蓝绿部署、滚动部署、灰度发布、金丝雀发布
  19. SOCKET与TCP
  20. docker修改command_docker保存对容器的修改

热门文章

  1. Java 笔记-抽象类,接口
  2. 【干货】以太坊常用网址整理
  3. cywdhd在RK平台的适配
  4. CGB2005 JT-1
  5. Linux修改默认登录端口22
  6. 如何解决数组下标越界异常
  7. 图解各种数据库数据源(ODBC)配置
  8. 拆解诺基亚E71,解决莫名其妙重启的问题,以及GPS无法搜星的问题
  9. 哈夫曼树构建与哈夫曼树编码
  10. 基于STM32F103的USB学习笔记4 - 初始化