阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

BERT 的正确使用姿势

  • 2020-02-29
  • 本文字数:2043 字

    阅读完需:约 7 分钟

BERT的正确使用姿势

自 2018 年 google 发布开源预训练模型 BERT 之后,一时席卷业内十余项任务的 state-of-art,引得无数 NLPer 聚焦于此。对于自然语言处理领域而言,BERT 的出现,彻底改变了预训练词向量与下游具体 NLP 任务的关系,因此 BERT 被称为改变了 NLP 游戏规则的工作。然而,究竟如何最好的使用 BERT 呢?


一种自然的方法当然是改变 BERT 的预训练过程,从而造出更好的预训练语言模型。这种方法可以简单的引入更多的语料、采用不同的预训练任务、采用多任务学习、采用在特定领域的语料上进行 fine-tune 等等。然而,从头训练甚至 fine-tune BERT 均需要大量的算力才可实现。那么另一种自然而然的想法是,我们是否可以将已有模型(LSTM 或者 CNN)接入到 BERT 之上,从而发挥二者各自的优势呢?这是本文介绍的重点。

BERT 的基础使用方式

本文以是否 fine-tune 预训练模型和是否对上层模型进行训练作为两个参考指标,将 BERT 的应用方法大致划分为三类,如下表所示:



其中,方法 NFT-TM 是指在 BERT 模型的上层添加复杂的网络结构,在训练时,固定 BERT 的参数,仅单独训练上层任务模型网络。方法 FT-NTM 是指在在 BERT 模型后接一个简单的特定任务层(如全连接网络),在训练时,根据任务的训练样本集对 BERT 进行 fine-tune 即可。


就以上 NFT-TM、FT-NTM 两种方法,美国 Allen 人工智能研究所的 Matthew Peter 等人分别在 ELMo 及 BERT 两种预训练模型上对比了效果,希望能够得出到底哪个方式更适合下游任务,他们针对 7 项 NLP 任务给出实验结果。对于 ELMo 而言,使用上层网络进行特征提取效果更好,对于 BERT 而言,fine-tune 效果略胜一筹。最终该文得出结论,对于预训练模型,fine-tune 方法(即 FT-NTM)能够更好的将其应用于特定任务。

BERT 的高级使用方式

以上两种方法看上去有些片面,如果把特征抽取和 fine-tune 结合起来成为第三种模式,效果会怎样呢?在 BERT 出现之前,就有人在训练好语言模型之后,用后续网络(如 CNN,LSTM 等)对词嵌入进行微调的方法了。如果把预训练模型看作是一个词嵌入的强化版,那么在 BERT 时代,我们在追求其应用模式革新上也应该考虑到此方法,于是百分点认知智能实验室提出融合特征抽取及 fine-tune 的方法 FT-TM,其步骤如下:


  1. 在底层通过一个预训练模型,先训练一个可用的语言模型(视情况可停止训练);

  2. 针对具体下游任务设计神经网络结构,将其接在预训练模型之后;

  3. 联合训练包括预训练模型在内的整个神经网络,以此模式尝试进一步改善任务结果。


基于以上内容,我们对各种 BERT 应用方式选取了三个 NLP 典型任务进行实验,并通过实践证明,该方法在特定任务上均表现出色。


实验一:针对序列标注任务,我们选择了其子任务之一的命名实体识别任务(NER),并在 NER 的开源数据集 CoNLL03 上进行实验。该实验以仅对 BERT 进行 fine-tune(即方法 FT-NTM)的结果为 baseline,对比了在 BERT 基础上增加一个传统用于 NER 任务的 Bi-LSTM 网络(即方法 FT-TM)的效果,其实验结果如下图所示:



由图可得,结合 BERT 的 fine-tune 和上层神经网络的 FT-TM 方法在该任务上的 F1 值较 baseline 提升了近 7 个百分点。


实验二:针对文本分类任务,本次实验选取雅虎问答分类数据集,以原始 BERT 结果作为 baseline,对比了在其基础上分别连接了 HighwayLSTM 和 DenseNet 网络,并对其进行模型融合后的结果。实验结果由下图所示:



由实验看出,虽然模型融合后的效果并不十分明显,但也有一定的效果提升。


实验三:针对语义等价性任务,本实验选取包含了 40 万个问题对的“Quora-Question-Pair“数据集,根据句子对进行相似度的计算。本次实验将仅对 BERT 进行 fine-tune 的方法 FT-NTM 为 baseline,对比了在 BERT 之后接 BIMPM 网络的效果。同时以方法 NFT-TM 为 baseline,对比了两种改进 BIMPM 之后模型结构的效果(移除 BIMPM 中的第一层 Bi-LSTM 模型和将 BIMPM 的 matching 层与 transformer 相结合的模型)。注意,在模型训练时有个重要的 trick,考虑到预训练模型本身的效果和其与顶层模型的融合问题,在训练模型时,需要分两步进行:先固定预训练模型的参数,仅训练其上层特定任务网络,第二步再将整个网络联合训练。


