几个与BERT相关的预训练模型分享-ERNIE,XLM,LASER,MASS,UNILM

2023-11-10 08:20

本文主要是介绍几个与BERT相关的预训练模型分享-ERNIE,XLM,LASER,MASS,UNILM,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于Transformer的预训练模型汇总

1. ERNIE: Enhanced Language Representation with Informative Entities(THU)

特点:学习到了语料库之间得到语义联系,融合知识图谱到BERT中,本文解决了两个问题,structured knowledge encoding 和 Heterogeneous Information Fusion(如何融合语言的预训练向量空间和知识表征的向量空间)

因此,本文提出了同时在大规模语料库和知识图谱上预训练语言模型

  1. 信息抽取+编码知识信息:识别文本中的实体,并将实体与KG中的实体对齐(用knowledge embedding方法),得到的entity embedding作为ERNIE的输入,这样ERNIE将知识模块的实体表征正和岛予以模块的隐藏层中。
  2. 语言模型训练,使用了MLM+NSP+随机mask实体的方法

模型结构:
ERNIE的模型结构

如图所示,其中T-encoder用来提取输入端的基础词法信息,这部分与BERT一样,把从embedding层输入的文本送到Transformer中做特征提取。K-enocder是本文的创新点,用来将外部的指示图信息融入。其中外部信息包括T-encoder的结果和TransE计算出的知识嵌入。

2. ERNIE: Enhanced Representation through Knowledge Integration (ERNIE2.0)

本文中正式引入了continual learning以达成多任务模型,为了解决多种任务,作者新增了task embedding。模型结构如下:
在这里插入图片描述
在这里插入图片描述
如图所示,任务被分成了三类:

  1. Word-aware Pre-training Tasks:其中包括knowledge masking task(常规mask),Capitalization prediction task(预测大写),Token-Document relation prediction task(预测某一个段落的token是否出现在同一篇文档的另外段落中)。
  2. Structure-aware Pre-training Tasks:包括Sentence Reordering Task(把一段话分割成多个片段进行重排顺序),Sentence distance task(预测句子之间的距离,三分类任务)
  3. Semantic-aware Pre-training Tasks:包括Disclosure relation task(预测句子间的语义关系),IR relevance task(信息解锁文本的相关性)

3. ERNIE-Tiny

作为轻量版的预训练模型,Tiny的体积要比base小很多,运行速度也比ERNIE-base快了4.3倍。Tiny使用了更浅的模型,更大的hidden-size,使用了subword代替char(增大了词粒度,缩小了文本长度),同时也使用了知识蒸馏的方法(tiny为学生模型,base为老师模型)。

Tiny中的知识蒸馏:在这里插入图片描述

关于如何缩小体积很大的预训练模型,一般有以下几种方法:

  1. 知识蒸馏Distillation:通过将大模型的知识提取,转移导入到小模型中的过程。使用大模型作为老师模型,通过输入训练数据到老师模型,用以训练学生模型,使学生模型达到相似效果。
  2. 量化Quantization:将高精度的模型使用低精度表示,使模型变小
  3. 剪枝Pruning:减掉对结果无用的部分模型,精细化模型。剪枝的具体操作是将剪掉的部分模型参数设置为0.分为权重剪枝,神经元剪枝,权重矩阵剪枝。

4.Cross-lingual Language Model Pretraining

对于BERT的改进可以大体分为两个方向:第一个是纵向,即去研究bert模型结构或者算法优化等方面的问题,致力于提出一种比bert效果更好更轻量级的模型;第二个方向是横向,即在bert的基础上稍作修改去探索那些vanilla bert还没有触及的领域。直观上来看第二个方向明显会比第一个方向简单,关键是出效果更快。本文就属于第二类。

本文使用了跨语言的语言模型XLM,使用了两种预训练方法:

  1. 基于单语语料的无监督学习
  2. 基于跨语言的平行语料库的有监督学习

