C/C++教程

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

本文主要是介绍[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.

目前的情况

image-20210426102713403

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

image-20210426102603099

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

提出框架

image-20210426102342460

框架由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行代码哦,哈哈。。。

image-20210426110951965

实验

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

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

image-20210426111534131

对于不同目标

image-20210426111904874

对于不同编码
image-20210426111849793

相关工作

解决研究papers与代码的gap :

neural machine translationOpenNMT2017Opennmt:Open-source toolkit for neural machine translation
neural machine translationfairseq2019fairseq: A fast, extensible toolkit for sequence modeling
classifificationglyph2017Which encoding is the best for text classification in chinese, english, japanese and korean?
sequence labelingNCRF++2018Ncrf++: An open source neural sequence labeling toolkit
word embeddingHyperwords2015Improving distributional similarity with lessons learned from word embeddings
word embeddingngram2vec2017Ngram2vec: 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

这篇关于[PN31]UER: An Open-Source Toolkit for Pre-training Models的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!