澜舟孟子轻量化预训练模型技术实践 | NLP 前沿实践

2024-03-22 19:20

本文主要是介绍澜舟孟子轻量化预训练模型技术实践 | NLP 前沿实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在上周发布的《一文看懂预训练最新进展》中,澜舟科技创始人兼 CEO 周明和澜舟科技大模型技术负责人王宇龙分享了大模型技术发展背景和近期百花齐放的大模型及新应用、新趋势。本文继续为大家深入介绍“大模型轻量化”趋势以及澜舟的 5 个实践路径。

以下内容根据澜舟科技算法研究员华菁云在「澜舟NLP分享会」演讲整理。全文约 4800 字,预计阅读时长 6 分钟。

为什么要训练轻量化模型?

人们普遍认为,在相同网络架构和训练方法下,模型层数增加、模型参数增加,能力就一定增强,实际上增强的幅度越来越小。大家都知道摩尔定律,硬件逐年价格下降 1.5 倍,运算能力提升 1.5 倍,但是实际上模型参数量每年增加至少 7 倍,硬件能力的提升显然赶不上模型规模的增长。

如图 1 右侧所示,训练一个大模型代价是巨大的,GPT-3 训练需要 460 万美金,此外,大模型落地部署的代价也极大,在工业界实际应用中不得不考虑部署的成本。所以在摩尔定律逐渐走向终结的今天,模型轻量化是必须要考虑的。

图 1

轻量化路径

1. 语言学知识增强

使用语言学知识作为显性的知识信号可以使得模型在预训练的过程中获取到更多的先验信息,在同等参数量下,融入更多的语言学知识。 我们使用 SpaCy 对语料进行词性标注(POS)和命名实体识别(NER),将识别的目标标签作为预测目标用于训练,让模型在语言建模的同时,去计算 POS 与 NER 的预测损失与原始语言建模损失相加得到的最终损失。这个方法可以在各数据集上带来一致的提升。

如图 2 下半部分表格,大家可以看到孟子 Mengzi 模型对应的分数的提升还是比较明显的。

图 2

此外,为了建模句子间的关系,我们结合了 ALBERT 提出的句子顺序预测 SOP 任务,发现也能带来明显的性能提升。而类似的下一句预测 NSP 任务在各项中文任务上的提升不太明显(如图 3 表格所示)。

图 3

2. 训练优化技术

传统基于掩码的预训练方法(Mask Language Model, MLM) 首先通过 ennoising 的方法,例如通过 mask 来构建训练样本,然后训练语言模型去还原被破坏的句子。由于通常采用随机的破坏方法,样本预测的难易度不同,模型在 denoising 训练时的梯度更新强度与样本难度之间缺乏一致性,可能会造成训练不稳定的问题。

此外,也会带来一些假负例,即模型会还原出来与原始句子不同,而实际上也合法的句子。模型通常采用交叉熵训练,这类样本则都会被判断为错误预测,导致训练事实上是不准确的。

图4

那么针对以上两个问题,我们探索了一些训练

这篇关于澜舟孟子轻量化预训练模型技术实践 | NLP 前沿实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836029

相关文章

全面掌握 SQL 中的 DATEDIFF函数及用法最佳实践

《全面掌握SQL中的DATEDIFF函数及用法最佳实践》本文解析DATEDIFF在不同数据库中的差异,强调其边界计算原理,探讨应用场景及陷阱,推荐根据需求选择TIMESTAMPDIFF或inte... 目录1. 核心概念:DATEDIFF 究竟在计算什么?2. 主流数据库中的 DATEDIFF 实现2.1

Spring WebFlux 与 WebClient 使用指南及最佳实践

《SpringWebFlux与WebClient使用指南及最佳实践》WebClient是SpringWebFlux模块提供的非阻塞、响应式HTTP客户端,基于ProjectReactor实现,... 目录Spring WebFlux 与 WebClient 使用指南1. WebClient 概述2. 核心依

MyBatis-Plus 中 nested() 与 and() 方法详解(最佳实践场景)

《MyBatis-Plus中nested()与and()方法详解(最佳实践场景)》在MyBatis-Plus的条件构造器中,nested()和and()都是用于构建复杂查询条件的关键方法,但... 目录MyBATis-Plus 中nested()与and()方法详解一、核心区别对比二、方法详解1.and()

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

Spring事务传播机制最佳实践

《Spring事务传播机制最佳实践》Spring的事务传播机制为我们提供了优雅的解决方案,本文将带您深入理解这一机制,掌握不同场景下的最佳实践,感兴趣的朋友一起看看吧... 目录1. 什么是事务传播行为2. Spring支持的七种事务传播行为2.1 REQUIRED(默认)2.2 SUPPORTS2

Java中的雪花算法Snowflake解析与实践技巧

《Java中的雪花算法Snowflake解析与实践技巧》本文解析了雪花算法的原理、Java实现及生产实践,涵盖ID结构、位运算技巧、时钟回拨处理、WorkerId分配等关键点,并探讨了百度UidGen... 目录一、雪花算法核心原理1.1 算法起源1.2 ID结构详解1.3 核心特性二、Java实现解析2.

MySQL 中 ROW_NUMBER() 函数最佳实践

《MySQL中ROW_NUMBER()函数最佳实践》MySQL中ROW_NUMBER()函数,作为窗口函数为每行分配唯一连续序号,区别于RANK()和DENSE_RANK(),特别适合分页、去重... 目录mysql 中 ROW_NUMBER() 函数详解一、基础语法二、核心特点三、典型应用场景1. 数据分

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基