Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

机器之心原创

编辑:杜伟

语言大模型的终极目标是什么?

自然语言处理(NLP)领域,暴力美学仍在延续。

自 2018 年谷歌推出 BERT(3.4 亿参数)以来,语言模型开始朝着「大」演进。国内外先后出现了参数量高达千亿甚至万亿的语言模型,比如谷歌的 T5(110 亿)、OpenAI 的 GPT-3(1,750 亿)、智源研究院的 WuDao2.0(1.75 万亿)……

有人不禁会问,语言模型参数越来越大,它们究竟能做些什么,又智能到什么程度了呢?

9 月 28 日,浪潮人工智能研究院推出了中文巨量语言模型——源 1.0,让我们看到了语言模型超强的创作能力。

除了轻松应对大多数语言大模型都能完成的对话、故事续写、新闻生成和接对联等任务,源 1.0 还具备风格约束的诗歌创作能力,比如给出李白、杜甫或诗经风格的诗句,模型便能输出相应风格的诗句。堪称诗界的百变大师!

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?


不仅如此,源 1.0 还具备强大的模仿能力,输入一个不存在的词语以及给出它的定义和示例。模型便能依葫芦画瓢,造出符合这个词语定义、逻辑和语境的语句。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

这些只是源 1.0 一小部分创作能力的展示,一切都要归功于这个巨量中文模型具有的参数量——2,457 亿,以及它的全球最大中文数据集——5.02TB。并且,源 1.0 并不是由多个小模型堆砌形成,而是单体模型。因参数量巨大,所以称其为「巨量模型」。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

相较于 GPT-3 的 1,750 亿参数,源 1.0 是其参数量的 1.404 倍。面对如此巨大的参数量,浪潮 1.0 在 2,128 个 GPU 集群上跑上 16 天完成了训练,每个 GPU 的实际训练性能达到 140 TFlops,消耗的总算力大约为 4,095 PetaFlop/s-day

相比之下,GPT-3 使用 10,000 块 GPU、花了 30 天才训练完了 1,750 亿参数,单 GPU 计算性能为 12TFlops,消耗的总算力为 3,640 PetaFlop/s-day。

从更直观的计算效率来看,GPT-3 完成训练需要 10,000 块 GPU,大约为 355 GPU 年。而源 1.0 使用 2,128 张 GPU,16 天就完成了训练,大约为 93 GPU 年。(GPU 年代表一张 GPU 跑 1 年能完成的工作量)

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

源 1.0 与 GPT-3 的参数量、算力对比。

与此同时,在训练数据方面,源 1.0 不仅爬取了 2017 至 2021 年的网页数据,还使用了开源语料、中文百科和中文书籍等多个数据源,又通过粗筛和精筛,最终得到了一个 5.02TB 的全球最大高质量中文数据集。

训练出来的源 1.0 成功「兑现」了自己的能力,不仅在中文语言理解测评基准 CLUE 中刷榜文献分类、长文本分析等多项任务,更在零样本学习榜的成语阅读理解任务上超越人类水平。

更难能可贵的是,不同于 GPT-3 少量开放 API 的商用思路,浪潮的「源 1.0 开源开放计划」将包括模型 API、高质量中文数据集以及模型训练、推理和应用代码在内的资源向社区开放,还将开展面向国产 AI 芯片的模型移植开发。第一批计划合作对象包括大学或科研机构的 AI 研究团队、元脑生态合作伙伴和智能计算中心等。

开源开放计算官网:https://air.inspur.com/

源 1.0 在模型架构、训练数据、计算能力和训练策略等诸多方面做了哪些与众不同的探索呢?本文将带你深入了解浪潮如何解决源 1.0 背后的技术挑战。

训练源 1.0 解决的二三难事

对于一个语言模型而言,特别是具有千亿级别参数的中文巨量语言模型首先要考虑它要采用哪种网络结构。在中文 NLP 研究社区,中文巨量语言模型是比较新的工作,因此无法获得有益的借鉴。

