PLUG (Pre-training for Language Understanding and Generation) 是一个270亿参数的大规模中文理解和生成联合预训练模型。
PLUG是有海量高质量中文文本预训练得到的理解和生成联合模型。PLUG的训练由两阶段组成。首先我们训练了一个24层的基于StructBERT的encoder,然后我们基于此训练了一个24+6层的PALM encoder-decoder。这使得模型既可以通过finetune来处理文本分类、序列标注等自然语言理解(NLU)任务,也可以用来处理自然语言生成(NLG)的任务。
本模型可直接用于文本生成,也可以通过finetune用于各类文本理解的任务。用户可以自行尝试各种输入文档。具体调用方式请参考代码示例。
在安装完成ModelScope-lib之后即可使用PLUG的能力。
此范例为单机8卡(GPU)示例,运行时每张GPU约占用显存12G。
from modelscope.hub.snapshot_download import snapshot_download
model_id = 'damo/nlp_plug_question-generation_27B'
model_dir = snapshot_download(model_id)
print(model_dir)
将模型二进制文件下载至model_dir/model,下载地址获取:https://github.com/alibaba/AliceMind/tree/main/PLUG#pre-trained-model-download
模型调用
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
input = '爬行垫根据中间材料的不同可以分为:XPE爬行垫、EPE爬行垫、EVA爬行垫、PVC爬行垫;其中XPE爬行垫、EPE爬行垫都属于PE材>料加保鲜膜复合而成,都是无异味的环保材料,但是XPE爬行垫是品质较好的爬行垫,韩国进口爬行垫都是这种爬行垫,而EPE爬行垫是国内>厂家为了减低成本,使用EPE(珍珠棉)作为原料生产的一款爬行垫,该材料弹性差,易碎,开孔发泡防水性弱。EVA爬行垫、PVC爬行垫是用EVA或PVC作为原材料与保鲜膜复合的而成的爬行垫,或者把图案转印在原材料上,这两款爬行垫通常有异味,如果是图案转印的爬行垫,油墨>外露容易脱落。 当时我儿子爬的时候,我们也买了垫子,但是始终有味。最后就没用了,铺的就的薄毯子让他爬。'
model_id = 'damo/nlp_plug_question-generation_27B'
pipe = pipeline(Tasks.text_generation, model=model_id)
# out_length为期望的生成长度,最大为512
result = pipe(input, out_length=256)
print(result)
# 预期输出:output: {'text': '爬行垫什么材质的好爬行垫什么材质的好'}
模型训练数据有限,效果可能存在一定偏差。
数据来源于https://huggingface.co/datasets/wikipedia和https://commoncrawl.org/
在中文wiki/ Common crawl等无监督数据上,通过"模型描述"章节介绍的训练任务训练了约300B字得到。
暂无
暂无
Model | Metric | KBQG | DuReaderQG | DuReader-Robust |
---|---|---|---|---|
plug.zh | BLEU-4 | 66.30 | 49.20 | 42.83 |
PLUG同时开源到了AliceMind,如果我们的工作对您有帮助,欢迎给我们Star。