阿里云机器学习PAI开源中文NLP算法框架EasyNLP,助力NLP大模型落地

简介: EasyNLP背后的技术框架如何设计?未来有哪些规划?今天一起来深入了解。

作者:临在、岑鸣、熊兮


一 导读


随着 BERT、Megatron、GPT-3 等预训练模型在NLP领域取得瞩目的成果,越来越多团队投身到超大规模训练中,这使得训练模型的规模从亿级别发展到了千亿甚至万亿的规模。然而,这类超大规模的模型运用于实际场景中仍然有一些挑战。首先,模型参数量过大使得训练和推理速度过慢且部署成本极高;其次在很多实际场景中数据量不足的问题仍然制约着大模型在小样本场景中的应用,提高预训练模型在小样本场景的泛化性依然存在挑战。为了应对以上问题,PAI 团队推出了 EasyNLP 中文 NLP 算法框架,助力大模型快速且高效的落地。

 

EasyNLP 背后的技术框架如何设计?未来有哪些规划?今天一起来深入了解。

 

二 EasyNLP简介


EasyNLP 是 PAI 算法团队基于 PyTorch 开发的易用且丰富的中文NLP算法框架,支持常用的中文预训练模型和大模型落地技术,并且提供了从训练到部署的一站式 NLP 开发体验。EasyNLP 提供了简洁的接口供用户开发 NLP 模型,包括NLP应用 AppZoo 和预训练 ModelZoo,同时提供技术帮助用户高效的落地超大预训练模型到业务。除此之外 EasyNLP 框架借助 PAI 团队在通信优化、资源调度方面的深厚积累,可以为用户提供大规模、鲁棒的训练能力,同时可以无缝对接 PAI 系列产品,例如 PAI-DLC、PAI-DSW、PAI-Designer 和 PAI-EAS,给用户带来高效的从训练到落地的完整体验。

 

EasyNLP 已经在阿里巴巴内部支持 10 多个 BU 的业务,同时在阿里云上提供了 NLP 解决方案和 ModelHub 模型帮助用户解决业务问题,也提供用户自定义模型服务方便用户打造自研模型。在经过内部业务打磨之后,我们将EasyNLP 推向开源社区,希望能够服务更多的 NLP 算法开发者和研究者,也希望和社区一起推动 NLP 技术特别是中文 NLP 的快速发展和业务落地。

 

开源项目地址:https://github.com/alibaba/EasyNLP 

1.png 

EasyNLP is a Comprehensive and Easy-to-use NLP Toolkit


EasyNLP 主要特性如下:

  • 易用且兼容开源:EasyNLP 支持常用的中文 NLP 数据和模型,方便用户评测中文 NLP 技术。除了提供易用简洁的 PAI 命令形式对前沿NLP算法进行调用以外,EasyNLP 还抽象了一定的自定义模块如 AppZoo 和 ModelZoo,降低NLP 应用的门槛,同时 ModelZoo 里面常见的预训练模型和 PAI 自研的模型,包括知识预训练模型等。EasyNLP 可以无缝接入 huggingface/ transformers 的模型,也兼容 EasyTransfer 模型,并且可以借助框架自带的分布式训练框架(基于Torch-Accelerator)提升训练效率。
  • 大模型小样本落地技术:EasyNLP 框架集成了多种经典的小样本学习算法,例如 PET、P-Tuning 等,实现基于大模型的小样本数据调优,从而解决大模型与小训练集不相匹配的问题。此外,PAI 团队结合经典小样本学习算法和对比学习的思路,提出了一种不增添任何新的参数与任何人工设置模版与标签词的方案 Contrastive Prompt Tuning,在 FewCLUE 小样本学习榜单取得第一名,相比 Finetune 有超过 10% 的提升。
  • 大模型知识蒸馏技术:鉴于大模型参数大难以落地的问题,EasyNLP 提供知识蒸馏功能帮助蒸馏大模型从而得到高效的小模型来满足线上部署服务的需求。同时 EasyNLP 提供 MetaKD 算法,支持元知识蒸馏,提升学生模型的效果,在很多领域上甚至可以跟教师模型的效果持平。同时,EasyNLP 支持数据增强,通过预训练模型来增强目标领域的数据,可以有效的提升知识蒸馏的效果。