为了确定哪种模型结构更适合面向中文的巨量语言模型,浪潮考虑了领域内已有的三种不同类型的预训练模型结构,分别是谷歌 T5 采用的 Encoder-Decoder、OpenAI GPT-3 采用的 Language Model(LM)和 Encoder-Decoder 的变体 Prefix LM。一般来说,Encoder-Decoder 比较适合自然语言生成(NLG)任务,LM 和 PLM 则对自然语言理解(NLU)任务的效果更好。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

浪潮先是选定了 LM 和 PLM 这两种模型结构,然后又进一步比较了它们在不同下游任务上的表现。结果发现,LM 模型结构在零样本(Zero-Shot)和小样本(Few-Shot)学习方面表现更好,而 PLM 结构在微调(Fine-tuning)方面表现出色。虽然微调通常会在大多数任务上带来更高的准确性,但会消耗大量的计算资源。此外,大模型已经发展到了不需要针对特定任务的微调环境,具有更好的泛化能力和适用性。

种种考量之下,浪潮最终选择将 LM 作为源 1.0 的基础模型结构。但是,选定了模型结构只是第一步,训练巨量语言模型还要面临数据和算力的挑战。

用自研数据过滤系统,获得 5TB 高质量中文数据集

人工智能领域有这样一种说法,「模型是大数据、高算力和强算法结合的产物,三位一体」。其中,大数据是成功构建模型的基础,数据量的多少决定了我们可以训练模型的规模以及最后的效果。以 OpenAI 的 GPT-3 为例,它采集了 Common Crawl、WebText2、Books1、Books2 和 Wikipedia 等数据源中的 45TB 数据,数据量之大可见一斑。另外,质量高和关联性强的数据对模型训练也大有裨益。

对于源 1.0 这个具有 2,457 亿参数的巨量中文语言模型而言,获取一个足够大的高质量中文数据集非常困难。为此,浪潮开发了一套大数据过滤系统(Massive Data Filtering System, MDFS),它主要使用 Spark 进行清洗和过滤,然后基于 BERT 的模型来筛选高质量语料。此外,为了清洗这些原始语料,浪潮更是在 36 台高性能服务器集群上运行 MDFS。

具体地,MDFS 系统包含了数据采集、粗筛和精筛三个阶段,每个阶段又分别做了大量工作。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

MDFS 系统的流程图。

首先在数据采集阶段,源 1.0 主要基于 Common Crawl(爬取 2017 至 2021 年的网页数据,866,304GB)、开源语料(包括 SogouT 和 SogouN,16,797GB)、中文百科(百度百科和维基百科,37GB)和中文书籍(哲学、历史、人文、小说等书籍,4,020GB)等数据源,共采集了 846TB 的数据;

接着进入语料粗筛阶段,使用到了一系列清洗和筛选手段:

  • 文章抽取:即从爬取的网页数据中抽取正文,并去除 WARC 标题、超链接等内容;
  • 删除空文章;
  • 过滤中文文本:删除少于 30 个汉字的文章以及汉字比例小于总体文字量 60% 的文章;
  • 将繁体中文转换为简体中文;
  • 删除包含敏感词的段落或文章;
  • 删除垃圾符号,如不可见的 Unicode 字符、ASCII 字符以及特定标点符号。

粗筛后的数据量为 6TB,但为了从中筛选出高质量的语料,依然需要走完最后一步——精筛。浪潮训练了一个基于 BERT 的模型对这些语料进行文本质量分类和评估,分为高质量文本(比如新闻、散文和小说)、广告数据(比如网站提示、产品广告和特殊提示)和低质量文本(语义残缺、名片信息和导航目录)。这里的策略是保留高质量数据集以及有价值有意义的广告数据,剔除低质量文本

最终,源 1.0 收获了一个 5.02TB 的全球最大高质量中文数据集。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

精筛后数据大小与原始语料大小对比。

用「三合一」并行训练策略,解决模型的巨大算力需求

足够大的高质量中文数据集有了,源 1.0 迎来了它的最大挑战:如何构建出规模如此巨大的模型并使它行之有效地完成训练。要知道,当前 GPU 显存最高为数十 GB 左右,而训练 2,457 亿参数量的大模型需要的 GPU 显存将高达几个 TB,显然无法在单个显卡或一台 GPU 服务器上完成。

