[PN31]UER: An Open-Source Toolkit for Pre-training Models

题目

UER: An Open-Source Toolkit for Pre-training Models
单位:

School of Information and DEKE, MOE, Renmin University of China, Beijing, China

Tencent AI Lab

School of Electronics Engineering and Computer Science, Peking University, Beijing, China

Zhao Z , Chen H , Zhang J , et al. UER: An Open-Source Toolkit for Pre-training Models[C]// 2019.

摘要

目的:想研究一个统一的预训练模型模型,使用分散的内容可以放在一起,简单地使用起来。
方法:提出了Universal Encoder Representations (UER)框架,UER是松散耦合,并用丰富的模块封装。UER创建model zoo,基于不同语料,编码,targets.

目前的情况

[PN31]UER: An Open-Source Toolkit for Pre-training Models

一些比较流行的预测训练:

[PN31]UER: An Open-Source Toolkit for Pre-training Models

一般的研究重心都是放在一或几个预测训练模型的设计上,很少去关心对于多样的下游任务,现在很少统一的框架去使用。基于这原因,在不同的应用场景中,往往应该采用不同的预训练模型,想去提出一个好框架。

提出框架

[PN31]UER: An Open-Source Toolkit for Pre-training Models

框架由4部分组成: subencoder, encoder, target, downstream task fine-tuning.

bubencoder

这个层从==子单词特征(subword features)==中学习单词向量。

对于英语,我们使用字符作为子字特征;

对于中文,我们使用根字母和拼音作为子词的特征;

在UER中,将RNN和CNN实现为作为子编码器,并在隐藏状态上使用平均池或最大池来获得固定长度的字向量。

Encoder

这一层从词向量中学习特征。

UER实现的编码器为: LSTM, GRU, CNN, GatedCNN, and AttentionNN,另外也可以定义自己的编码器。

Target (objective)

这个是目标层,即预训练的目标是什么.

UER由一系列目标组成, 用户可以选择其中的一个,或者使用多个目标并给它们不同的权重。

包括的目标:

基于词: Language model (LM), Masked LM (MLM, also known as clozetest), Autoencoder (AE);

基于句:Next sentence prediction (NSP)

基于监督:Neural machine translation (NMT);Classifification (CLS)

可以组合成多目标来完成任务。

####Fine-tuning

UER支持3步训练:

1)对一般域语料库的预训练;

2 ) 对下游数据集进行预训练(半监督微调);

3)对下游数据集进行微调。

预测训练模型使用

实现只用3行代码哦,哈哈。。。

[PN31]UER: An Open-Source Toolkit for Pre-training Models

实验

四类实验:sentence classifification, sentence pair classifification, sequence labeling, document-based QA

基线:BERT-base uncased English model , BERT-base Chinese model

[PN31]UER: An Open-Source Toolkit for Pre-training Models

对于不同目标

[PN31]UER: An Open-Source Toolkit for Pre-training Models

对于不同编码
[PN31]UER: An Open-Source Toolkit for Pre-training Models

相关工作

解决研究papers与代码的gap :

neural machine translation OpenNMT 2017 Opennmt:Open-source toolkit for neural machine translation
neural machine translation fairseq 2019 fairseq: A fast, extensible toolkit for sequence modeling
classifification glyph 2017 Which encoding is the best for text classification in chinese, english, japanese and korean?
sequence labeling NCRF++ 2018 Ncrf++: An open source neural sequence labeling toolkit
word embedding Hyperwords 2015 Improving distributional similarity with lessons learned from word embeddings
word embedding ngram2vec 2017 Ngram2vec: Learning improved word representations from ngram co-occurrence statistics

总结

这是一个工具性,把之前的常用的方法作了一个总结,准备把这个工具用起来试试。

参考

论文标题:UER: An Open-Source Toolkit for Pre-training Models;
论文地址: https://arxiv.org/abs/1909.05658

代码:https://github.com/dbiir/UER-py

happyprince
https://blog.csdn.net/ld326/article/details/116307531

上一篇:linq中select和selectMany的区别


下一篇:pytorch实现训练与测试不同输出