Project Icon

roberta-large

大型英语预训练模型,适合多种任务优化

RoBERTa是一个自监督学习的变压器模型,通过掩码语言建模(MLM)目标优化英语语言的表示。主要用于细调下游任务,如序列和标记分类以及问答。此模型预训练于包括BookCorpus和Wikipedia在内的五个大型语料库,使用BPE分词法和动态掩码训练,实现双向句子表示,并在GLUE测试中表现优异,适合在PyTorch和TensorFlow中应用。

RoBERTa大型模型简介

RoBERTa是一个基于英语语言的大型预训练模型,它使用了一种称为掩码语言模型(MLM)的目标进行训练。RoBERTa首次是在A Robustly Optimized BERT Pretraining Approach这篇论文中介绍,并发布在这个代码库中。这个模型对大小写敏感,例如它会区分“english”和“English”。

模型描述

RoBERTa是一种变压器模型,它通过自监督的方式在大规模的英语语料库上进行预训练。自监督学习意味着该模型只在未经人工标注的原始文本上训练,通过自动化过程生成输入和标签。这使得RoBERTa能够利用大量的公开数据进行训练。

该模型具体使用了掩码语言模型(MLM)的目标进行预训练。这个过程是,给定一个句子,模型随机地掩盖输入中15%的单词,然后让模型预测这些被掩盖的单词。与传统的递归神经网络(RNN)或类似GPT的自回归模型不同,RoBERTa可以学习句子的双向表示。

这种预训练方式使得模型可以学习到英语语言的内部表示,可以用于下游任务中的特征提取:例如,如果你有一个标注句子的数据集,可以使用BERT模型生成的特征作为输入来训练一个标准的分类器。

预期用途与限制

虽然可以使用RoBERTa模型进行掩码语言建模,但它主要是为了在下游任务中进行微调而设计的。用户可以访问模型中心查看各种任务的微调版本。

请注意,该模型主要针对使用整个(可能被掩盖的)句子作出决策的任务进行微调,例如序列分类、标记分类或问答。对于文本生成类任务,建议使用类似GPT2的模型。

如何使用

可以通过以下方式直接使用RoBERTa模型进行掩码语言建模:

from transformers import pipeline
unmasker = pipeline('fill-mask', model='roberta-large')
unmasker("Hello I'm a <mask> model.")

此外,也可以使用PyTorch或TensorFlow获取特定文本的特征:

PyTorch示例:

from transformers import RobertaTokenizer, RobertaModel
tokenizer = RobertaTokenizer.from_pretrained('roberta-large')
model = RobertaModel.from_pretrained('roberta-large')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)

TensorFlow示例:

from transformers import RobertaTokenizer, TFRobertaModel
tokenizer = RobertaTokenizer.from_pretrained('roberta-large')
model = TFRobertaModel.from_pretrained('roberta-large')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)

限制与偏见

RoBERTa的训练数据包含了大量未经筛选的互联网内容,这导致模型可能产生偏见的预测。例如:

from transformers import pipeline
unmasker = pipeline('fill-mask', model='roberta-large')
unmasker("The man worked as a <mask>.")
unmasker("The woman worked as a <mask>.")

这些偏见同样会影响到该模型的所有微调版本。

训练数据

RoBERTa模型在五个数据集上进行了预训练:

  • BookCorpus:一个包含11,038本未出版书籍的语料库
  • 英文维基百科(不包括列表、表格和标题)
  • CC-News:包含了从2016年9月至2019年2月期间抓取的6300万篇英文新闻文章的数据集
  • OpenWebText:GPT-2使用的WebText数据集的开源重建版本
  • Stories:从CommonCrawl数据中提取出与Winograd模式相符的故事风格数据集

这些数据集共计160GB文本。

训练过程

文本使用字节版本的字节对编码(BPE)和50,000的词汇量进行标记。模型的输入为512个连续的标记,这些标记可以跨越文档。新文档的开始和结束分别用<s></s>标记。

对每个句子的掩码过程如下:

  • 掩盖15%的标记。
  • 在80%的情况下,掩盖的标记会被替换为<mask>
  • 在10%的情况下,掩盖的标记会被一个随机不同的标记代替。
  • 剩下的10%情况下,掩盖的标记保持不变。

不同于BERT,RoBERTa在预训练期间动态地进行掩盖(例如,在每个周期变化,而不是固定的)。

预训练

RoBERTa模型在1024个V100 GPU上以8000的批量大小和512的序列长度进行了500K步训练。优化器使用的是Adam,学习率为4e-4,\(\beta_{1} = 0.9\),\(\beta_{2} = 0.98\),\(\epsilon = 1e-6\),权重衰减为0.01,学习步骤在30,000步之前逐渐升温,并在之后线性衰减。

评估结果

当在下游任务上进行微调时,RoBERTa模型取得了以下结果:

Glue测试结果:

任务MNLIQQPQNLISST-2CoLASTS-BMRPCRTE
90.292.294.796.468.096.490.986.6

总之,RoBERTa模型表现出了优秀的性能,并且在下游任务中具有较强的适应能力。然而,由于其训练数据来源的多样性和可能的偏见,在实际应用中需谨慎对待。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号