#自然语言处理#叱咤风云的 BERT 为何败于商业环境?


BERT 是 Google 去年发布的自然语言处理模型 , 它在问答系统、自然语言推理和释义检测(paraphrase detection)等任务中取得了突破性的进展 。 由于 BERT 是公开可用的 , 它在研究社区中很受欢迎 。 BERT 的全称是 Bidirectional Encoder Representation from Transformers , 即双向 Transformer 的 Encoder 。 但是 , 在动态的商业环境中部署基于 Transformer 的大型模型 BERT , 通常会产生较差的结果 。 这是因为商业环境通常是动态的 , 并且包含了推理和训练数据之间的连续域转换 。 Intel 人工智能实验室近日发表了一篇博文 , 阐述 BERT 在商用环境失败的原因以及解决对策 。
基于 Transformer 的大型神经网络 , 如 BERT、GPT 和 XLNET , 最近在许多自然语言处理任务取得了最先进的结果 。 这些模型之所以能够获得成功 , 得益于通用任务(如 , 语言建模)和特定下游任务之间的迁移学习 。 在有标记数据可用的静态评估集上 , 这些模型表现十分出色 。 然而 , 在动态的商业环境中 , 部署这些模型却通常会产生较差的结果 。 这是因为 , 商业环境通常是动态的 , 并且还包含推理和训练数据之间的连续域转换(例如 , 新主题、新词汇或新写作风格等) 。
处理这些动态环境的传统方法是进行连续的再训练和验证 , 但这需要持续的手动数据标记 , 这既耗时 , 又昂贵 , 因此不切实际 。 在数据稀缺的商业环境中 , 有望实现更好的健壮性和可伸缩性的途径是 , 在微调阶段将与领域无关的知识嵌入预训练模型中 。
预训练模型在低资源环境中表现出色 实际上 , 许多商业设置在多个领域中运行的是相同的任务 。 例如 , 考虑两种不同产品的情绪分析 , 如相机(领域 A)和笔记本电脑(领域 B) , 在这种情况下 , 用于不同领域的现有标记数据量通常很少 , 而且生成额外的标记数据既昂贵又不切实际 。
与从头开始训练模型相比 , 预训练模型的一个主要优势在于 , 它们能够通过使用相对较少的标记数据来适应特定任务(见图 1) 。 这一优势在实际的多域环境中具有重要作用 。
#自然语言处理#叱咤风云的 BERT 为何败于商业环境?
本文插图

图 1:句子级情感分类任务的正确性与训练样本数的关系 。 基线蓝色表示从头开始训练 , 橙线表示对预训练 BERT 模型进行微调 。 来源:《将迁移学习用于小数据的自然语言处理》(Using Transfer Learning for NLP with Small Data)
但是 , 是什么使这种经过微调的预训练模型的增强功能在地数据环境中获得成功呢?部分原因在于 , 在大规模的预训练步骤中 , 网络学习了句法等结构化语言特征 。 由于语法是一种通用特性 , 因此它既是任务无关的 , 也是领域无关的 。 这种通用的“知识”有助于弥合不同任务和领域之间的差距 , 并通过微调步骤加以利用 , 以提高数据效率 。
最近一篇题为《 BERT 在看什么?》(What Does BERT Look At?) 的文章 , 为人们了解 BERT 在预训练期间学到的东西提供了一些线索 。 通过对 BERT 的自注意力机制的分析 , 可以看出 , BERT 学到了大量的语言知识 。 例如 , BERT 的一些注意力头(attention-heads)注意了动词的直接宾语、名词的限定词 , 如定冠词 , 甚至还有共指指称(coreferent mention)(见图 2) 。 值得注意的是 , 一个以无监督学习的方式训练的模型 , 在没有任何标记数据的情况下 , 能够学习语言的通用方面的知识 。
#自然语言处理#叱咤风云的 BERT 为何败于商业环境?
本文插图

图 2:左图:BERT 在第 8 层上的注意力头 10 注意了动词的直接宾语 。 右图:第 5 层上的注意力头 4 注意了共指指称 。 来源:《 BERT 在看什么?》(What Does BERT Look At?)


推荐阅读