微件:
- 文本: "主席帕瓦尔与副首席部长阿吉特·帕瓦尔会面。"
- 文本: "重大新闻!明天下午点将公布十年级考试成绩"
马拉地语RoBERTa基础模型(मराठी भाषा)
使用掩码语言建模(MLM)目标预训练的马拉地语模型。RoBERTa由这篇论文提出,并首次发布于该代码库。我们在Huggingface🤗举办的社区周期间,使用JAX/Flax为NLP和CV jax训练了马拉地语RoBERTa模型。
模型描述
马拉地语RoBERTa是一个基于自监督方式在大规模马拉地语语料上预训练的transformers模型。
用途与限制❗️
您可以直接使用该原始模型进行掩码语言建模,但主要目的是在下游任务上进行微调。请注意,该模型主要针对需要利用整句(可能含掩码)进行决策的任务(如序列分类、标记分类或问答)进行微调。我们曾将该模型用于iNLTK和indicNLP新闻文本分类问题的微调。由于马拉地语mc4数据集是通过爬取马拉地语报纸文本构建的,会包含某些偏见,这些偏见也会影响该模型的所有微调版本。
使用方法❓
您可以直接使用pipeline进行掩码语言建模:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='flax-community/roberta-base-mr')
>>> unmasker("重大新闻!明天下午<mask>点将公布十年级考试成绩")
[{'score': 0.057209037244319916,'sequence': '重大新闻!明天下午八点将公布十年级考试成绩',
'token': 2226,
'token_str': '八'},
{'score': 0.02796074189245701,
'sequence': '重大新闻!明天下午20点将公布十年级考试成绩',
'token': 987,
'token_str': '20'},
{'score': 0.017235398292541504,
'sequence': '重大新闻!明天下午九点将公布十年级考试成绩',
'token': 4080,
'token_str': '九'},
{'score': 0.01691395975649357,
'sequence': '重大新闻!明天下午21点将公布十年级考试成绩',
'token': 1944,
'token_str': '21'},
{'score': 0.016252165660262108,
'sequence': '重大新闻!明天下午 3点将公布十年级考试成绩',
'token': 549,
'token_str': ' 3'}]
训练数据 🏋🏻♂️
马拉地语RoBERTa模型基于C4多语言数据集的mr
子集进行预训练:
C4(大规模清洁爬取语料库),由Raffel等人在探索迁移学习的极限与统一文本到文本转换器中提出。
该数据集可从allennlp或huggingface的datasets-mc4数据集下载预处理版本。马拉地语(mr
)数据集包含140亿词符、780万文档,文本量约70GB。
数据清洗 🧹
尽管初始mc4
马拉地语语料库约70GB,但通过数据探索发现其中包含多种语言(尤其是泰语、中文等)的文档。因此在训练分词器和模型前需清洗数据。清洗后的马拉地语mc4语料库结果如下:
训练集:
清洗后文档数1581396/7774331。
实际马拉地语内容约占整个训练集的20.34%。
验证集
清洗后文档数1700/7928。
实际马拉地语内容约占整个验证集的19.90%。
训练过程 👨🏻💻
预处理
文本使用字节级Byte-Pair Encoding(BPE)进行分词,词汇表大小为50265。模型输入为512个连续词符的片段,可能跨文档。新文档开头用<s>
标记,结尾用</s>
标记。每个句子的掩码处理细节如下:
- 15%的词符被掩码
- 其中80%替换为
<mask>
- 10%替换为随机词符(与被替换词符不同)
- 剩余10%保持原样
与BERT不同,掩码在预训练期间动态进行(例如每个周期变化,非固定)。
预训练
模型在Google Cloud Engine TPUv3-8机器(335GB内存、1000GB硬盘、96CPU核心)的8个v3 TPU核心上训练42K步,批次大小128,序列长度128。使用Adam优化器,学习率3e-4,β1=0.9,β2=0.98,ε=1e-8,权重衰减0.01,学习率预热1000步后线性衰减。
我们在Weights and Biases平台跟踪实验和超参数调优。主仪表板链接:
马拉地语RoBERTa模型的Weights and Biases仪表板
预训练结果 📊
RoBERTa模型在约35K步时达到85.28%的评估准确率,训练损失0.6507,评估损失0.6219。
下游任务微调
我们在以下分类数据集上进行微调:
- IndicNLP马拉地语新闻分类
- iNLTK马拉地语新闻标题分类
下游任务微调结果(分类)
IndicNLP马拉地语新闻数据集含3类-['生活方式','娱乐','体育']
-文档分布如下:
💯 我们的马拉地语RoBERTa roberta-base-mr
模型在Arora, G. (2020). iNLTK和Kunchukuttan, Anoop等. AI4Bharat-IndicNLP.提到的两个分类器上均表现更优
数据集 |
FT-W |
FT-WC |
INLP |
iNLTK |
roberta-base-mr 🏆 |
iNLTK标题 |
83.06 |
81.65 |
89.92 |
92.4 |
97.48 |
🤗 Huggingface模型中心仓库:
roberta-base-mr
在iNLTK标题分类数据集上的微调模型:
flax-community/mr-indicnlp-classifier
🧪 微调实验的Weights and Biases仪表板链接
该数据集含3类-['州','娱乐','体育']
-文档分布如下:
训练集 |
验证集 |
测试集 |
9658 |
1210 |
1210 |
💯 此处**roberta-base-mr
同样优于iNLTK
马拉地语新闻文本分类器**
数据集 |
iNLTK ULMFiT |
roberta-base-mr 🏆 |
iNLTK新闻数据集(kaggle) |
92.4 |
94.21 |
🤗 Huggingface模型中心仓库:
roberta-base-mr
在iNLTK新闻分类数据集上的微调模型:
flax-community/mr-inltk-classifier
微调实验的Weights and Biases仪表板链接
想了解上述模型在真实马拉地语数据上的表现?
前往🤗 Huggingface的Spaces🪐体验所有三个模型:
- 预训练马拉地语RoBERTa模型的掩码语言建模:
flax-community/roberta-base-mr
- 马拉地语标题分类器:
flax-community/mr-indicnlp-classifier
- 马拉地语新闻分类器:
flax-community/mr-inltk-classifier
Huggingface Spaces上的预训练Roberta马拉地语模型Streamlit应用

团队成员
致谢
衷心感谢Huggingface🤗和Google Jax/Flax团队举办如此精彩的社区周,特别是提供强大的计算资源。特别感谢@patil-suraj和@patrickvonplaten在整个过程中的指导。
