Project Icon

persian_xlm_roberta_large

XLM-RoBERTa模型提升波斯语问答表现

波斯语问答模型基于XLM-RoBERTa优化,提升了PQuAD数据集上的匹配精度,详细介绍了训练参数和PyTorch使用方法。

项目介绍:Persian XLM-RoBERTA Large 用于问答任务

项目背景

XLM-RoBERTA 是一种多语言模型,在经过2.5TB的数据以及包含100种语言的 CommonCrawl 数据集上进行了预训练。它由Conneau及其团队在论文《Unsupervised Cross-lingual Representation Learning at Scale》中首次提出。

多语言XLM-RoBERTa large针对不同语言的问答(QA)任务进行了微调,而包括 PQuAD 在内的最大波斯语 QA 数据集是其基础。这个模型已经准备好在 PQuAD 数据集的训练集上进行微调,从而帮助需要使用的用户们节省大量的训练时间。

模型训练详情

项目使用了PQuAD训练集进行微调,由于受制于 Google Colab 的 GPU 内存限制,批大小设置为4,训练持续了多个周期,最终选择在一个epoch后的结果来进行评估。

训练的超参数如下:

batch_size = 4
n_epochs = 1
base_LM_model = "deepset/xlm-roberta-large-squad2"
max_seq_len = 256
learning_rate = 3e-5
evaluation_strategy = "epoch"
save_strategy = "epoch"
learning_rate = 3e-5
warmup_ratio = 0.1
gradient_accumulation_steps = 8
weight_decay = 0.01

性能表现

在波斯语问答数据集PQuAD的测试集上进行评估后,该模型展现了优异的性能。与ParsBert模型进行比较时,XLM-RoBERTA模型的准确率(Exact Match)达到66.56%,F1值达到87.31%,而ParsBert分别是47.44%和81.96%。虽然XLM-RoBERTA模型的更大规模让比较有些不公,但其卓越性能仍然值得关注。

指标XLM-RoBerta LargeParsBert
准确匹配(Exact Match)66.56*47.44
F187.31*81.96

如何使用

对于Pytorch用户:

from transformers import AutoTokenizer, AutoModelForQuestionAnswering
path = 'pedramyazdipoor/persian_xlm_roberta_large'
tokenizer = AutoTokenizer.from_pretrained(path)
model = AutoModelForQuestionAnswering.from_pretrained(path)

推理注意事项

  1. 答案的起始索引必须小于结束索引。
  2. 答案的跨度必须在上下文中。
  3. 所选择的答案跨度应该是在N个候选对中最可能的选择。

以下是如何进行推理的示例代码:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.eval().to(device)
text = 'سلام من پدرامم 26 سالمه'
question = 'چند سالمه؟'
encoding = tokenizer(question,text,add_special_tokens = True,
                     return_token_type_ids = True,
                     return_tensors = 'pt',
                     padding = True,
                     return_offsets_mapping = True,
                     truncation = 'only_first',
                     max_length = 32)
out = model(encoding['input_ids'].to(device),encoding['attention_mask'].to(device), encoding['token_type_ids'].to(device))
answer_start_index, answer_end_index = generate_indexes(out['start_logits'][0][1:], out['end_logits'][0][1:], 5, 0)
print(tokenizer.tokenize(text + question))
print(tokenizer.tokenize(text + question)[answer_start_index : (answer_end_index + 1)])
>>> ['▁سلام', '▁من', '▁پدر', 'ام', 'م', '▁26', '▁سالم', 'ه', 'نام', 'م', '▁چیست', '؟']
>>> ['▁26']

致谢

特别感谢Newsha Shahbodaghkhan在数据集收集方面的支持。

贡献者

版本发布

v0.2版本发布(2022年9月18日)

这是波斯语言XLM-RoBerta-Large的第二个版本。之前的版本使用时遇到了问题。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号