鹏程·盘古

news2024/9/22 13:27:49

鹏程·盘古模型基于 1.1 TB 高质量中文训练数据,采用全场景人工智能计算框架 MindSpore 自动并行技术实现了五维并行训练策略,从而可将训练任务高效扩展到 4 096 个处理器上。

对比实验表明,在少样本或零样本情况下,鹏程·盘古模型在多个中文自然语言理解或生成任务上都具有较优的性能。

模型架构

目标

假设一 个序列 X = {x1,x2,...,xN}由 N 个 Token 组成,目标如下

​ 

p(xn|x1,...,xn - 1 ; θ) 是指,在知道前 n - 1 个 Token xn-1的情况下,观察到第 n 个 Token xn 的概率;θ 表示模型参数

Transformer 层

Query 层

 

语料数据生成

最终语料如下

语料库数据处理:

数据处理

1. 原始数据清洗

  • 去除中文字符低于 60% 或者字符数小于 150 的数据 (仅有网页名称的数据也会被去除);
  • 去除特殊字符,并去除在一个网页中重复出现的 段落;
  • 通过广告关键词去除包含大量广告的网页数据;
  • 将所有繁体中文转换为简体中文;
  • 识别并去除网页导航页。

2. 文本过滤

  • 去除包含 3 个以上敏感词的网页数据通过关键词过滤。构建了一个包含 724 个敏感词的词库,并通过敏感词库去除包含 3 个以上敏感词的网页数据
  • 去除垃圾广告和垃圾邮件:基于模型的过滤。通过人工标注数据训练一个 FastText 文本分类模型。负样本为从 Common Crawl 数据中人工挑选的 1 万条垃圾文本数据,正样本为从高质量中文语料数据中抽样得到的数据。基于 FastText 的文本分类模型对语料进行垃圾过滤处理

  • 低质量文本过滤:借鉴 GPT-3 的数据处理策略,训练了一个数据质量评分模型。该模型可去除得分较低的文本

3. 文本去重

  • MinHashLSH

  • 自己设计的

4. 数据质量评估

  • 人工评估数据原则主要从句子通顺性、文本低质量内容占比 (如广告短语、重复短句、敏感词 等) 两个维度进行评估。

  • 模型 在高质量数据集中的困惑度 (PPL) 指标来评估数据质量。PPL 越小,数据集清洗和过滤所采用 的清洗规则和过滤模型就越好。

训练数据段落长短与模型生成效果有关。当训练样本平均长度较短时,模型倾向于生成更短的句子,从而有利于模型处理下游任务中需要生成短句的任务;反之,当训练样本平均长度较长时,模型会倾向于生成更长的句子。

训练-并行策略

五维并行和拓扑感知调度

五维并行和拓扑感知调度

  • (a) 数据并行,它在设备之间划分训练的批次大小,并在执行迭代优化命令之前与来自不同设备的梯度信息保持同步。
  • (b) 算子级并行,它对每个算子所涉及的张量进行切分,通过对参数和显存进行切片来减少显存消耗,同时通过通信优化来使连续算子之间的分布式张量状态保持一致。
  • (c) 流水并行,它将总的模型层划分为不同阶段,然后将不同阶段的模型层放置到不同的设备上。每台设备只拥有模型层次的一部分,可大大节省显存占用,并使通信只发生在不同状态的边界上。
  • (d) 优化器并行,其作用是减少由数据并行所导致的优化器内存冗余和计算消耗。
  • (e) 重计算前向运算结果可以释放部分中间结果,以减少整个训练阶段显存消耗。
  • 需要指出的是,每个维度的并行都要通过计算(或通信)开销来换取显存(或吞吐量)收益。因此,为了获得最大的端到端吞吐量,我们需要在多维度并行之间 找到一个最佳组合平衡点。而设备集群中的异构带宽使这变得更具挑战性。

混合并行训练 – 没看懂

图中仅展示2层:

  • 首先,将模型总层次(64层)划分成16个状态,每个状态包含 4 层。每一层会为每个算子切分所需要的参数和张量。具体来说,Query(Q)、Key(K) 和 Value(V)算子相关的参数被切分为 8 片。将这 3 个算子的输入张量划分为 16 个切片,并以此确定优化器并行的维度。该层中其他算子的并行策略也以同样的方式进行配置。每层算子都首先被切分,然后再执行下发命令。这有效降低了额外的计算开销。在本方案中,总共使用了 2048 个来自鹏城云脑 II 的 Ascend 910 AI 处理器。