该任务的实验结果如下图所示:



由实验结果可得,Bert+Sim-Transformer 结合 fine-tune Bert 的效果相较仅对 BERT 进行 fine-tune 的方法 FT-NTM,准确率提升了近 5 个百分点。


因此,从上面一系列的实验结果可以看出,我们提出的结合上层复杂模型和 fine-tune 的方法 FT-TM 是有效的,并且在某些任务中优于 fine-tune 的方式。同时在 BERT 预训练模型上面集成的神经网络模型好坏也会影响到最终的任务效果。


参考材料


[1]Matthew Peters, Sebastian Ruder, and Noah A Smith. To tune or not to tune?adapting pretrained representations to diverse tasks. arXiv preprintarXiv:1903.05987, 2019.


论文地址https://arxiv.org/abs/1907.05338


本文转载自公众号百分点(ID:baifendian_com)。


原文链接


https://mp.weixin.qq.com/s/1OajAJx9vP81AQ7WCf4OFA


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2020-02-29 14:083238

评论

发布
暂无评论
发现更多内容

技术同学如何做好向上管理

老张

职场新人 向上管理

线上问题排查异闻录

小小怪下士

Java 程序员 后端 堆内存管理

展心展力 metaapp:基于 DeepRec 的稀疏模型训练实践

阿里云大数据AI技术

机器学习 算法 稀疏模型

一文了解MySQL中的多版本并发控制

京东科技开发者

MySQL 京东云 企业号 4 月 PK 榜

潮起风来,政企DICT “跃升”之乘风破浪篇

鲸品堂

DT IT 企业号 4 月 PK 榜 ct

MySQL自增ID用完了怎么办?4种解决方案!

Java你猿哥

Java MySQL sql 后端 ssm

火了!阿里资深架构师总结的春招Java岗核心笔记,GitHub标星20k

Java你猿哥

Java ssm 面经 Java工程师 java核心知识

五面阿里巴巴拿offer后定级P6:分享Java面经及答案总结

Java你猿哥

Java 面试 面经 春招 Java八股文

Java概述与基础知识

timerring

Java

如何高效清洗数据?试试这款神器

博文视点Broadview

IT架构师全栈成长路线,13张架构图一次说明白

Java你猿哥

Java 面试 架构师 面经 Spring全家桶

一文吃透Arthas常用命令!

程序员大彬

Java JVM

流程图哪个软件好用?10款好用的流程图软件推荐:boardmix、Visio、Miro…

彭宏豪95

效率工具 职场 工具 流程图 在线白板

JetCache 缓存开源组件设计精要

阿里技术

缓存 JetCache

浏览器缓存清理:Cookie for Mac6.9.0激活版

真大的脸盆

Mac Mac 软件 缓存清理 清理缓存 缓存处理工具

DevOps infra | 互联网、软件公司基础设施建设(基建)哪家强?

laofo

DevOps 研发效能 持续交付 infra 平台工程

Redis一主二从环境搭建

京茶吉鹿

nosql redis

如何将微前端项目部署在同一台服务器同一个端口下

京东科技开发者

微前端 京东云 企业号 4 月 PK 榜

Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践上——使用篇

江湖十年

k8s 后端 #Kubernetes# Go 语言

为了减少延迟和卡顿,我对 MySQL 查询做了这些优化处理...

Java你猿哥

MySQL sql ssm MySQL优化 优化SQL

华为运动健康服务Health Kit 6.10.0版本新增功能速览!

HMS Core

HMS Core

安全测试前置实践1-白盒&黑盒扫描

京东科技开发者

京东云 安全测试 企业号 4 月 PK 榜

成立数科公司之余,央国企推进数智化转型还需要底座支撑

用友BIP

“成本刺客”防不胜防,如何应用亚马逊云科技驾驭云成本

Lily

Spring 之依赖注入底层原理

Java你猿哥

spring ssm 架构师 Java工程师 spring ioc

这份Java面试八股文让329人成功进入大厂,堪称2023最强

Java你猿哥

Java 面试 面经 春招 Java八股文

阿里P8架构师3年心血终成的453页神级Java系统分析与架构设计文档

做梦都在改BUG

Java 架构设计 系统分析

AI时代要用俄罗斯套娃思考模式

FN0

AIGC

包装了三年工作经验的我,被同事发现居然连这些Maven的操作都不懂

Java你猿哥

maven ssm 架构师 Java工程师

MySQL主从复制原理剖析与应用实践

做梦都在改BUG

Java MySQL 数据库 主从复制

MySQL主从复制原理剖析与应用实践

vivo互联网技术

负载均衡 高可用 主从复制 数据备份 Binary Log

BERT的正确使用姿势_开源_百分点认知智能实验室_InfoQ精选文章