三 EasyNLP框架特点

整体架构

2.png

如图所示,EasyNLP 架构主要有如下几个核心模块:


  • 基础模块:提供了预训练模型库 ModelZoo,支持常用的中文预训练模型,包括 BERT,MacBERT,WOBERT 等;也提供常用的 NN 模块,方便用户自定义模型;
  • 应用层:AppZoo 支持常见的 NLP 应用比方说文本分类,文本匹配等;EasyNLP 支持预训练模型落地工具,包括小样本学习和知识蒸馏,助力大模型快速落地,这里也集成了多个 PAI 团队自研的算法;
  • NLP 应用和解决方案:提供了多个 NLP 解决方案和ModelHub模型帮助用户解决业务问题;
  • 工具层:可以支持本地拉起服务,也可以在阿里云产品上部署和调用,比方说 PAI-DLC、PAI-DSW、PAI-Designer 和 PAI-EAS,给用户带来高效的从训练到落地的完整体验。


大模型知识蒸馏技术

随着BERT等预训练语言模型在各项任务上都取得 SOTA 效果,大规模预训练模型已经成为 NLP学习管道中的重要组成部分,但是这类模型的参数量太大,而且训练和推理速度慢,严重影响到了需要较高 QPS 的线上场景,部署成本非常高。EasyNLP 框架集成了经典的数据增强和知识蒸馏算法,使得训练出的小模型在相应任务行为上能够逼近大模型的效果。

 

由于现有大部分的知识蒸馏工作都聚焦在同领域模型的蒸馏,而忽略了跨领域模型对目标蒸馏任务效果的提升。PAI 团队进一步提出了元知识蒸馏算法MetaKD(Meta Knowledge Distillation),将跨领域的可迁移知识学出,在蒸馏阶段额外对可迁移的知识进行蒸馏。MetaKD 算法使得学习到的学生模型在相应的领域的效果显著提升,逼近教师模型的效果。这一算法的核心框架图如下所示:

3.png

其中,MetaKD 算法包括两个阶段。第一个阶段为元教师模型学习(Meta-teacher Learning)阶段,算法从多个领域的训练数据协同学习元教师模型,它对每个领域的样本都计算其典型得分(Prototype Score),使更具有跨领域典型性的样本在学习阶段有更大的权重。第二个阶段为元蒸馏(Meta-distillation)阶段,将元教师模型选择性地蒸馏到特定领域的学习任务上。由于元教师模型可能无法做到在所有领域上都有精确的预测效果,我们额外引入了领域专业性权重(Domain-expertise Weight),使元教师模型只将置信度最高的知识迁移到学生模型,避免学生模型对元教师模型的过拟合。

 

下图展示了 MetaKD 算法在MNLI的5个领域数据集的跨任务蒸馏效果。由结果可见,MetaKD 蒸馏出的 BERT-Small 模型的和原始 BERT 模型相比,在保持模型精度值平均只下降1.5%的前提下参数减少了87%,大大减少了部署的压力。

 

4.png

目前,MetaKD 算法也已经集成到 EasyNLP 框架中开源。

知识蒸馏实践详见:https://github.com/alibaba/EasyNLP/tree/master/examples/knowledge_distillation

 

大模型小样本学习技术