因此,浪潮需要将完成源 1.0 训练所需的巨大算力并行分布到几千张 GPU 上。模型训练时最常采用的是数据并行分布式计算策略,但这只能满足小模型的训练需求。对于像源 1.0 这样的巨量模型而言,需要专门设计算法来解决训练中的显存占用问题,同时还要兼顾训练过程中的 GPU 计算性能的利用率。

为此,浪潮采用了张量并行、流水线并行和数据并行的「三合一」并行策略

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

图上左为张量并行,上右为数据并行,图下 为流水线并行。

张量、流水线和数据「三合一」并行训练过程中,源 1.0 还遵循了以下几项基本原则:

  • 尽可能增加序列长度,这将有利于张量并行、流水线并行和数据并行。由于内存占用与序列长度的平方成正比,因此有必要在反向传播时重新计算激活函数,以节省内存开销;
  • 减少模型层数,这是因为语言模型中层数太多会对性能产生负面影响,增加在流水线气泡上的时间消耗;
  • 增加隐藏层大小用于提升张量并行和流水线并行的性能;
  • 增加节点中微批次大小提升流水线并行效率,增加全局批次大小提升数据并行效率。

最终,浪潮在 2,128 个 GPU(40G 显存)上完成源 1.0 的模型训练,训练了 1,800 亿个 tokens,整体耗时 16 天,单 GPU 计算性能达到 140TFlops。对比之下,烧了 10,000 张 GPU 的 GPT-3,它的单 GPU 计算性能仅为 12TFlops。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

源 1.0 的模型训练损失(training loss)曲线如下,可以看到,loss 值在前 10B 个 tokens 期间迅速下降,之后下降较慢并趋于稳定,形成一个长尾。并且,源 1.0 的训练损失数值(1.64)小于 GPT-3(1.73)和 PanGu-α(2.49)。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

用概率校准和标签扩充,提升零样本和小样本下模型效果

解决了数据集和算力两大挑战,源 1.0 在训练过程中还特别关注在零样本和小样本学习设置提升模型效果。我们知道,预训练语言模型中,基于文本上下文进行学习会因种种因素产生偏差,这些偏差主要源于数据集中不同类别数据的分布不平衡、小样本学习时样本表达顺序固定以及标签在训练语料中出现的频率差异。这些外部偏差将不可避免地制约模型在 NLP 任务上的表现。

针对这一问题,浪潮在充分考虑可能偏差来源的基础上,提出从两个方面对上下文学习进行校准,分别是基于概率计算的校准和标签扩充,进而提升模型在下游任务上的性能表现。

一方面,对于概率校准,源 1.0 采用「在模型中加入空文本」的方法来修复偏差,计算公式如下:

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

以 Tnews 任务为例,计算 sentence-lable 中 label 的概率。

  • 原始:新闻:sentence。这条新闻是关于 label。
  • 校准:新闻:N/A。这条新闻是关于 label。

代入上述计算公式后,如下所示:

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

通过这种空文本替换的方式,源 1.0 能够避免在固定句式表达学习上出现过拟合现象,实现小样本学习效果。

另一方面,在零样本或小样本设置下,标签在语料中出现的频率差异会对模型预测结果产生影响。理想状态下,所有标签在词表中的位置,即在语料中的出现频率,应该大致相同,但手动选择符合条件的标签非常困难。源 1.0 使用了一个涵盖 800 万个中文单词和短语的嵌入语料库,基于相似度为每个标签扩展 5 个同义词,从而扩充数据集,缓解标签分布不平衡问题,消除单个标签词带来的偏差。

概率校准和标签扩充提升了源 1.0 在零样本或小样本学习设置下的精度。以 Csldcp 和 Tnews 多分类任务以及 Eprstmt 情感分类任务为例,概率校准和标签扩充为模型带来了精度的提升。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

源 1.0 到底有多强大?

2,457 亿参数、5TB 高质量中文数据集、2,128 张 GPU 上训练 16 天……,这些都为源 1.0 强大的语言智能打好了基础。源 1.0 也不负众望,在中文语言理解测评基准 CLUE 中取得了优异的表现。

