鹏程·盘古

鹏程·盘古模型基于 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 值的标签。与生成类任务评测类似,分类任务也采用上下文学习策略来完成小样本学习任务。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值