Auto Byte

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

微信扫一扫获取更多资讯

Science AI

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

微信扫一扫获取更多资讯

机器之心编辑部报道

众筹超算直播训练1760亿参数AI大模型,九百工程师搞开源

如果你有 100 万个 GPU hour,你会训练什么样的语言模型?

到昨天为止,大模型「BigScience」已训练了 5%。

图片


这个模型仅 bf16 权重就有 329GB,正在用 384 块 A100 进行训练,吞吐量每秒约 150TFLOPS。

好消息是,训练损失正在下降:

图片


与很多公司未开源大模型不同的是,BigScience 模型训练的参数所有人都可见,根据项目组织者的预测,距离完成目标还有三个月的时间。


人工智能给人类社会带来了根本性的影响,但与互联网的兴起不同,AI 极度依赖在更大的数据集上训练更大的模型。因此,这场科技变革的资源主要掌握在大型科技巨头手中。从研究进展、环境、伦理和社会影响的角度看,这种现状给 AI 技术造成了束缚。例如,外界无法访问训练数据集或检查点,这使得其他研究者无法确切分析模型的能力、局限性、潜在改进、偏见等重要方面。

从 2021 年 5 月到 2022 年 5 月,在(预计)长达一年的时间里,来自 60 个国家和 250 多个机构的 900 名研究人员正在共同创建一个非常大的多语言神经网络模型和一个非常大的多语言文本数据集,并在算力 28 petaflops 的法国 Jean Zay (IDRIS) 核电超级计算机上运行。这个项目被命名为 BigScience。

最近,这个项目在推特上开启了直播。

BigScience 是做什么的

开放的科学合作是其他学科领域已获成功的研究模式,已有多个对全世界有益的大型共享研究中心,例如欧洲核子研究中心 CERN。

类似地,BigScience 项目旨在以一种新的方式在 AI/NLP 研究社区中创建、研究和共享大型语言模型,探索大模型的新型合作模式。围绕 BigScience 项目创建的大型研究社区将能够提前探索超大型语言模型的许多研究问题(能力、局限性、潜在改进、偏见、通用人工智能等),并展开学术讨论,促进科技的发展。

BigScience 模型是什么样的

简单来说,BigScience 模型是一个 1760 亿参数的多语言模型,它有以下特点:

  • 与 GPT 类似,它是一个只包含解码器(decoder-only)的架构,参数量达到了 1760 亿;

  • 70 层的神经网络,每层 112 个注意力头 - 隐藏维度为 14336 - 2048 个 token 序列长度;

  • ALiBi 位置嵌入 - GeLU 激活函数


BigScience 是怎么练成的?

扩展定律(scaling laws)

首先,研究者推导出扩展定律,计算了能提供的「最佳」模型上限:从 ~1650 亿的数据 token 中训练 ~3920 亿参数

但是扩展定律没有考虑服务 / 推理成本、下游任务性能等。此外,该研究还需要确保低资源语言在预训练期间仍然获得足够多的 token。研究者不希望 BigScience 模型需要对整个语言进行零样本学习,因此他们决定至少应该预训练 3000-4000 亿 个 token。

图片

计算

回到预算:法国国家大型计算中心 GENCI 在超级计算机 Jean Zay 上为项目提供了 384 块英伟达 A100 80GB 的 18 周时间,即 1161261 个 A100-hour!

值得一提的是,Jean Zay 是法国在 2019 年建成的超级计算机,硬件由惠普供货,2020 年扩容后峰值性能达到 28 Pflops/s。由于接入法国电网,这台超算是由核电站供能的。为了将训练对环境的影响进一步降低,他们甚至将硬件产生的热量用于校园建筑的供暖。

在正式开发之前,研究者评估了适合训练的模型大小,并考虑了系统的安全方面。最后的评估结果即:~1750 亿参数的模型,其对应的 token 量有机会达到甚至超过 4000 亿。

图片


在训练之前,研究者分析了其他超过 1000 亿参数的大模型是如何形成的。对于模型体量如何随规模增加而变化,也有很多研究可以参考:特别是 Kaplan 等人(2020 年)和 Levine 等人(2020 年)的研究。

图片



图片



速度

最后,BigScience 的杰出工程师 Stas Bekman 对数百种配置进行了基准测试,以找到最快的配置。你可以在其网站中阅读更多相关信息。这一切都是为了找到一组 magic number,避免诸如 tile / 波量化之类的影响。

项目最终获取了三个有希望的配置,首先排除(1),因为注意力头过大,最终选择(3)是因为它比(2)快。速度很重要:每增加一点吞吐量就意味着更多的总计算量,能够带来更多的预训练 token,并形成更好的模型。

图片


此外,BigScience 模型在检查点方面,仅 bf16 权重就有 329GB,具有优化器状态的完整检查点有 2.3TB。

BigScience 的 1760 亿参数大模型训练始于美国西海岸时间 2022 年 3 月 11 日上午 11 点 42 分。

数据集

这个项目要用到一个 TB 级的多语言数据集,包含 1.5 TB(3500 亿 token)的文本数据。这个数据量是什么概念呢?如果你把它打印到 A4 纸上,这些纸可以堆成 141 座埃菲尔铁塔或 5 座珠穆朗玛峰。

图片



为了构建这个数据集,项目组成员分工完成了以下工作:

  • 数据治理小组帮助定义了指导数据工作的具体价值,并提出了一个新的国际数据治理结构,包括一些支持性的技术和法律工具;

  • 数据来源小组在全球范围内组织黑客松,帮助参与者利用当地专业知识建立了 246 种语言资源目录,并准备了 605 个相关网站的列表;

  • 隐私工作小组致力于分类和策略,以降低隐私风险;

  • 法律学术小组开发了一套涵盖九个司法管辖区的法律手册,其中包含不同的隐私和数据保护法规,以帮助 ML 从业者了解他们工作的法律背景。


由于数据规模过大,使用自动方法来对整个语料库进行自动筛选所带来的影响将非常不可控,同时,通过手动检查数据样本来获得良好的洞察也是一大挑战。为了应对这些挑战,并提高数据选择过程的可理解性和可说明性,项目人员在工作中优先考虑了以下方法:

1、构建支持大规模人工决策的工具,而不是完全自动化,在手动和自动之间找到一个平衡点。
2、更少的语言,更多的语言专业知识。将精力集中在能够投入足够资源的语言和语言组上。

图片


以下博文介绍了关于该数据集的更多细节:https://bigscience.huggingface.co/blog/building-a-tb-scale-multilingual-dataset-for-language-modeling

最后,关注这个项目的同学可以查看以下账户的直播信息:https://twitter.com/BigScienceLLM

参考链接:https://www.reddit.com/r/MachineLearning/comments/tfm7zb/n_live_and_open_training_of_bigsciences_176b/
工程大模型
相关数据
激活函数技术

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

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

人工智能技术

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

基准技术

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

参数技术

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

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

语料库技术

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

零样本学习技术

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

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

通用人工智能技术

通用人工智能(AGI)是具有一般人类智慧,可以执行人类能够执行的任何智力任务的机器智能。通用人工智能是一些人工智能研究的主要目标,也是科幻小说和未来研究中的共同话题。一些研究人员将通用人工智能称为强AI(strong AI)或者完全AI(full AI),或称机器具有执行通用智能行为(general intelligent action)的能力。与弱AI(weak AI)相比,强AI可以尝试执行全方位的人类认知能力。

语言模型技术

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

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~