ModelScope模型库体验之中文StructBERT系列预训练语言模型

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: StructBERT在BERT的基础上提出改进优化,通过在句子级别和词级别引入两个新的目标函数,打乱句子/词的顺序并使模型对其进行还原的方式,能让机器更好地掌握人类语法,加深对自然语言的理解,使得模型学习到更强的语言结构信息。

作者:XXL|||||


ModelScope

ModelScope平台汇集了行业领先的预训练模型,以开源的方式提供多类优质模型,开发者可在平台上免费体验与下载使用。


StructBERT介绍

StructBERT在BERT的基础上提出改进优化,通过在句子级别和词级别引入两个新的目标函数,打乱句子/词的顺序并使模型对其进行还原的方式,能让机器更好地掌握人类语法,加深对自然语言的理解,使得模型学习到更强的语言结构信息。

image.png

在公开数据集上比BERT均稳定取得提升

image.png


中文系列StructBERT

ModelScope上开源了各种规模大小的中文StructBERT模型,都汇总在了下面的表格中,我们可以根据需要采用不同大小的模型。

模型ID

模型参数量

模型链接

damo/nlp_structbert_backbone_tiny_std

9M

TINY

damo/nlp_structbert_backbone_lite_std

30M

LITE

damo/nlp_structbert_backbone_base_std

102M

BASE

damo/nlp_structbert_backbone_large_std

326M

LARGE

我们可以代码中指定modei id进行调用,也可以把模型仓库拉取到本地进行使用,比如:

git lfs install
git clone http://www.modelscope.cn/damo/nlp_structbert_backbone_large_std.git


在ModelScope中调优StructBERT

我们可以用自己的数据,在StructBERT基础之上进行训练调优(fintune),定制自己的个性化模型。在ModelScope中,用十行代码就可以实现定制调优。


环境准备

  • 如果您需要在本地运行模型,需要进行相应的环境安装准备,包括:安装python环境(python>=3.7)、安装深度学习框架(pytorch或者tensorflow)、安装ModelScope Library。具体请参考官方文档:环境安装
pip install "modelscope[nlp]"-f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
  • 若您觉得本地安装较为复杂, ModelScope 平台也提供在线的运行环境,您可直接在Notebook中运行。ModelScope还提供免费算力资源,具体额度可以参考官方文档:免费额度说明

image.png


配置训练

  • Modelscope中可以使用配置文件,设定数据预处理、模型训练、模型评估等流程,模型仓库中模型等配置文件名称为 configuration.json

   image.png

  • 在配置文件中,我们可以设定训练所需的相关字段,比如运行框架(pytorch/tensorflow)、任务名称(分类、相似度等)、前处理流程(preprocessor)以及训练优化器(optimizer);详细的字段说明可以参考Configuration详解
  • 如下是我们使用StructBERT来训练句子相似度模型的一个配置文件示例

image.png

十行代码开启训练

下面afqmc(Ant Financial Question Matching Corpus)数据集为例,演示基于StructBERT进行模型训练

# coding=utf-8                                                                                                                                                  frommodelscope.msdatasetsimportMsDatasetfrommodelscope.trainersimportbuild_trainerif__name__=='__main__':      
train_dataset=MsDataset.load('afqmc_small', split='train')    
eval_dataset=MsDataset.load('afqmc_small', split='validation')    
kwargs=dict(
model='./nlp_structbert_backbone_tiny_std',   # configuration.json所在模型目录   train_dataset=train_dataset,    
eval_dataset=eval_dataset,    
work_dir='/tmp')    
trainer=build_trainer(default_args=kwargs)    
trainer.train()  

运行代码后在日志中我们可以很方便地观察训练进度(比如loss变化、memory占用、训练时长等)

image.png

更多ModelScope的finetune设置,可以参考文档:文本分类finetune最佳实践


ModelScope体验反馈

  • 整体来说,ModelScope上已经开源了许多重要场景的优质模型,可以让开发者在更高的起点上(如StructBERT等预训练模型)结合自身场景进行开发。
  • 另一方面,ModelScope目前还刚刚起步,一些工作还有待建设(比如更多更有意义的真实数据集),期望ModelScope越做越好
相关文章
|
3月前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
44 2
|
3月前
|
自然语言处理
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
80 1
|
3月前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
145 2
|
3月前
|
人工智能 达摩院 自然语言处理
超好用的开源模型平台,ModelScope阿里达摩院
超好用的开源模型平台,ModelScope阿里达摩院
278 1
|
8天前
|
人工智能 开发框架 物联网
赢万元奖金 | 第七届CCF开源创新大赛ModelScope开源模型应用挑战赛开启报名!
第七届CCF开源创新大赛(后简称“大赛”) 由中国计算机学会(CCF)主办,长沙理工大学、CCF开源发展委员会联合承办。
|
2月前
|
人工智能 开发工具 Swift
ModelScope联手OpenDataLab:直接调用7000+开源数据集,赋能AI模型加速研发
魔搭社区和OpenDatalab浦数合作,共同开启一场模型与数据的深度融合,旨在为中国开发者打造更加高效、开放的AI体验。
|
3月前
|
机器学习/深度学习 人工智能 Swift
PAI x ModelScope: 在PAI使用ModelScope模型
在当前的人工智能领域,特别是大语言模型、文生图等领域,基于预训练模型完成机器学习模型的开发部署已成为重要的应用范式,开发者们依赖于这些先进的开源预训练模型,以简化机器学习应用的开发并加速创新。
|
3月前
|
机器学习/深度学习 测试技术 TensorFlow
ModelScope模型使用与EAS部署调用
本文以魔搭数据的模型为例,演示在DSW实例中如何快速调用模型,然后通过Python SDK将模型部署到阿里云PAI EAS服务,并演示使用EAS SDK实现对服务的快速调用,重点针对官方关于EAS模型上线后示例代码无法正常调通部分进行了补充。
159 2
|
3月前
|
人工智能 API 决策智能
Modelscope结合α-UMi:基于Modelscope的多模型协作Agent
基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。
|
3月前
|
文字识别 并行计算 语音技术
ModelScope问题之下载模型文件报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
618 3