鹏程·盘古 200B 模型具体的混合并行策略为 :数据并行 8 路、算子级并行 8 路、流水并行 16 路,在数据并行的同时叠加优化器并行。

模型会将通信量大的并行方式 (算子级并行)放置在服务器内部的多卡之间,将通信量较小的并行方式 (流水并行) 放置在同一机架内的服务器之间,将部分数据并行 (叠加优化器并行) 放置在不同机架之间。因此,通信可以与计算同时进行,对带宽要求较低。

评测

生成类任务的评测:类似于 GPT-3,小样本学习采用上下文学习的方式,即把 K 个提示相互拼接。其中,前 K−1 个提示均包含答案,最后一个提示的答案则通过模型预测来获得。

分类任务的评测:主要采用基于 PPL(模型 在高质量数据集中的困惑度) 的评测方法,针对每组 <段落,标签> 数据对,根据预设计模板自动生成输入,由模板生成的序列被输入到模型中,同时模型计算出相应的 PPL 值,该段落的预测结果为具有最小 PPL 值的标签。与生成类任务评测类似,分类任务也采用上下文学习策略来完成小样本学习任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/465260.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql高级知识-------索引

mysql索引的创建&#xff0c;新增&#xff0c;删除 查询索引&#xff1a; 语法&#xff1a; show index from 表 主要参数&#xff1a; 新建表中添加索引 ① 普通索引 create table t_dept( no int not null primary key, name varchar(20) null, sex varchar(2) null, inf…

讯飞星火大模型申请及测试:诚意满满

“ 大家好&#xff0c;我是可夫小子&#xff0c;关注AIGC、读书和自媒体。解锁更多ChatGPT、AI绘画玩法。加&#xff1a;keeepdance&#xff0c;备注&#xff1a;chatgpt&#xff0c;拉你进群。 最近国产大模型跟下饺子似&#xff0c;隔几天就发布一个。厂家发布得起劲&#xf…

ArduPilot之posHoldRTL实测

ArduPilot之posHold&RTL实测 1. 源由2. 模式配置3. 测试步骤4. 飞行实测5. 总结6. 参考资料7. 附录-关于QGC 暂不支持MAVLink2 signing Protocol问题7.1 问题描述7.2 硬件配置7.3 逻辑分析7.4 配置Signature7.5 总结&#xff08;QGC目前尚不支持MAVLink2 Signature&#xf…

算法——分布式——一致性哈希、一致性hash图解动画

分布式算法——一致性哈希、一致性Hash 概述传统Hash算法算法步骤生成Hash环定位服务器定位数据和映射服务器 服务器变更Hash环倾斜虚拟节点总结 概述 一致性哈希算法在1997年由麻省理工学院提出&#xff0c;是一种特殊的哈希算法&#xff0c;目的是解决分布式缓存的问题。在移…

使用bert4keras出现的问题(Process finished with exit code -1073741819 (0xC0000005))

1、环境 python 3.7.12 tensorflow 1.15 keras 2.3.1 bert4keras 0.9.7 protobuf 3.19.0 numpy 1.16.5 2、出现问题 numpy版本不兼容问题所以你就直接按照我的版本就可以了&#xff08;numpy 1.16.5&#xff09; Process finished with exit code -1073741819 (0xC0000005) …

关于储存器的笔记

存储器是许多存储单元的集合&#xff0c;按单元号顺序排列。每个单元由若干二进制位构成&#xff0c;以表示存储单元中存放的数值&#xff0c;通常由数组描述存储器。 存储器可分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)两大类。和CPU直接交换信息的是主存。 …

HDCTF KEEP ON