ZeroCLUE 零样本学习中,源 1.0 在文献分类(CSLDCP)、新闻分类(TNEWSF)、长文本分析(IFLYTEKF)、成语阅读理解(CHIDF)、文献摘要识别(CSLF)和名词代词关系(CLUEWSCF)六项任务上摘得榜首。其中,在成语阅读理解单项任务上甚至超越了人类水平。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

榜单详情参见:https://www.cluebenchmarks.com/zeroclue.html

 FewCLUE 小样本学习中,源 1.0 在文献摘要识别(CSLF)和名词代词关系(CLUEWSCF)两项任务上摘得榜首。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

榜单详情参见:https://www.cluebenchmarks.com/fewclue.html

此外,源 1.0 在闭卷问答任务 WebQA 和文本提取任务 CMRC2018 中也表现得非常好。在这两个任务的测试中,模型直接回答 WebQA 和 CMRC2018 的问题,并且不提供任何辅助信息。

在与 PanGu-α 和 Ernie 3.0(SOTA)的比较结果可知,在 WebQA 任务上,源 1.0 在平均分数、EM 和 F1 上均实现了显著提升;对于 CMRC2018 任务,源 1.0 刷新了最优的平均分数和 F1 分数,只在 EM 分数上稍逊于 Ernie 3.0。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?


刷榜只是语言模型性能强弱的一个侧面体现,源 1.0 的创作能力在对话、故事、新闻、诗歌和对联等多样性场景中得到了进一步验证。在这些场景任务中,浪潮创建了一场「图灵测试」,用于比较源 1.0 模型生成的文本与人类创作的真实文本,并分辨出这些文本哪些「由模型生成」哪些「由人类创作」

具体地,浪潮任意选择了源 1.0 生成的 24 篇文章,包括 4 副对联、5 首中文传统和现代诗歌、5 篇新闻文章、5 个故事和 5 段对话。其中,对联、诗歌和对话的创作被视为短文本任务,新闻和故事生成被视为长文本任务。与这些对比的人类创作的文章出自名家所作的诗歌、经典小说、搜狐新闻的新闻文章和 LCCC-large 数据集中的对话。对此,浪潮共收集了 83 份有效问卷。

结果显示,源 1.0 生成的文章只有 49.16% 的概率被正确识别为「由模型生成」,这意味着受访者难以区分人类和模型生成的文章,尤其是在对话和新闻生成这两个场景,误判率分别为 54.32% 和 57.88%。不过可以看到,由于源 1.0 的预训练语料中没有加强古汉语,源 1.0 在诗歌和对联生成场景表现相对不佳,但仍具备生成带有一定格式和格律的文本的能力。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

目前,源 1.0 能够生成多种高质量的文本,如对话、新闻稿件、故事续写等。对于这些类别的任务,模型生成的文本与人类创作的内容相差无几,甚至达到了以假乱真的程度。

先以如下对话场景为例,受访者正确分辨出「由模型生成」答案的概率仅为 38.28 %,这意味着源 1.0 在对话任务上做到了非常情景化,回答也接近人的讲话风格。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

再来看新闻生成场景,给出摘要,然后续写正文,受访者正确分辨出「由模型生成」新闻的概率为 34.15 %。源 1.0 生成的文本不仅较人类撰写的篇幅更多,显然也更符合新闻用语环境。

用更少GPU完成更多计算量,中文巨量模型源1.0比GPT-3强在哪里?

但应看到,源 1.0 等大模型的应用场景绝对不会止步于此。12 月 11 日,机器之心举办了 NeurIPS MeetUp China,浪潮信息副总裁、人工智能 & 高性能计算 (AI&HPC) 产品线总经理刘军做了主题为《AI 大模型时代的浪潮思考与实践》演讲。他认为,未来大模型还将可能在更多应用场景中发布作用,如运营商文本类日志和报告的提取和总结、元宇宙中 AI Robot 的语言生成、理解和对话等。

语言大模型的极限在哪里?目前似乎没有哪家科技企业能够清楚地指明。浪潮的源 1.0 中文巨量语言模型,在探索 AI 拟人能力这条路上走出了坚实的一步。

