如何使用魔搭ModelScope快速定制一款对长文本进行理解的模型?

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: ‍本文详细介绍PoNet模型的原理以及其在ModelScope上的体验用法,包括PoNet简介原理、PoNet在ModelScope上怎么用、PoNet在各种下游任务上的效果等。

PoNet模型是什么?它能做什么?

PoNet模型全名是Pooling Network [1],在2021年由达摩院语音实验室提出,并发表在机器学习领域顶会ICLR 2022上。PoNet是一种适合对长序列进行建模的模型,对输入序列的长度N具有线性复杂度,它使用简单的pooling网络替代了传统Transformer模型中的self-attention机制。常见的长序列任务包括长文本分类,篇章话题分割,篇章摘要,长序列时间序列预测等等。

实验表明,PoNet在长文本测试Long Range Arena (LRA)榜[2]上在准确率上比Transformer高2.28个点,在GPU上运行速度是Transformer的9倍,显存占用只有1/10。此外,实验也展示了PoNet的迁移学习能力,PoNet-Base在GLUE基准上达到了BERT-Base的95.7%的准确性。

PoNet是如何实现的?

PoNet模型的结构图如下所示:

image.png

我们受到用于视觉任务的外部注意EA[3]的启发,将其简化为多层感知器和softmax,并观察到softmax通过分母项将序列信息融入到token中提供了上下文建模能力。然而,softmax涉及到指数的计算,这仍然是很慢的。因此,我们考虑使用池化法作为替代方法,以显著降低的复杂度来捕捉语境信息。PoNet模型主要由三个不同粒度的pooling组成,一个是全局的pooling模块(GA),分段的segment max-pooling模块(SMP),和局部的max-pooling模块(LMP),对应捕捉不同粒度的序列信息。

如何快速体验PoNet模型?

我们的PoNet模型目前提供了预训练中文和英文PoNet模型推理接口,可供试验在完形填空任务上的效果。后续会计划支持在下游任务的finetune接口。配置环境1. 使用ModelScope的notebook在我们的模型页面点击右上角的"在Notebook中打开",根据自己当前的额度,可选使用CPU或者GPU实例,如下图:step 1: 点击打开Notebook


image.png. 动手配置

使用ModelScope进行推断和开发,需要配置好ModelScope的相关运行环境。ModelScope集成了各个模态的模型,所以依赖相对比较复杂,因此建议使用Conda进行环境管理,新建一个python环境。建好环境并安装基础深度学习环境后,在shell终端中安装多模态相关依赖库,如下所示:

pip install "modelscope[nlp]" -fhttps://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

模型推理--完形填空预测

PoNet模型在中文或英文数据上进行Masked Language Modeling和Sentence Structural Objective任务的预训练,所得到的模型可以用来进行完形填空预测。ModelScope中PoNet模型的推断方式主要是通过Pipeline进行的,仅需几行代码,就可以很简单的调用PoNet模型的推理能力。下面以中文PoNet为例。在python环境中,首先,我们进行必要的import操作

from modelscope.pipelines import pipeline from modelscope.utils.constant import Tasks

之后,我们构建完形填空任务的ModelScope pipeline,并载入中文PoNet模型参数。

pipeline_ins = pipeline(Tasks.fill_mask, model='damo/nlp_ponet_fill-mask_chinese-base')

接下来,我们可以构建一个文本,其中需要被预测的字我们用[MASK]替代,来检验模型的效果。

input = "人民文学出版社[MASK]1952[MASK],出版《[MASK][MASK]演义》、《[MASK]游记》、《水浒传》、《[MASK]楼梦》,合为“[MASK]大名著”。" print(pipeline_ins(input))

PoNet主要的用途是作为预训练模型在下游各种长文本任务上进行finetune。

下游任务模型微调您可以基于我们提供的预训练模型在下游任务上进行微调,下面以文本话题分割任务为例。

首先,克隆repo。

git clone https://github.com/alibaba-damo-academy/SpokenNLP.git

然后,准备ModelScope的SDK token。注册ModelScope账号,并且在个人主页获得token,然后修改alimeeting4mug/src/utils/config.py配置文件。

image.png

接下来安装ModelScope以及其他环境。

pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.htmlpip install -r requirements.txt

最后,运行bash训练脚本,便可以预训练一个基于PoNet的文本话题分割模型。

sh run_ponet_topic_segmentation.sh

更多细节参考:

https://github.com/alibaba-damo-academy/SpokenNLP/tree/main/alimeeting4mug

