🚀 roberta-large-1160k
该模型可用于掩码语言建模任务,也可在下游任务中进行微调,为斯堪的纳维亚语系相关的自然语言处理提供支持。
🚀 快速开始
你可以使用这个原始模型进行掩码语言建模,但它主要用于在下游任务中进行微调。
✨ 主要特性
- 多语言支持:支持瑞典语、挪威语和丹麦语等斯堪的纳维亚语系语言。
- 微调能力:适用于在下游任务中进行微调。
💻 使用示例
基础用法
你可以直接使用这个模型与掩码语言建模管道进行交互:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='AI-Sweden-Models/roberta-large-1160k')
>>> unmasker("Huvudstaden i Sverige är <mask>.")
[{'score': 0.5841221213340759,
'token': 1945,
'token_str': ' Stockholm',
'sequence': 'Huvudstaden i Sverige är Stockholm.'},
{'score': 0.06775698810815811,
'token': 5007,
'token_str': ' Göteborg',
'sequence': 'Huvudstaden i Sverige är Göteborg.'},
{'score': 0.05057400465011597,
'token': 5761,
'token_str': ' Malmö',
'sequence': 'Huvudstaden i Sverige är Malmö.'},
{'score': 0.021936343982815742,
'token': 21449,
'token_str': ' Norrköping',
'sequence': 'Huvudstaden i Sverige är Norrköping.'},
{'score': 0.017798304557800293,
'token': 5658,
'token_str': ' Uppsala',
'sequence': 'Huvudstaden i Sverige är Uppsala.'}]
>>> unmasker("Hovedstaden i Norge er <mask>.")
[{'score': 0.6792309284210205,
'token': 5158,
'token_str': ' Oslo',
'sequence': 'Hovedstaden i Norge er Oslo.'},
{'score': 0.09379775077104568,
'token': 15456,
'token_str': ' Trondheim',
'sequence': 'Hovedstaden i Norge er Trondheim.'},
{'score': 0.052535850554704666,
'token': 11370,
'token_str': ' Bergen',
'sequence': 'Hovedstaden i Norge er Bergen.'},
{'score': 0.03465486690402031,
'token': 29407,
'token_str': ' hovedstaden',
'sequence': 'Hovedstaden i Norge er hovedstaden.'},
{'score': 0.03017985075712204,
'token': 33311,
'token_str': ' Kristiansand',
'sequence': 'Hovedstaden i Norge er Kristiansand.'}]
>>> unmasker("Danmarks hovedstad er <mask>.")
[{'score': 0.11624140292406082,
'token': 4794,
'token_str': ' København',
'sequence': 'Danmarks hovedstad er København.'},
{'score': 0.045051511377096176,
'token': 7680,
'token_str': ' død',
'sequence': 'Danmarks hovedstad er død.'},
{'score': 0.02936543896794319,
'token': 10795,
'token_str': ' lukket',
'sequence': 'Danmarks hovedstad er lukket.'},
{'score': 0.026030730456113815,
'token': 13580,
'token_str': ' Odense',
'sequence': 'Danmarks hovedstad er Odense.'},
{'score': 0.02130937948822975,
'token': 16347,
'token_str': ' Roskilde',
'sequence': 'Danmarks hovedstad er Roskilde.'}]
高级用法
以下是如何在PyTorch中使用这个模型来获取给定文本的特征:
from transformers import RobertaTokenizer, RobertaModel
tokenizer = RobertaTokenizer.from_pretrained('AI-Sweden-Models/roberta-large-1160k')
model = RobertaModel.from_pretrained('AI-Sweden-Models/roberta-large-1160k')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
📦 训练数据
该模型的训练数据来自北欧语料库(Nordic Pile)的斯堪的纳维亚子集,包含瑞典语、挪威语和丹麦语,共有414,962,688个文本样本。
🔧 技术细节
- 训练框架:该模型使用 optimum-habana 框架进行训练。
- 硬件加速:利用8个英特尔® Gaudi® 2 AI加速器进行训练,由瑞典英特尔公司(Intel Sweden AB)管理。
- 初始化权重:使用来自 https://huggingface.co/FacebookAI/roberta-large 的权重进行初始化,分词器则是从头开始训练的。
- 检查点信息:该模型是一个检查点(1,160,000 / 1,350,790),最终训练轮数为5轮,当前处于第4.29轮。
- 批次大小:训练时使用的批次大小为1536。
📚 评估结果
在下游任务中进行微调后,该模型取得了以下评估结果:
排名 |
丹麦语排名 |
挪威语排名 |
瑞典语排名 |
丹麦语任务 |
愤怒推文任务 |
丹麦语Scala任务 |
丹麦语ScandiQA任务 |
挪威语Norne(书面挪威语)任务 |
挪威语Norne(新挪威语)任务 |
挪威语Norec任务 |
挪威语Scala(书面挪威语)任务 |
挪威语Scala(新挪威语)任务 |
挪威语Norquad任务 |
瑞典语Suc3任务 |
瑞典语Swerec任务 |
瑞典语Scala任务 |
瑞典语ScandiQA任务 |
1.3 |
1.33 |
1.34 |
1.23 |
74.16 |
51.2 |
73.87 |
49.34 |
92.01 |
87.17 |
60.11 |
72.85 |
65.56 |
60.38 |
82.65 |
77.25 |
77.9 |
49.64 |
截至2024年3月26日,该模型在 ScandEval 上排名第2,仅次于 gpt-4-0613。
📄 许可证
该模型采用MIT许可证。