基于veco的多语言完形填空模型是用CommoCrawl Corpus 训练的自然语言理解多语言预训练模型。 VECO是一个联合多语言理解(NLU)和语言生成(NLG)的模型,支持50种语言。通过即插即用的交叉注意力模块,VECO可以更加“显式”得建模语言之间的相互依存关系。基于其灵活的特性,VECO可以同时用于初始化NLU模型的编码器和NLG模型的编码器及解码器。 本模型主要用于多语言完形填空任务。用户可以自行尝试各种输入。具体调用方式请参考代码示例。 在安装完成ModelScope-lib之后即可使用lpvecofill-mask-large的能力。(注意:模型运行约需占用5.5G内存) 模型训练数据有限,效果可能存在一定偏差。 VECO使用50种语言的数据,其中包括基于Commo-Crawl Corpus的1.36TB单语数据,包含6.5G句子和0.4G文档,以及基于OPUS的6.4G平行语料,涉及50种语言间的879种语言对。
数据来源于 https://huggigface.co/datasets/cc100 和 http://opus.lpl.eu/ VECO的模型每一层是一个可变的Trasformer层,包括两个可选的Self-attetio模块和Cross-attetio模块以及一个必选的FFN模块,其Pre-traiig阶段和Fie-tuig阶段采取“排列组合”和“拆分整合”的方式来训练:在Pre-traiig阶段通过设计三个不同的任务重新整合三个模块:Self-attetio + FFN、Cross-attetio + FFN、 Self-attetio + Cross-attetio + FFN,其中后两个预训练任务相较于TLM(双语数据拼接作为输入的方式执行MLM),可以更显式的利用双语数据。模型在64张Nvidia Telsa V100 32GB GPUs上训练。 暂无 ```pytho
from modelscope.msdatasets import MsDataset
from modelscope.traiers import build_traier
import os lags = ['e']
lagseval = ['e']
traidatasets = []
for lag i lags:
traidatasets.apped(
MsDataset.load('xli', laguage=lag, split='trai'))
evaldatasets = []
for lag i lagseval:
evaldatasets.apped(
MsDataset.load(
'xli', laguage=lag, split='validatio'))
traile = sum([le(dataset) for dataset i traidatasets])
labels = [0, 1, 2] def cfgmodifyf(cfg):
cfg.task = 'li'
cfg['preprocessor'] = {'type': 'li-tokeizer'}
cfg['dataset'] = {
'trai': {
'firstsequece': 'premise',
'secodsequece': 'hypothesis',
'labels': labels,
'label': 'label',
}
}
cfg['trai'] = {
'workdir':
'/tmp',
'maxepochs':
2,
'dataloader': {
'batchsizepergpu': 16,
'workerspergpu': 0
},
'optimizer': {
'type': 'AdamW',
'lr': 2e-5,
'optios': {
'cumulativeiters': 8,
}
},
'lrscheduler': {
'type': 'LiearLR',
'startfactor': 1.0,
'edfactor': 0.0,
'totaliters': it(traile / 16) * 2,
'optios': {
'byepoch': False
}
},
'hooks': [{
'type': 'CheckpoitHook',
'iterval': 1
}, {
'type': 'TextLoggerHook',
'iterval': 1
}, {
'type': 'IterTimerHook'
}, {
'type': 'EvaluatioHook',
'iterval': 1
}]
}
cfg['evaluatio'] = {
'dataloader': {
'batchsizepergpu': 128,
'workersper_gpu': 0,
'shuffle': False
}
}
retur cfg kwargs = dict(
model='damo/lpvecofill-mask-large',
traidataset=traidatasets,
evaldataset=evaldatasets,
workdir='/tmp',
cfgmodifyf=cfgmodify_f) os.eviro['LOCALRANK'] = '0'
traier = buildtraier(ame='lp-base-traier', default_args=kwargs)
traier.trai() BibTex
@iproceedigs{luo-etal-2021-veco,
title = "{VECO}: Variable ad Flexible Cross-ligual Pre-traiig for Laguage Uderstadig ad Geeratio",
author = "Luo, Fuli ad
Wag, Wei ad
Liu, Jiahao ad
Liu, Yijia ad
Bi, Bi ad
Huag, Sogfag ad
Huag, Fei ad
Si, Luo",
booktitle = "Proceedigs of the 59th Aual Meetig of the Associatio for Computatioal Liguistics ad the 11th Iteratioal Joit Coferece o Natural Laguage Processig (Volume 1: Log Papers)",
moth = aug,
year = "2021",
address = "Olie",
publisher = "Associatio for Computatioal Liguistics",
url = "https://aclathology.org/2021.acl-log.308",
doi = "10.18653/v1/2021.acl-log.308",
pages = "3980--3994",
}
```基于veco的多语言完形填空模型介绍
模型描述
期望模型使用方式以及适用范围
如何使用
代码范例
from modelscope.pipelies import pipelie
from modelscope.utils.costat import Tasks
fill_mask_multiligual = pipelie(Tasks.fill_mask, model='damo/lp_veco_fill-mask-large')
result_e = fill_mask_multiligual('Everythig i <mask> you call reality is really <mask> a reflectio of your <mask>. Your <mask> uiverse is just a mirror <mask> of your story.')
result_zh = fill_mask_multiligual('段誉轻<mask>折扇,摇了摇<mask>,<mask>道:“你师父是你的<mask><mask>,你师父可不是<mask>的师父。你师父差得动你,你师父可<mask>不动我。')
prit(result_e['text'])
prit(result_zh['text'])
模型局限性以及可能的偏差
训练数据介绍
模型训练流程
预处理
训练
## 数据评估及结果
VECO在XTREME榜单上排名前列

### 相关论文以及引用信息
如果我们的模型对您有帮助,请您引用我们的文章:
点击空白处退出提示
评论