预训练语言模型规模的扩大,使得这一类模型在自然语言理解等相关任务效果不断提升。然而,这些模型的参数空间比较大,如果在下游任务上直接对这些模型进行微调,为了达到较好的模型泛化性,需要较多的训练数据。在实际业务场景中,特别是垂直领域、特定行业中,训练样本数量不足的问题广泛存在,极大地影响这些模型在下游任务的准确度。为了解决这一问题,EasyNLP框架集成了多种经典的小样本学习算法,例如 PET、P-Tuning 等,实现基于预训练语言模型的小样本数据调优,从而解决大模型与小训练集不相匹配的问题。

 

此外,PAI团队结合经典小样本学习算法和对比学习的思路,提出了一种不增添任何新的参数与任何人工设置模版与标签词的方案Contrastive Prompt Tuning (CP-Tuning)。这一算法的核心框架图如下所示:

5.png

如上图,CP-Tuning 算法放弃了经典算法中以“[MASK]”字符对应预训练模型 MLM Head 的预测输出作为分类依据,而是参考对比学习的思路,将句子通过预训练模型后,以“[MASK]”字符通过预训练模型后的连续化表征作为features。在小样本任务的训练阶段,训练目标为最小化同类样本 features 的组内距离,最大化非同类样本的组间距离。在上图中,[OMSK]即为我们所用于分类的“[MASK]”字符,其优化的 features 表示为[EMB]。因此,CP-Tuning 算法不需要定义分类的标签词。在输入侧,除了输入文本和[OMSK],我们还加入了模版的字符[PRO]。与经典算法不同,由于CP-Tuning不需要学习模版和标签词之间的对应,我们直接将[PRO]初始化为任务无关的模版,例如“it is”。在模型训练过程中,[PRO]的表示可以在反向传播过程中自动更新。除此之外,CP-Tuning 还引入了输入文本的Mask,表示为[TMSK],用于同时优化辅助的 MLM 任务,提升模型在小样本学习场景下的泛化性。CP-Tuning 算法的损失函数由两部分组成:

6.png

如上所示,两个部分分别为 Pair-wise Cost-sensitive Contrastive Loss(PCCL)和辅助的 MLM 损失。我们在多个 GLUE 小样本数据集上进行了验证,其中训练集中每个类别限制只有16个标注样本。从下述结果可以看出,CP-Tuning 的精确度超越了经典的小样本学习算法,也比标准 Fine-tuning 算法的精确度高10%以上。

7.png

目前,除了我们自研的 CP-Tuning 算法之外,EasyNLP 框架中集成了多种经典小样本学习算法例如 PET、P-tuning 等。

小样本学习实践详见:https://github.com/alibaba/EasyNLP/tree/master/examples/fewshot_learning


大模型落地实践

下面我们给出一个示例,将一个大的预训练模型(hfl/macbert-large-zh)在小样本场景上落地,并且蒸馏到仅有1/100参数的小模型上。如下图所示,一个大模型(3亿参数)在一个小样本场景上原始的Accuracy为83.8%,通过小样本学习可以提升7%,达到90.6%。同时,如果用一个小模型(3百万参数)跑这个场景的话,效果仅有54.4%,可以把效果提升到71%(提升约17%),inference的时间相比大模型提升了10倍,模型参数仅为原来的1/100。

 

 

模型

参数量

Dev Set指标(Accuracy)

Batch Inference时间

标准Finetune

hfl/macbert-large-zh

325 Million

0.8375

0.54s

标准Finetune

alibaba-pai/pai-bert-tiny-zh

3 Million

0.54375

0.06s

知识蒸馏Finetune

alibaba-pai/pai-bert-tiny-zh

3 Million

0.7125

0.06s

小样本Finetune

hfl/macbert-large-zh

325 Million

0.90625

0.53s

 

代码详见:https://github.com/alibaba/EasyNLP/tree/master/examples/landing_large_ptms


应用案例

