精华内容
下载资源
问答
  • Roberta

    2019-10-24 13:24:48
    Roberta
  • roberta

    2020-08-09 22:48:14
    roberta的准备工作

    roberta的准备工作
    在这里插入图片描述

    • attention刚开始应用于CV领域,后来迁移到NLP领域
    • 后来基于attention提出了transformer
    • 利用transformer的堆叠形成了bert
    • roberta是对bert的改进

    roberta是多任务的(即可以解决不同的NLP任务),模型中间的代码块可以复用。只要修改一下模型的输入输出,下载别人预训练的权重集,用在roberta模型上,再用自己的数据集进行微调

    在这里插入图片描述

    • roberta在bert的基础上做了8个方面的改进

    1、more data
    roberta预训练的数据量更大(160G的训练文本,bert只有16G),选取了不同领域不同任务上的数据集

    4、学习率
    刚开始,学习率不断增大,到临界值的时候,学习率开始递减

    5、预训练移除了NSP任务
    原本的Bert为了捕捉句子之间的关系,使用了NSP任务进行预训练,就是输入一对句子A和B,判断这两个句子是否是连续的。在训练的数据中,50%的B是A的下一个句子,50%的B是随机抽取的。

    而RoBERTa去除了NSP,而是每次输入连续的多个句子,直到最大长度512(可以跨文章)。这种训练方式叫做(FULL - SENTENCES),而原来的Bert每次只输入两个句子。

    6、text encoding
    byte-pair encoding(BPE)是字级别和词级别表征的混合

    7、whole word masking(wwm)
    简单来说,原有基于WordPiece的分词方式会把一个完整的词切分成若干个子词,在生成训练样本时,这些被分开的子词会随机被mask。在全词Mask中,如果一个完整的词的部分WordPiece子词被mask,则同属该词的其他部分也会被mask,即全词Mask。

    8、dynamic mask(动态mask)
    bert在训练模型时,一个句子会被多次喂到模型中用于参数学习,但是Google并没有在每次都mask掉这些单词,而是在确定要Mask掉的单词之后,80%的时候会直接替换为[Mask],10%的时候将其替换为其它任意单词,10%的时候会保留原始Token。
    RoBERTa使用了动态mask:每次向模型输入一个序列时都会随mask(mask哪些词不确定)。这样,在大量数据不断输入的过程中,模型会逐渐适应不同的mask策略,学习不同的语言表征。

    原来Bert对每一个序列随机选择15%的Tokens替换成[MASK],为了消除与下游任务的不匹配,还对这15%的Tokens进行(1)80%的时间替换成[MASK];(2)10%的时间不变;(3)10%的时间替换成其他词。但整个训练过程,这15%的Tokens一旦被选择就不再改变,也就是说从一开始随机选择了这15%的Tokens,之后的N个epoch里都不再改变了。这就叫做静态Masking。

    而RoBERTa一开始把预训练的数据复制10份,每一份都随机选择15%的Tokens进行Masking,也就是说,同样的一句话有10种不同的mask方式。然后每份数据都训练N/10个epoch。这就相当于在这N个epoch的训练中,每个序列的被mask的tokens是会变化的。这就叫做动态Masking。

    • 取消了NSP,并且数据连续从一个文档中获得

    • byte-pair encoding(BPE)是字级别和词级别表征的混合

    • 训练更久:超过500K steps

    • 更大批次:使用了超大(8K)的 batchsize

    • 调整优化器的参数

    • 更大更多样性的数据

    • 使用 whole word mask 和 dynamic mask

    • 训练更长的序列

    在这里插入图片描述

    展开全文
  • RoBERTa

    千次阅读 2020-04-25 22:16:26
    RoBERTa模型是在RoBERTa中提出的:一种经过严格优化的BERT预训练方法, 由Yinhan Liu,Myle Ott,Naman Goyal,Dujingfei,Mandar Joshi,Danqi Chen,Omer Levy,Mike Lewis,Luke Zettlemoyer,Veselin Stoyanov...

    RoBERTa模型是在RoBERTa中提出的:一种经过严格优化的BERT预训练方法, 由Yinhan Liu,Myle Ott,Naman Goyal,Dujingfei,Mandar Joshi,Danqi Chen,Omer Levy,Mike Lewis,Luke Zettlemoyer,Veselin Stoyanov提出。它基于2018年发布的Google BERT模型。

    它建立在BERT的基础上,并修改了关键的超参数,消除了下一句的预训练目标,并以更大的迷你批次和学习率进行训练。

    论文摘要如下:

    语言模型的预训练已经带来了显着的性能提升,但是不同方法之间的仔细比较具有挑战性。训练在计算上很昂贵,通常是在不同大小的私人数据集上进行的,而且正如我们将显示的那样,超参数的选择对最终结果有重大影响。我们提出了BERT预训练的重复研究(Devlin等人,2019),该研究仔细衡量了许多关键超参数和训练数据量的影响。我们发现BERT的训练不足,并且可以匹配或超过它发布后的每个模型的性能。我们最好的模型在GLUE,RACE和SQuAD上获得了最先进的结果。这些结果突出了以前被忽略的设计选择的重要性,并引起了人们对最近报告的改进来源的质疑。我们发布我们的模型和代码。

    提示:

    此实现BertModel与微小的嵌入调整以及Roberta预训练模型的设置相同。

    RoBERTa与BERT具有相同的体系结构,但是使用字节级BPE作为令牌生成器(与GPT-2相同),并且使用不同的预训练方案。

    RoBERTa没有token_type_ids,您不需要指示哪个令牌属于哪个段。只需使用分隔令牌tokenizer.sep_token(或</ s>)分隔段即可

    • TFRobertaModel
    import tensorflow as tf
    from transformers import RobertaTokenizer, TFRobertaModel
    
    tokenizer = RobertaTokenizer.from_pretrained('roberta-base')
    model = TFRobertaModel.from_pretrained('roberta-base')
    input_ids = tf.constant(tokenizer.encode("Hello, my dog is cute", add_special_tokens=True))[None, :]  # Batch size 1
    outputs = model(input_ids)
    last_hidden_states = outputs[0]  # The last hidden-state is the first element of the output tuple
    
    #config = RobertaConfig.from_pretrained(PATH+'config-roberta-base.json')
    #bert_model = TFRobertaModel.from_pretrained(PATH+'pretrained-roberta-base.h5',config=config)
    
    • TFRobertaForSequenceClassification
    import tensorflow as tf
    from transformers import RobertaTokenizer, TFRobertaForSequenceClassification
    
    tokenizer = RobertaTokenizer.from_pretrained('roberta-base')
    model = TFRobertaForSequenceClassification.from_pretrained('roberta-base')
    input_ids = tf.constant(tokenizer.encode("Hello, my dog is cute", add_special_tokens=True))[None, :]  # Batch size 1
    labels = tf.constant([1])[None, :]  # Batch size 1
    outputs = model(input_ids)
    logits = outputs[0]
    
    • TFRobertaForTokenClassification
    import tensorflow as tf
    from transformers import RobertaTokenizer, TFRobertaForTokenClassification
    
    tokenizer = RobertaTokenizer.from_pretrained('roberta-base')
    model = TFRobertaForTokenClassification.from_pretrained('roberta-base')
    input_ids = tf.constant(tokenizer.encode("Hello, my dog is cute", add_special_tokens=True))[None, :]  # Batch size 1
    outputs = model(input_ids)
    scores = outputs[0]
    
    • 中文

    清华大学开源了一个名为 OpenCLaP 的项目,即多领域开源中文预训练语言模型库。它提供了几种中文预训练 BERT,并表示它们可以直接通过 huggingface 的 pytorch-transformers 项目调用。

    OpenCLaP 项目地址:https://github.com/thunlp/OpenCLaP

    百度也开源了预训练语言模型 ERNIE,不过目前只有 ERNIE 1.0 Base 提供了中文预训练模型,ERNIE 2.0 目前还只提供英文预训练模型。当然,如果要使用 ERNIE,我们需要了解 PaddlePaddle 框架,并通过 ernie_encoder.py 抽取句子与 Token 的隐藏向量表示。

    国内开发者 brightmart 开源了最新的 RoBERTa 中文预训练语言模型
    https://github.com/brightmart/roberta_zh
    用TensorFlow实现了在大规模中文上RoBERTa的预训练,也会提供PyTorch的预训练模型和加载方式。

    展开全文
  • Roberta Raised

    2019-10-24 13:44:58
    Roberta Raised
  • RoBERTa与Adv-RoBERTa

    2021-02-17 12:49:37
    RoBERTa RoBERTa:A Robustly Optimized BERT Pretraining Approach 比起bert的改进 1、训练的时间更长 2、移除了next predict loss(就是没有NSP部分) 3、训练的序列更长 4、动态调整masking机制 bert使用...

    RoBERTa

    RoBERTa:A Robustly Optimized BERT Pretraining Approach

    比起bert的改进

    • 1、训练的时间更长

    • 2、移除了next predict loss(就是没有NSP部分)

    • 3、训练的序列更长

    • 4、动态调整masking机制

      • bert使用的随机掩码和预测token,bert在实现预处理的时候执行一次掩码,得到一个静态掩码

        • dupe_factor=10epoch=40, 则每种mask的方式在训练中会被使用4次。(将训练数据复制dupe_factor份,对同一条数据,4个mask和10次)
      • RoBERTa在每次输入一个序列时都会生成新的掩码模式

        img

        Adv-RoBERTa

        • 还暂时没有公布论文

        • 在 RoBERTa 下游任务中加入了对抗性训练然后集成多模型表现

    展开全文
  • 波兰RoBERTa 该存储库包含针对波兰语的经过预训练的模型,以及针对几种波兰语语言任务的评估代码。 使用波兰华沙国家信息处理研究所的对发布的模型进行了训练。 我们提供了两种基于BERT基本架构和BERT大型架构的...
  • RoBERTa解读

    2020-07-02 20:27:06
    RoBERTa: A Robustly Optimized BERT Pretraining Approach》

    介绍

    RoBERTa作为BERT的改进版本,本文主要介绍RoBERTa和BERT的区别,论文具体见《RoBERTa: A Robustly Optimized BERT Pretraining Approach》

    RoBERTa VS BERT

    Our modifications are simple, they include: (1) training the model longer, with bigger batches, over more data; (2) removing the next sentence prediction objective; (3) training on longer sequences; and (4) dynamically changing the masking pattern applied to the training data.

    训练数据和参数上

    RoBERTa引入了更多的训练数据,除了BERT所使用的Book-Corpus和Wikipedia(16G), 增加了160G的其他数据包括(CC-NEWS, OPENWEBTEXT, STORIES), 预训练数据相比BERT增加了10倍,随之训练时间也更长。

    Past work in Neural Machine Translation has shown that training with very large mini-batches can both improve optimization speed and end-task performance when the learning rate is increased appropriately

    同时借鉴机器翻译,增大mini-batch的大小,提升优化速度和性能
    在这里插入图片描述

    动态掩码 Dynamic Masking

    回顾BERT使用的是静态掩码,即在训练前就对训练数据的句子随机sample好了要mask的token,训练的时候不变。RoBERTa的做法是将训练数据复制10份,每份采用不同的随机挑选token进行mask,训练40个epoch,即训练的时候相同的mask会出现4次

    Model Input Format and Next Sentence Prediction

    实验表明去除nsp任务效果更好

    Text Encoding

    采用更大的byte-level BPE(Byte-Pair Encoding)词典,从BERT原始的30k增大到50k

    总结

    RoBERTa的贡献主要在于,只要训练的好,效果还有提升空间。相比BERT,主要有以下几个改进点:更多的预训练数据,更大的mini-batch, 更长的预训练时间,静态编码改成动态,取消NSP损失,更大的BPE词典。最终达到了超越BERT的性能。

    展开全文
  • RoBERTa 使用

    千次阅读 2020-01-17 17:21:25
    官方文档:https://github.com/brightmart/roberta_zh 下载预训练模型 遇到的坑:L12 pytorch版本的,在后面运行会报错,因为是 model.bin 而不是 ...export BERT_BASE_DIR=./model/roberta_zh_l12 export MY_DATA...
  • RoBERTa记录

    2020-12-10 19:42:55
    RoBERTa: A Robustly Optimized BERT Pretraining Approach 相比于BERT的改进: 用更大的batchs、更多的数据对模型进行更长时间的训练 去除next sentence prediction 目标 使用较长序列的训练 动态改变应用于训练...
  • RoBERTa摘要

    2020-10-28 02:17:31
    RoBERTa是BERT的完成品 数据 BOOKCORPUS加上WIKIPEDIA,16GB左右 5种语料,160GB左右。包括BOOKCORPUS,CC-NEWS,OPENWEBTEXT,STORIES,STORIES(论文中只介绍了这四个) 训练方法 去除NSP任务 动态掩码
  • 使用Google bert for RoBERTa 首先,使用convert_pytorch_checkpoint_to_tf.py转换wieght 二,编辑配置文件 第三,修改后的模型:using_token_type = False start = 2 第四,将bert令牌生成器更改为roberta令牌...
  • pytorch 加载 本地 roberta 模型

    千次阅读 2020-10-12 11:42:22
    OSError: Model name './chinese_roberta_wwm_ext_pytorch' was not found in tokenizers model name list (roberta-base, roberta-large, roberta-large-mnli, distilroberta-base, roberta-base-openai-detector, ...
  • roberta算法详解

    千次阅读 2020-08-20 15:28:25
    bert系列的算法论文越来越多,比较出名和有效果的有,Roberta、ALbert。另一个系列的是XLnet。 全名:RoBERTa:A Robustly Optimized BERT Pretraining Approach 官方源码:https://github.com/pytorch/fairseq 中文...
  • RoBERTa for Chinese, TensorFlow & PyTorch项目主页:https://github.com/brightmart/rober...
  • 在Open Roberta Lab(https://lab.open-roberta.org)中启用重置位置配置 在公开Roberta Simulation(https://lab.open-roberta.org)的《机器人手的位置》中添加了知识。 Dazuwähltman das工具栏上的附加符号aus和...
  • roberta与albert

    2020-09-01 08:53:11
    RoBERTA,是BERT模型的改进版,并获得了更好的自然语言处理效果,且其在GLUE、SQuAD、RACE等三个榜单上取得了SOTA效果 细节 训练数据集上,RoBERTa采用了160G的训练文本,而BERT仅使用16G的训练文本 模型评估上...
  • RoBERTa-tiny-clue.zip

    2021-04-29 17:07:44
    RoBERTa-tiny-clue.zip
  • nlp:roberta

    2020-08-19 09:03:46
    run_boolq_roberta.py CUDA_VISIBLE_DEVICES=2 python use_boolq_bert.py --model_type bert --model_name_or_path bert-base-cased --do_eval --do_lower_case --train_file train.jsonl --predict_file val.json...
  • RoBERTa VS BERT

    2020-04-08 10:42:20
    RoBERTa- A Robustly Optimized BERT Pretraining Approach 在BERT模型的基础上,做了一些改进,提升了预训练模型的性能。 把静态mask改成动态mask BERT中在数据预处理阶段,把数据集复制10份,然后进行MASK,也...
  • RobertadiCamerino专卖店管理手册.pptx
  • chinese_roberta_wwm_large_ext_L-24_H-1024_A-16的tensorflow版本,亲测可用。如果需要pytorch版本,请自行进行转换。
  • 在使用transformers中,使用中文roberta预训练模型,出现如下: roberta’s vocab file must a json file roberta模型加载失败 1.how? 官网https://huggingface.co/hfl/chinese-roberta-wwm-ext介绍预训练模型使用...
  • BERT家族:RoBERTa

    2020-05-25 22:00:09
    RoBERTa 论文:《RoBERTa:A Robustly Optimized BERT Pretraining Approach》 作者/机构:Facebook + 华盛顿大学 论文地址:https://arxiv.org/pdf/1907.11692 年份:2019.7 RoBERTa在训练方法上对Bert进行...
  • robertadicamerino专卖店人员管理手册.pptx
  • NLP-RoBERTa-with-fastai
  • RoBERTa相比BERT的改进

    2021-03-31 15:21:54
    继BERT、XLNet之后,Facebook提出的RoBERTa(a Robustly Optimized BERT Pretraining Approach)。本篇文章主要总结下RoBERTa相比于BERT的改进。 RoBERTa在模型结构层面没有改变,改变的只是预训练的方法,具体是...
  • 本文是RoBERTa的论文笔记。
  • RoBERTa-日语 日语BERT预训练模型 RoBERTaとは, ,BERTの改良版です。モデル构造そのものはオリジナルのBERTと同じで,学习手法に工夫があります。 のプロジェクトは,。 RoBERTa(改良BERT)日本语モデル 新 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,074
精华内容 1,229
关键字:

roberta