其在几个多语任务上比如XNLI和机器翻译都拉高了SOTA。那么我们就来看看具体的模型,整体框架和BERT是非常类似,修改了几个预训练目标。

  1. Shared sub-word vocabulary:目前的词向量基本都是在单语言语料集中训练得到的,所以其embedding不能涵盖跨语言的语义信息。为了更好地将多语言的信息融合在一个共享的词表中,作者在文本预处理上使用了字节对编码算法(「Byte Pair Encoding (BPE)」),大致思想就是利用单个未使用的符号迭代地替换给定数据集中最频繁的符号对(原始字节)。这样处理后的词表就对语言的种类不敏感了,更多关注的是语言的组织结构。
  2. Masked Language modeling (MLM)
  3. Causal Language Modeling (CLM)
  4. Translation Language Modeling (TLM):是本文的核心,用有监督的跨语言并行数据训练模型

5. Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond

提出了LASER,使用单个模型解决多语言问题,模型结构:在这里插入图片描述

6. MASS: Masked Sequence to Sequence Pre-training for Language Generation

问题:传统的BERT不能解决NLG生成问题。

不同于BERT仅使用Transformer的encoder,作者提出联合训练Transformer的encoder和decoder来解决这个问题。其中encoder训练使用了MLM,decoder的训练输入为与encoder一样的句子,但是做相反的masking。

7.Unified Language Model Pre-training for Natural Language Understanding and Generation(Microsoft/2019)

同样是为了解决NLG问题,UNILM这个模型直接解决掉NLU和NLG两方面的问题,是典型的的多任务模型。

预训练模型的目标函数有三种:

  1. 单向语言模型,如ELMo,GPT
  2. 双向语言模型,如BERT
  3. SeqSeq模型
    这三个函数使用一组Transformer进行训练,参数共享。

目标函数示意:
在这里插入图片描述
模型输入为一串序列(或一对序列,依照目标函数的格式),在embedding部分与一般的BERT是一样的,分成token/position/segment embedding.

mask部分使用了self attention,即为对不同的模型使用不同的mask方法,目的是同意语言模型。本文中共有三种mask形式。依照三种目标函数定义:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

8.结论

  1. 模型和数据都很大,但是最终出来的效果是美的,争取往小而美的方向发展;
  2. 相比于BERT仅仅关注在encoder上,LASER的工作则是考虑了encoder-decoder的联合训练。从LASER模型框架上也可以看出其无法提取word级别的特征,擅长于跨语言任务;
  3. 对于XLM和MASS都是涉及跨语言模型,补充了BERT在NLG任务上的不足。模型层面而言XLM没有使用传统的encoder-decoder框架,属于比较讨巧的方式;
  4. UNILM可以同时处理NLU和NLG任务,在GLUE上首次不加外部数据打赢了BERT。后续的改进可以考虑加入跨语言任务的预训练,比如XLM和MASS做的工作。

Ref:
ERNIE: Enhanced Language Representation with Informative Entities(THU/ACL2019)
ERNIE2.0: A Continual Pre-training Framework for Language Understanding
ERNIE-tiny
Cross-lingual Language Model Pretraining
XLM – Enhancing BERT for Cross-lingual Language Model
Massively Multilingual Sentence Embeddings for Zero-Shot Cross-Lingual Transfer and Beyond
MASS: Masked Sequence to Sequence Pre-training for Language Generation
Unified Language Model Pre-training for Natural Language Understanding and Generation(Microsoft/2019)
芝麻街跨界NLP | 预训练模型专辑(二)
芝麻街跨界NLP,没有一个ERNIE是无辜的

这篇关于几个与BERT相关的预训练模型分享-ERNIE,XLM,LASER,MASS,UNILM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381462

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

Python解析器安装指南分享(Mac/Windows/Linux)

《Python解析器安装指南分享(Mac/Windows/Linux)》:本文主要介绍Python解析器安装指南(Mac/Windows/Linux),具有很好的参考价值,希望对大家有所帮助,如有... 目NMNkN录1js. 安装包下载1.1 python 下载官网2.核心安装方式3. MACOS 系统安

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Python中常用的四种取整方式分享

《Python中常用的四种取整方式分享》在数据处理和数值计算中,取整操作是非常常见的需求,Python提供了多种取整方式,本文为大家整理了四种常用的方法,希望对大家有所帮助... 目录引言向零取整(Truncate)向下取整(Floor)向上取整(Ceil)四舍五入(Round)四种取整方式的对比综合示例应

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应