Index KEEP ONChecksec & IDA漏洞分析完整EXP KEEP ON Checksec & IDA __int64 vuln() {char s[80]; // [rsp0h] [rbp-50h] BYREFmemset(s, 0, sizeof(s));puts("please show me your name: ");read(0, s, 0x48uLL);printf("hello,");printf(s);p…

2.5 习题分析

类型一、 通过收敛阶的定义分析迭代方法的收敛速度 例6 分析简单迭代法与牛顿迭代法的收敛速度 我的答案&#xff1a; 一、信息 1.分析简单迭代 2.分析牛顿迭代 3.二者的收敛速度 二、分析 条件1和条件2&#xff1a;告诉我此次分析的目标 条件3告诉我分析的方向即为收…

剑指 Offer 67. 把字符串转换成整数及复制带随机指针的链表

文章目录 一、剑指 Offer 67. 把字符串转换成整数二、Leetcode 138. 复制带随机指针的链表 一、剑指 Offer 67. 把字符串转换成整数 题目是这样的 字符串转换为整数&#xff0c;是连续的数字字符转换&#xff0c;如果数字字符不连续&#xff0c;只转换最前面连续的那部分 其实…

Axios的介绍与使用

Axios的介绍 get请求 Axios配置对象 创建实例发送请求 取消请求 Axios的介绍 目前前端最流行的 ajax 请求库 、react/vue 官方都推荐使用 axios 发 ajax 请求 特点&#xff1a; 基于 xhr promise 的异步 ajax 请求库浏览器端/node 端都可以使用支持请求&#xff0f;…

20.Java序列化

Java序列化 一、序列化和反序列化 序列化&#xff1a;指堆内存中的java对象数据&#xff0c;通过某种方式把对存储到磁盘文件中&#xff0c;或者传递给其他网络节点&#xff08;网络传输&#xff09;。这个过程称为序列化&#xff0c;通常是指将数据结构或对象转化成二进制的…

IPC行业信息汇总

IPC&#xff1a;“网络摄像机”&#xff0c;是IP Camera的简称。它是在前一代模拟摄像机的基础上&#xff0c;集成了编码模块后的摄像机。它和模拟摄像机的区别&#xff0c;就是在新增的“编码模块”上。 模拟摄像机&#xff0c;顾名思义&#xff0c;输出的是模拟视频信号。模拟…

大数据系列——Spark理论

概述 Apache Spark&#xff0c;全称伯克利数据分析栈&#xff0c;是一个开源的基于内存的通用分布式计算引擎&#xff0c;内部集成大量的通用算法&#xff0c;包括通用计算、机器学习、图计算等&#xff0c;用于处理大数据应用。 主要由下面几个核心构件组成&#xff0c;具体包…

C++、STL标准模板库和泛型编程 ——适配器、补充(侯捷)

C、STL标准模板库和泛型编程 ——适配器 &#xff08;侯捷&#xff09;--- 持续更新 适配器&#xff08;Adapters&#xff09;容器适配器&#xff08;Container Adapters&#xff09;仿函数适配器&#xff08;Functor Adapters&#xff09;bind2nd&#xff08;绑定第二实参&…

Tomcat源码:Pipeline与Valve

参考资料&#xff1a; 《Tomcat组成与工作原理》 《Tomcat - Container的管道机制&#xff1a;责任链模式》 《Tomcat源码解析系列 Pipeline 与 Valve》 前文&#xff1a; 《Tomcat源码&#xff1a;启动类Bootstrap与Catalina的加载》 《Tomcat源码&#xff1a;容器的生命…

Mybatis源码01-Executor

前言 为了方便公司业务排查问题&#xff0c;要求打印执行的sql&#xff0c;以及执行时间。编写了一个Mybatis的拦截器&#xff0c;此前从未看过mybatis的源码&#xff0c;在调试的过程中不断阅读源码&#xff0c;后边想更深刻了解一下&#xff0c;看了鲁班大叔的视频&#xff…

OSCP-Nickel(爆破pdf、本地http提权)

目录 扫描 HTTP 提权 扫描 FileZilla不接受匿名FTP登录。 端口21上的SSH和3389上的RDP很少是初始入口点,但是如果遇到一些凭据,可以记住这一点。 HTTP 打开Web浏览器并导航到端口8089和3333,用于的HTTP服务器。端口8089似乎是某种类型的开发环境。 单击一个按钮重定向到…

boot-admin整合Quartz实现动态管理定时任务

淄博烧烤爆红出了圈&#xff0c;当你坐在八大局的烧烤摊&#xff0c;面前是火炉、烤串、小饼和蘸料&#xff0c;音乐响起&#xff0c;啤酒倒满&#xff0c;烧烤灵魂的party即将开场的时候&#xff0c;你系统中的Scheduler&#xff08;调试器&#xff09;&#xff0c;也自动根据…

在函数中使用变量

shell脚本编程系列 向函数传递参数 函数可以使用标准的位置变量来表示在命令行中传给函数的任何参数。其中函数名保存在$0变量中&#xff0c;函数参数则依次保存在$1、$2等变量当中&#xff0c;也可以使用特殊变量$#来确定参数的个数 在脚本中调用函数时&#xff0c;必须将参…

day3 TCP/IP协议与五层体系结构

TCP / IP 四层体系结构 TCP / IP工作流程&#xff1a; 现在互联网使用的 TCP/IP 体系结构已经发生了演变&#xff0c;即某些应用程序可以直接使用 IP 层&#xff0c;或甚至直接使用最下面的网络接口层。 沙漏型展示&#xff1a; 五层体系结构 各层的主要功能 应用层&#xff1…