🚀 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。