EasyNLP支撑了阿里巴巴集团内10个 BU20 多个业务,同时过 PAI 的产品例如PAI-DLC、PAI-DSW、PAI Designer 和 PAI-EAS,给集团用户带来高效的从训练到落地的完整体验,同时也支持了云上客户自定定制化模型和解决业务问题的需求。针对公有云用户,对于入门级用户 PAI-Designer 组件来通过简单调参就可以完成 NLP 模型训练,对于高级开发者,可以使用 AppZoo 训练 NLP 模型,或者使用预置的预训练模型 ModelZoo 进行 finetune,对于资深开发者,提供丰富的API接口,支持用户使用框架进行定制化算法开发,可以使用我们自带的 Trainer 来提升训练效率,也可以自定义新的 Trainer。

下面列举几个典型的案例:

  • PAI团队和达摩院NLP团队合作共建落地超大预训练模型(百亿参数),推出自研小样本学习算法 CP-Tuning 和模型稀疏化算法 CAP。其中,这一自研 CP-Tuning 算法与 AliceMind 平台集成, 实现了超大预训练模型的小样本学习,在在小样本场景下,比标准 Fine-tune 精准度提升10%以上;
  • PAI团队和达摩院合作在 FewCLUE 小样本学习榜单上获得冠军,甚至一个小样本学习任务上的精准度超过了人类。同时,阿里巴巴某 BU 使用 ToB客户服务场景下的业务数据在 EasyNLP 框架下进行小样本学习算法学习,在业务数据上相比 Baseline,提升实体识别的准确度2%以上,提升属性识别的准确度5%以上;
  • 针对公有云客户对文本分类功能的小模型、高 QPS 需求,基于 EasyNLP 框架的知识蒸馏功能,采用某预训练模型作为教师模型(参数量3亿)、PAI-BERT 中文小预训练模型作为学生模型(参数量4百万),蒸馏得到这一小模型上线,参数量约为原有模型的百分之一,精度损失在10%以内;基于此,我们集成了知识蒸馏功能,助力大模型在实际业务场景下落地;
  • 在风控场景,我们收集了约一亿的中文预训练数据,基于 EasyNLP 预训练了一个 PAI-BERT 中文模型,在风控数据上取得了非常不错的效果,提升了10%以上的准确率和召回率;基于此,我们在公有云上也推出了文本风控解决方案,在多个客户场景里落地并取得不错的效果;
  • 随着 UGC 等用户生成内容不断涌现,对从文本提取标签用于细粒度分析的需求不断涌现;采用基于 EasyNLP 预训练中文模型,在新闻数据的超过300个类别的文本标签预测准确率超过80%;基于此,我们集成了文本标签预测,关键词抽取,和实体词提取等功能,在公有云上推出了通用文本打标解决方案,并且在多个典型客户场景里成功落地,服务于智能推荐等应用场景。


RoadMap

  • 基于 EasyNLP 的中文 CLUE/FewCLUE 等的 Benchmark
  • 知识预训练技术: 发布一系列知识预训练模型,致力于提升预训练模型的常识性和知识性
  • 中文预训练模型:发布针对中文的 SOTA 的预训练模型,降低中文预训练技术门槛
  • 多模态预训练:发布针对中文的多模态预训练模型
  • 中文数据的收集和 API 接口:收集常用的中文数据,提供预处理和训练接口
  • 垂直场景的 SOTA 中文模型整合:针对垂直业务场景,整合效果最好的中文模型
  • 发布解决方案和 PAI 组件

 

参考文献


 


 


[1]https://github.com/alibaba/EasyNLP

[2]https://github.com/alibaba/EasyNLP/tree/master/examples/knowledge_distillation

[3]https://github.com/alibaba/EasyNLP/tree/master/examples/fewshot_learning

[4]https://github.com/alibaba/EasyNLP/tree/master/examples/landing_large_ptms

[5]达摩院NLP团队:https://github.com/alibaba/AliceMind

[6]文本风控解决方案:https://help.aliyun.com/document_detail/311210.html

[7]通用文本打标解决方案:https://help.aliyun.com/document_detail/403700.html


开源项目地址:https://github.com/alibaba/EasyNLP

 

钉钉答疑交流群:33712734 