最后,对刘军演讲内容感兴趣的读者,请戳以下视频:

https://v.qq.com/x/page/e3314u8y1l3.html

理论自然语言处理语言模型浪潮
相关数据
激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

自然语言理解技术

自然语言理解是人工智能的核心课题之一,也被广泛认为是最困难和最具标志性的任务。最经典的两个人工智能思想实验——图灵测试和中文房间,都是围绕自然语言理解来构建的。自然语言理解在人工智能技术体系中的重要性不言而喻,它一方面承载着机器和人的交流,另一方面直达知识和逻辑。自然语言理解也是人工智能学者孜孜以求的圣杯,机器学习的巨擘 Michael I. Jordan 就曾经在 Reddit 上的 AMA(Ask Me Anything)栏目中畅想用十亿美元建立一个专门用于自然语言理解的实验室。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

文本分析技术

文本分析是指对文本的表示及其特征项的选取;文本分析是文本挖掘、信息检索的一个基本问题,它把从文本中抽取出的特征词进行量化来表示文本信息。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

图灵测试技术

图灵测试(英语:Turing test,又译图灵试验)是图灵于1950年提出的一个关于判断机器是否能够思考的著名试验,测试某机器是否能表现出与人等价或无法区分的智能。测试的谈话仅限于使用唯一的文本管道,例如计算机键盘和屏幕,这样的结果是不依赖于计算机把单词转换为音频的能力。

零样本学习技术

从仅仅一个或一小撮样本中学习一个新的概念,而普通的机器学习标准算法通常需要几十或几百个表现类似的样本。

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

自然语言生成技术

自然语言生成(NLG)是自然语言处理的一部分,从知识库或逻辑形式等等机器表述系统去生成自然语言。这种形式表述当作心理表述的模型时,心理语言学家会选用语言产出这个术语。自然语言生成系统可以说是一种将资料转换成自然语言表述的翻译器。不过产生最终语言的方法不同于编译程式,因为自然语言多样的表达。NLG出现已久,但是商业NLG技术直到最近才变得普及。自然语言生成可以视为自然语言理解的反向: 自然语言理解系统须要厘清输入句的意涵,从而产生机器表述语言;自然语言生成系统须要决定如何把概念转化成语言。

百度智能云机构

百度是全球最大的中文搜索引擎,是一家互联网综合信息服务公司,更是全球领先的人工智能平台型公司。2000年1月1日创立于中关村,公司创始人李彦宏拥有“超链分析”技术专利,也使中国成为美国、俄罗斯、和韩国之外,全球仅有的4个拥有搜索引擎核心技术的国家之一。

http://www.baidu.com
OpenAI GPT技术

GPT 是“Generative Pre-Training”的简称,从名字看其含义是指的生成式的预训练。GPT 也采用两阶段过程,第一个阶段是利用语言模型进行预训练,第二阶段通过 Fine-tuning 的模式解决下游任务。它与ELMO 主要不同在于两点:特征抽取器不是用的 RNN,而是用的 Transformer;GPT 的预训练虽然仍然是以语言模型作为目标任务,但是采用的是单向的语言模型。

机器之心机构

机器之心,成立于2014年,是国内最具影响力、最专业、唯一用于国际品牌的人工智能信息服务与产业服务平台。目前机器之心已经建立起涵盖媒体、数据、活动、研究及咨询、线下物理空间于一体的业务体系,为各类人工智能从业者提供综合信息服务和产业服务。

https://www.jiqizhixin.com/
语言模型技术

统计式的语言模型是借由一个几率分布,而指派几率给字词所组成的字串。语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。

小样本学习技术

人类非常擅长通过极少量的样本识别一个新物体,比如小孩子只需要书中的一些图片就可以认识什么是“斑马”,什么是“犀牛”。在人类的快速学习能力的启发下,研究人员希望机器学习模型在学习了一定类别的大量数据后,对于新的类别,只需要少量的样本就能快速学习,这就是 Few-shot Learning 要解决的问题。

情感分类技术

情感分类是对带有感情色彩的主观性文本进行分析、推理的过程,即分析对说话人的态度,倾向正面,还是反面。

暂无评论
暂无评论~