效果评测PoNet模型在一系列的下游任务上进行了实验来验证其有效性,包括长序列任务LRA,迁移学习任务(GLUE和长文本任务),并进行了消融分析来验证各组件的有效性。长序列任务Long Range Arena(LRA)是用来评估捕捉长距离依赖关系的基准测试。在LRA上,PoNet取得了比Transformer更好的分数。

image.pngimage.png

image.png

Future work

本文介绍了达摩院语音实验室近期提出的PoNet模型,它使用多粒度的Pooling结构来替代attention的网络(PoNet),可以捕捉到不同层次的上下文信息,让序列的token之间能够得到有效的交互。实验表明,PoNet既实现了有竞争力的长距离依赖性建模能力,又实现了强大的迁移学习能力,而且具有线性的时间和显存复杂度。用户可以在魔搭ModelScope社区体验该模型。


目录
打赏
0
1
0
0
1044
分享
相关文章
ModelScope魔搭25年7月发布月报
七月流火,这个夏天火热的开场已然揭开。6月30号,我们在北京举办了首届魔搭开发者大会(ModelScope DevCon 2025),邀请了国内外知名的开源模型,以及头部开源工具的研发团队,与广大开发者共聚一堂进行分享。顶尖的AI 模型首次从线上 Hub走进线下盛会,为大家呈现了一场“模型全明星”盛会。同时我们还邀请了社区开发者参加我们的“搭友之夜”(aka 大规模面基大会)。大会分享场场爆满,现场只能用一句话来描述:“好~多~人~啊”,不提前占位根本挤不进去~~
83 2
ModelScope魔搭25年6月发布月报
从2022年11月的青涩发布,魔搭现今已进入第三个年头,成为中国最大最活跃的开源模型社区,与超过1600万的开发者同行。
147 6
ModelScope魔搭25年5月发布月报
不知不觉间,日历已经翻过了立夏,而开源模型的世界中似乎并没有春夏秋冬。在刚刚过去的四月份,见证了开源社区又一次蓬勃发展的浪潮。以Qwen3家族为代表,一系列新模型的开源为整个生态注入了新的活力。通过全面覆盖多种规格的 dense 与 MoE 模型架构,Qwen3 首次在开源模型中引入“快思考与慢思考” 双模式的支持,获得了广大开发者的热烈欢迎,成为新一代开源大模型的标杆之作。
145 10
ModelScope魔搭25年3月发布月报
在这个春天里,小鲸鱼的DeepSeek-R1系列在模型社区掀起的巨大浪潮尚未平息,我们又迎来了千问的QwQ-32B正式版本,社区在Reasoning模型上的热情还在升温。除此之外,业界其他模型在过去一
142 1
ModelScope魔搭25年2月版本发布月报
新春佳节的鞭炮声已经渐渐远去,在刚刚过去的一个月里,小鲸鱼给全球的开发者带来了一个不平凡的春节。DeepSeek-R1一系列开源模型的发布,给大家带来了惊喜和震动。所有人的热情,也给ModelScope社区带来了前所未见的巨大下载需求和流量,在这个月里,我们进行了数次紧急扩容和线上优化,尽量为大家提供更好的支持与服务。非常感谢大家的陪伴和理解,我们会持续进行平台优化和开源工具的建设,服务好整个开源社区。
225 9
ModelScope魔搭25年1月版本发布月报
随着2025年帷幕的缓缓拉开,ModelScope团队怀着新年新气象的美好期许,为广大开发者带来了1月份的重磅更新。
289 13
ModelScope魔搭12月版本发布月报
为了给开发者提供更便捷的开源模型API访问方式,我们正式启动了 ModelScope API-Inference 的公测。在开源工具链方面,我们进行了ModelScope 1.21.0的新版本发布,提供了llamafile的集成以及模型加载/下载链路的优化,SWIFT 3.0大版本也已经合并主干,在这个基础上新模型的支持会更加顺畅与便利。
319 3
ModelScope魔搭12月版本发布月报
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
如何将Together AI上基于Qwen2-7B训练的模型部署到ModelScope平台
163 10
ModelScope魔搭11月版本发布月报
ModelScope 11月更新来袭!本次更新依然是干货满满的一期。
ModelScope魔搭10月版本发布月报
ModelScope 10月份整体上新啦!本次更新干货满满,推出了我们在内部开发与灰度许久的全新站点设计,其中也包括开发者反馈已久的暗黑模式支持等一系列功能,希望得到大家的使用反馈。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问