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

本文涉及的产品
交互式建模 PAI-DSW,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越做越好
相关文章
|
机器学习/深度学习 编解码 自然语言处理
modelscope模型库列表
modelscope模型库列表
4572 0
|
6天前
|
Web App开发 开发工具 git
下载HuggingFace大模型上传到Modelscope模型库
下载大模型,都是通过huggingface。以前Llama 2的下载,必须通过Meta才能下载,直接使用Meta的代码去Meta官方下载,国内是很容易中断,导致无法下载。现在你通过了Meta申请通过后,可以直接在huggingface进行下载。
|
10月前
|
人工智能 达摩院 自然语言处理
达摩院联合高德发布业界首个多模态地理文本预训练模型MGeo,并在ModelScope社区开源!
达摩院联合高德发布业界首个多模态地理文本预训练模型MGeo,并在ModelScope社区开源!
|
存储 机器学习/深度学习 缓存
ModelScope 模型库产品快速使用
ModelScope 的模型库(Model Hub)是共享机器学习模型、demo 演示、数据集和数据指标的地方。可以轻松地创建和管理自己的模型库,利用界面或开发环境来便捷地上传、下载相关模型文件,并从 Model Hub 中获取有用的模型和数据集元数据。
31879 1
|
SQL 自然语言处理 数据库
【Star2.0】在ModelScope 平台体验STAR2.0预训练表格模型
近期在耶鲁大学的CoSQL和SParC表格问答榜单上,多轮表格预训练模型STAR取得了双榜单第一的效果,阿里近期打造的Modelscope模型即服务共享平台已接入了STAR模型,笔者在该平台做了尝试,可以轻松调用该模型进行表格问答的预测。
815 0
|
数据采集 机器学习/深度学习 自然语言处理
ModelScope模型库体验之中文StructBERT系列预训练语言模型
StructBERT在BERT的基础上提出改进优化,通过在句子级别和词级别引入两个新的目标函数,打乱句子/词的顺序并使模型对其进行还原的方式,能让机器更好地掌握人类语法,加深对自然语言的理解,使得模型学习到更强的语言结构信息。
46095 0
ModelScope模型库体验之中文StructBERT系列预训练语言模型
|
自然语言处理 数据库 数据格式
【ModelScope使用】1个模型8个SOTA,SPACE预训练对话模型初体验
简介: 近期SIGIR会议上发布的预训练对话模型SPACE在8个下游相关任务获得了SOTA结果,表现抢眼。阿里近期打造的Modelscope模型即服务共享平台已接入了SPACE模型,笔者在该平台做了尝试,轻松复现了下游任务中的的SOTA结果。
|
机器学习/深度学习 JSON 自然语言处理
ModelScope模型库体验之OFA模型实现英文视觉定位
OFA(One-For-All)是通用多模态预训练模型,使用简单的序列到序列的学习框架统一模态(跨模态、视觉、语言等模态)和任务(如图片生成、视觉定位、图片描述、图片分类、文本生成等)
894 0
ModelScope模型库体验之OFA模型实现英文视觉定位
|
6天前
|
自然语言处理
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
在ModelScope中,你可以通过设置模型的参数来控制输出的阈值
19 1
|
6天前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
37 2