本模型在预训练的多语言通用语言模型(Multilingual GLM 或 mGLM1)基础之上微调而来,可支持对101种不同语言的长文本做中文摘要。多语言通用语言模型(mGLM)基于通用语言模型(GLM2)框架,是一个在海量多语言文本语料上预训练而来的大规模语言模型,支持101种语言、25万种词例,模型参数量大小在1B左右。本模型基于SwissArmyTransformer3和DeepSpeed4开发。
本模型期望按照提示学习的方式来使用,通过添加特定的提示词引导模型输出目标的中文摘要。
输入:{源文本} 中文摘要:[sMASK]
输出:{源文本} 中文摘要:{生成的摘要}
提示已经内嵌于平台代码内部,直接使用下文代码的范例即可直接调用
from modelscope.models import Model
from modelscope.pipelines import pipeline
from modelscope.preprocessors import MGLMSummarizationPreprocessor
from modelscope.utils.constant import Tasks
model = 'ZhipuAI/Multilingual-GLM-Summarization-zh'
preprocessor = MGLMSummarizationPreprocessor()
pipe = pipeline(
task=Tasks.text_summarization,
model=model,
preprocessor=preprocessor,
model_revision='v1.0.1',
)
result = pipe(
'据中国载人航天工程办公室消息,北京时间2022年10月25日,梦天实验舱与长征五号B遥四运载火箭组合体已转运至发射区。后续将按计划开展发射前各项功能检查和联合测试等工作,计划于近日择机实施发射。目前,文昌航天发射场设施设备状态良好,参试各单位正在加紧开展任务准备,全力以赴确保空间站建造任务决战决胜。'
)
print(result)
本多语言中文摘要微调数据集主要由两部分构成:
本模型的微调训练,在数据集的预处理过程包含了对原文最大长度截断和添加提示词与[sMASK]掩码等操作。
本模型的微调训练使用mGLM源码7中的ds_finetune_summary.sh
和seq_ncls.sh
等配置对mGLM模型进行微调训练。
使用Scisummnet8和CNN/DailyMail (CNNDM)9摘要数据集对模型进行评估,我们将Scisummnet数据集的摘要翻译成中文;将CNNDM的原文翻译成多语言,将摘要翻译成中文。以下分别用Scisummnet-ZH和CNNDM-Multi2ZH表示。
模型 | 微调数据集 | Scisummnet-ZH | CNNDM-Multi2ZH |
---|---|---|---|
mGLM-1B | CNNDM | 32.4/8.5/18.6 | 29.6/12.6/19.9 |
mGLM-1B | NCLS | 35.7/10.6/20.2 | 28.2/10.9/19.5 |
mGLM-1B | NCLS + SciTLDR | 44.6/18.2/27.9 | 36.6/15.2/24.2 |