大型英语预训练模型,适合多种任务优化
RoBERTa是一个自监督学习的变压器模型,通过掩码语言建模(MLM)目标优化英语语言的表示。主要用于细调下游任务,如序列和标记分类以及问答。此模型预训练于包括BookCorpus和Wikipedia在内的五个大型语料库,使用BPE分词法和动态掩码训练,实现双向句子表示,并在GLUE测试中表现优异,适合在PyTorch和TensorFlow中应用。
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模型在五个数据集上进行了预训练:
这些数据集共计160GB文本。
文本使用字节版本的字节对编码(BPE)和50,000的词汇量进行标记。模型的输入为512个连续的标记,这些标记可以跨越文档。新文档的开始和结束分别用<s>
和</s>
标记。
对每个句子的掩码过程如下:
<mask>
。不同于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测试结果:
任务 | MNLI | QQP | QNLI | SST-2 | CoLA | STS-B | MRPC | RTE |
---|---|---|---|---|---|---|---|---|
90.2 | 92.2 | 94.7 | 96.4 | 68.0 | 96.4 | 90.9 | 86.6 |
总之,RoBERTa模型表现出了优秀的性能,并且在下游任务中具有较强的适应能力。然而,由于其训练数据来源的多样性和可能的偏见,在实际应用中需谨慎对待。
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。