想了解更多AI开源项目,请点击:

https://www.aliyun.com/activity/bigdata/opensource_bigdata__ai 

相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4月前
|
SQL 人工智能 自然语言处理
阿里云 CIO 蒋林泉:AI 大模型时代,我们如何用 RIDE 实现 RaaS 的首次落地?
本文整理自阿里云智能集团 CIO 蒋林泉在 AICon 2025 深圳的演讲,分享了阿里云在大模型应用落地中的实践经验。通过多个数字人项目案例,探讨了企业在 AI 应用中的组织转型、业务识别、产品定义与工程落地等关键环节,并提出了 RIDE 方法论(重组、识别、定义、执行),助力企业实现 AI 有效落地。
|
6月前
|
存储 运维 数据挖掘
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
在智能驾驶技术快速发展中,数据成为驱动算法进步的核心。某新能源汽车领军企业基于阿里云Milvus向量数据库构建智能驾驶数据挖掘平台,利用其高性能、可扩展的相似性检索服务,解决了大规模向量数据检索瓶颈问题,显著降低20%以上成本,缩短模型迭代周期,实现从数据采集到场景挖掘的智能化闭环,加速智能驾驶落地应用。
革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎
|
6月前
|
存储 机器学习/深度学习 缓存
阿里云AirCache技术实现多模态大模型高效推理加速,入选国际顶会ICCV2025
阿里云研发的AirCache技术被计算机视觉顶会ICCV2025收录,该技术通过激活跨模态关联、优化KV缓存压缩策略,显著提升视觉语言模型(VLMs)的推理效率与存储性能。实验表明,在保留仅10%视觉缓存的情况下,模型性能下降小于1%,解码延迟最高降低66%,吞吐量提升达192%。AirCache无需修改模型结构,兼容主流VLMs,已在教育、医疗、政务等多个行业落地应用,助力多模态大模型高效赋能产业智能化升级。
489 1
|
4月前
|
机器学习/深度学习 人工智能 JSON
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
Microsoft Research最新推出的rStar2-Agent在AIME24数学基准测试中以80.6%的准确率超越超大规模模型DeepSeek-R1,展现“思考更聪明”而非“更长”的AI推理新方向。
190 8
微软rStar2-Agent:新的GRPO-RoC算法让14B模型在复杂推理时超越了前沿大模型
|
4月前
|
存储 机器学习/深度学习 人工智能
云栖 2025|阿里云 Qwen3 系列领衔:AI 模型全栈突破与开发者落地指南
阿里云发布Qwen3全栈AI体系,七大模型升级、性能全球领先,开源生态稳居第一。从底层基建到开发工具链全面优化,助力企业高效落地AI应用,共建超级AI云生态。
1792 11
|
4月前
|
机器学习/深度学习 人工智能 数据安全/隐私保护
阿里云 Qwen3 全栈 AI 模型:技术解析、开发者实操指南与 100 万企业落地案例
阿里云发布Qwen3全栈AI体系,推出Qwen3-Max、Qwen3-Next等七大模型,性能全球领先,开源生态超6亿次下载。支持百万级上下文、多模态理解,训练成本降90%,助力企业高效落地AI。覆盖制造、金融、创作等场景,提供无代码与代码级开发工具,共建超级AI云生态。
1064 6
|
4月前
|
机器学习/深度学习 传感器 算法
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
【无人车路径跟踪】基于神经网络的数据驱动迭代学习控制(ILC)算法,用于具有未知模型和重复任务的非线性单输入单输出(SISO)离散时间系统的无人车的路径跟踪(Matlab代码实现)
290 2
|
4月前
|
机器学习/深度学习 并行计算 算法
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
【CPOBP-NSWOA】基于豪冠猪优化BP神经网络模型的多目标鲸鱼寻优算法研究(Matlab代码实现)
107 8
|
4月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率

相关产品

  • 人工智能平台 PAI