🚀 DistilRoBERTa基础模型卡片
DistilRoBERTa基础模型是RoBERTa-base模型的蒸馏版本,它在保持一定性能的同时,减少了参数数量,提高了运行速度。该模型主要用于英文自然语言处理任务,可用于掩码语言建模和下游任务的微调。
🚀 快速开始
你可以使用以下代码直接通过管道进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='distilroberta-base')
>>> unmasker("Hello I'm a <mask> model.")
[{'score': 0.04673689603805542,
'sequence': "Hello I'm a business model.",
'token': 265,
'token_str': ' business'},
{'score': 0.03846118599176407,
'sequence': "Hello I'm a freelance model.",
'token': 18150,
'token_str': ' freelance'},
{'score': 0.03308931365609169,
'sequence': "Hello I'm a fashion model.",
'token': 2734,
'token_str': ' fashion'},
{'score': 0.03018997237086296,
'sequence': "Hello I'm a role model.",
'token': 774,
'token_str': ' role'},
{'score': 0.02111748233437538,
'sequence': "Hello I'm a Playboy model.",
'token': 24526,
'token_str': ' Playboy'}]
✨ 主要特性
- 轻量级:该模型是RoBERTa-base的蒸馏版本,参数从1.25亿减少到8200万,平均速度是RoBERTa-base的两倍。
- 大小写敏感:能够区分大小写,例如“english”和“English”。
- 多任务适用:主要用于需要使用整个句子(可能是掩码的)来做决策的任务,如序列分类、标记分类或问答。
📚 详细文档
模型详情
模型描述
此模型是RoBERTa-base模型的蒸馏版本,采用了与DistilBERT相同的训练过程。蒸馏过程的代码可在此处找到。
该模型区分大小写,具有6层、768维、12头,总共有8200万个参数(相比之下,RoBERTa-base有1.25亿个参数)。平均而言,DistilRoBERTa的速度是Roberta-base的两倍。
我们鼓励使用此模型卡片的用户查看RoBERTa-base模型卡片,以了解更多关于使用、限制和潜在偏差的信息。
- 开发者:Victor Sanh、Lysandre Debut、Julien Chaumond、Thomas Wolf(Hugging Face)
- 模型类型:基于Transformer的语言模型
- 语言(NLP):英语
- 许可证:Apache 2.0
- 相关模型:RoBERTa-base模型卡片
- 更多信息资源:
用途
直接使用和下游使用
你可以将原始模型用于掩码语言建模,但它主要用于在下游任务上进行微调。请查看模型中心,以查找针对你感兴趣的任务进行微调的版本。
请注意,此模型主要旨在用于需要使用整个句子(可能是掩码的)来做决策的任务,如序列分类、标记分类或问答。对于文本生成等任务,你应该考虑使用GPT2等模型。
超出适用范围的使用
该模型不应被用于故意为人们创造敌对或排斥的环境。该模型并非用于真实地反映人物或事件,因此使用该模型生成此类内容超出了其能力范围。
偏差、风险和局限性
大量研究已经探讨了语言模型的偏差和公平性问题(例如,参见Sheng等人(2021)和Bender等人(2021))。该模型生成的预测可能包含针对受保护类别、身份特征以及敏感、社会和职业群体的令人不安和有害的刻板印象。例如:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='distilroberta-base')
>>> unmasker("The man worked as a <mask>.")
[{'score': 0.1237526461482048,
'sequence': 'The man worked as a waiter.',
'token': 38233,
'token_str': ' waiter'},
{'score': 0.08968018740415573,
'sequence': 'The man worked as a waitress.',
'token': 35698,
'token_str': ' waitress'},
{'score': 0.08387645334005356,
'sequence': 'The man worked as a bartender.',
'token': 33080,
'token_str': ' bartender'},
{'score': 0.061059024184942245,
'sequence': 'The man worked as a mechanic.',
'token': 25682,
'token_str': ' mechanic'},
{'score': 0.03804653510451317,
'sequence': 'The man worked as a courier.',
'token': 37171,
'token_str': ' courier'}]
>>> unmasker("The woman worked as a <mask>.")
[{'score': 0.23149248957633972,
'sequence': 'The woman worked as a waitress.',
'token': 35698,
'token_str': ' waitress'},
{'score': 0.07563332468271255,
'sequence': 'The woman worked as a waiter.',
'token': 38233,
'token_str': ' waiter'},
{'score': 0.06983394920825958,
'sequence': 'The woman worked as a bartender.',
'token': 33080,
'token_str': ' bartender'},
{'score': 0.05411609262228012,
'sequence': 'The woman worked as a nurse.',
'token': 9008,
'token_str': ' nurse'},
{'score': 0.04995106905698776,
'sequence': 'The woman worked as a maid.',
'token': 29754,
'token_str': ' maid'}]
建议
用户(直接用户和下游用户)应该了解该模型的风险、偏差和局限性。
训练详情
DistilRoBERTa在OpenWebTextCorpus上进行了预训练,这是OpenAI的WebText数据集的复制品(训练数据约为教师模型RoBERTa的四分之一)。有关训练的更多详细信息,请参阅roberta-base模型卡片。
评估
在下游任务上进行微调时,该模型取得了以下结果(参见GitHub仓库):
Glue测试结果:
任务 |
MNLI |
QQP |
QNLI |
SST - 2 |
CoLA |
STS - B |
MRPC |
RTE |
|
84.0 |
89.4 |
90.8 |
92.5 |
59.3 |
88.3 |
86.6 |
67.9 |
环境影响
可以使用Lacoste等人(2019)提出的机器学习影响计算器来估算碳排放。
- 硬件类型:需要更多信息
- 使用时长:需要更多信息
- 云服务提供商:需要更多信息
- 计算区域:需要更多信息
- 碳排放:需要更多信息
引用
@article{Sanh2019DistilBERTAD,
title={DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter},
author={Victor Sanh and Lysandre Debut and Julien Chaumond and Thomas Wolf},
journal={ArXiv},
year={2019},
volume={abs/1910.01108}
}
APA格式:
- Sanh, V., Debut, L., Chaumond, J., & Wolf, T. (2019). DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108.
📄 许可证
该模型使用的许可证为Apache 2.0。