题目
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.
目前的情况
一些比较流行的预测训练:
一般的研究重心都是放在一或几个预测训练模型的设计上,很少去关心对于多样的下游任务,现在很少统一的框架去使用。基于这原因,在不同的应用场景中,往往应该采用不同的预训练模型,想去提出一个好框架。
提出框架
框架由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行代码哦,哈哈。。。
实验
四类实验:sentence classifification, sentence pair classifification, sequence labeling, document-based QA
基线:BERT-base uncased English model , BERT-base Chinese model
对于不同目标
对于不同编码
相关工作
解决研究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