32专家MoE大模型免费商用!5.28%单token推理消耗,性能对标Llama3

  克雷西发自凹非寺

  量子位公众号 QbitAI

  每个 token 只需要 5.28% 的算力,精度就能全面对标 Llama 3。

  开源大模型,再添一位重量级选手——

  来自浪潮信息的 32 专家 MoE 模型,源 2.0-M32。

  不仅拥有极高的回报投入比,而且全面开放,训练代码和模型权重都可任意下载,商业使用也免费、无需授权。

  那么,这到底是怎样的一款模型?

  1/19 算力消耗,性能对标 Llama 3

  首先了解一下模型的基本信息,源 2.0-M32 模型采用 MoE 架构,专家数量为 32,总参数量 40B,激活专家数为2,激活参数量 3.7B。

  精度上,源 2.0-M32 在多个测评数据集上全面对标 Llama3(70B,以下同),在 MATH(数学竞赛)和 ARC-C(科学推理)榜单还上超越了 Llama3。

  举个例子,在求解一道中文数学题目时,源 2.0-M32 能够用中文进行完整、准确作答,而 Llama3 虽然能理解中文题目,但回答时还是用了英文。

  而且看一下 Llama3 的答案,虽然前面的过程也没什么问题,但最终得到的结果错得离谱,硬生生把一堆整数的和算出了小数点。

  在实现与业界领先开源大模型性能相当的同时,在模型的训练、推理和微调过程中,源 2.0-M32 的资源消耗也都显著更低。

  在训练阶段,使用 2 万亿 token 对源 2.0-M32 进行预训练,计算量只有同参数规模稠密模型的 9.25%。

  在推理阶段,在达到相当精度的条件下,源 2.0-M32 平均每个 token 消耗的算力为 7.4GFLOPS,Llama3 则需要 140GFLOPS,前者的消耗仅为后者的1/19,即 5.28%。

  换言之,源 2.0-M32 每 Token 算力下的平均精度是 Llama3 的 18. 8 倍,拥有更高的模算效率。

  微调上,使用 1 万条平均长度为 1024 token 的数据进行微调,Llama3-70B 消耗为 0.05PD(PetaFLOPs/s-Day),源 2.0-M32 只用 0.0026PD,仅为 Llama3 的 5.2%。

  当然不得不说的是,虽然源 2.0-M32 的微调消耗已经降低到了 Llama3 的 5.2%,但微调本身对于一些用户来说就是无法负担的成本。

  而得益于源 2.0-M32 强大的少样本学习能力,让用户即使没有条件进行微调,也能快速构建大模型应用。

  以代码生成为例,仅需很少量的样本引导,源 2.0-M32 在 HumanEval 上获得的精度就能从 74.4 提升到 78.1,增幅达到了 4.97%。

  浪潮信息提供了预训练、微调和推理服务脚本,开发人员可以高效完成部署。

  模型部署可端可云,可以在自有的云服务上部署,也可以在浪潮信息推出的企业大模型开发平台 EPAI 中快速构建,还可以通过浪潮信息开源的本地大模型对话工具 YuanChat,在 PC 端完成快速部署。

  而且源 2.0-M32 模型激活参数量仅 3.7B,算力需求只有 2B 模型(单专家)的 1 点多倍,用笔记本就能带动

  总之,浪潮信息始终追求更高效的智能涌现——本次发布“源 2.0-M32”大模型,就是希望资源有限的条件下,实现能耗更低、推理和训练效果更优的大模型开发。

  那么,浪潮信息是如何实现用更少的算力开销,对标行业领先模型的呢?

  算法、算力、数据的全面创新

  自浪潮信息涉足 AI 领域以来,一直将“算法、算力、数据”视为 AI 应用的“三驾马车”。

  实际上,整个“源”系列大模型的研发过程亦是如此,所有的相关研究,都是围绕着这三个维度展开的。

  在算法上,源 2.0-M32 选择了 MoE 架构,解决了稠密模型训练成本过高、数据和算力不足的问题。

  从 Llama1(65B)、Llama2(70B)到 Llama3(70B)的迭代过程可以看出,三代模型的参数量接近,但随着训练 Token 数从 1.4T 增加到了 15T,模型表现也随之显著提升。

  数据来自 Llama1 与 Llama2 的论文

  大模型的扩展率揭示出:增大模型的参数量与增大训练的 token 数对模型能力提升的作用类似,如果按照 Llama3 的训练数据量(15T tokens)外推,500B 参数的模型若想充分的训练,所需的高质量文本 token 数高达 107T,已经远远超过了当前业界已知的数据量。

  退一步讲,即使真的有这么多数据,训练过程所需的算力投入同样无法承受。

  按照计算,如果用 107T 训练 token 训一个 500B 参数规模的 Dense 模型,需要的算力是 321000Z(10^21)Flops。

  即使在 2 万颗加速卡的集群上,训练效率按 40% 来算(实际还不一定能达到),也需要耗时 464 天,单是电费就要花费约 3 亿元。

  相比之下,MoE 模型的一个显著优势就是,能够在远少于稠密模型所需的计算资源下,进行有效的预训练。

  同时,源 2.0-M32 没有采用 Mixtral 等 MoE 模型中更常见的 8 专家结构,而是将专家数量设定为了 32,运行时只激活两个专家。

  这一参数的选择,是研发团队进行了大量的实验调优之后确定的。

  浪潮信息人工智能首席科学家吴韶华介绍说,模算效率是浪潮信息设计自己的大模型时的核心出发点,在提升模型能力的同时,尽可能降低算力开销。

  业界中像 Mixtral 这样的模型,获得更高精度的方式是固定专家数量,增加单个专家的参数量,但源 2.0-M32 则反其道而行之。

  吴韶华介绍,在研发团队的实验中,随着专家数量从 8 个专家增加到 32 个专家,在模型精度上取得了非常不错的回报。

  但即使总的专家数量增加到了 32 个,激活的专家依然只有两个。在这种情况下,激活参数量不变,算力开销不变。

  至于源 2.0-M32 中的单个专家,则是选用了源 2.0-2B 模型,这样做的考量是控制单个专家的参数量不至于过大,以便在企业场景应用中可以有更好的模算效率。

  除了在专家数量的设置上另辟蹊径,团队也对源 2.0-M32 的门控网络进行了全新设计,采用了独创的 Attention Router 门控网络,相比传统的门控网络获得了精度提升。

  当前流行的 MoE 结构大都采用简单的调度策略,其本质是对 token 与代表每个专家的特征向量求点积,随后挑选点积结果最大的几个专家。

  这种方式只考虑了 token 和专家的关系,却忽略了专家与专家之间的相关性,但实际过程中往往需要多个专家协同参与计算,如果忽视专家之间相关性,无疑会降低模型的精度。

  而源 2.0-M32 大模型中的 Attention Router,就创造了一种专家间协同性的度量方法,解决了传统的门控机制中专家关联性缺失的问题。

  具体来说,对于每一个专家,研发团队都构建了 3 个向量,并利用类似 Attention 的机制来构建专家之间的关系。最终选择的专家不仅与 Token 匹配度高,两个专家的协同效果也更好。

  此外,源 2.0-M32 也沿用了源 2.0 系列中首创的局部注意力过滤增强(LFA)机制,和经典的 Llama 结构相比,模型在几百亿 token 数据的训练之后,在 100 亿 token 的测试集上做测试,会有 3.5% 的精度提升。

  在数据层面,源 2.0-M32 一共使用 2 万亿 token 进行训练,相比之前的 2.0 版本大幅提升。

  整个训练过程也非常稳定,没有出现数值不稳定或异常的中断的情况,最终训练损失为 1.22。

  数据类型上看,源 2.0-M32 这个模型的 2 万亿 token 中,差不多有一半的数据都是代码,包含中文代码和英文代码。

  同时,团队也引入了互联网数据和各类学科数据等类型,来补充数据的多样性。

  另外,研发团队还通过源 2.0 合成数据的工具,获得并增加了超过 1000 万条的合成数据,重点是针对于数学和中文代码。

  因为互联网上中文数学的语料实在太少,研发团队曾经清洗了 10PB 左右的互联网数据,但实际只得到了几十 GB 的中文数学数据。

  所以,这片空白需要通过数据合成来进行填补,这也是研发团队持续做的工作。

  在算力层面,源 2.0-M32 延续了源 2.0 提出的分布式训练方法,综合运用流水线并行+数据并行的策略,显著降低了大模型对芯片间 P2P 带宽的需求,为硬件差异较大训练环境提供了一种高性能的训练方法。

  针对 MoE 模型的稀疏专家计算,采用合并矩阵乘法的方法,模算效率得到大幅提升。

  将开源进行到底

  了解了模型背后的技术细节,浪潮信息又为什么能够打造出如此高效的大模型技术和产品呢?

  主观上,浪潮信息始终坚持在算法、架构等层面进行创新,对于这样做的原因,吴韶华这样介绍:如果想提升大模型的能力,沿用当前的结构当然是一个比较好的路径。

  但我们始终坚持:要从算法层面和模型架构层面做探索、创新,这样才能更快速的实现模型能力的提升。

  客观上,也至少包括以下三点原因。

  一是从 AI 时代开始之前,浪潮信息就是专业的算力供应商,在算力侧拥有大量的生态伙伴,对不同类型算力特点有深入的研究,能够更高效地对算力进行利用。

  实际上,自从 2021 年的源 1.0 开始,浪潮信息的一系列模型就都实现了比业界更高的训练效率。

  同时期的 GPT-3,算力的利用效率只有 21.3%,而源 1.0 效率则达到了 44.8%,达到了业界领先水平。

  二是在浪潮信息内部,也有非常多的场景和团队,包括客服、软件研发、生产制造、运维等等,都有很多实际的应用案例,或者实际需要模型去做规模化转型的场景。

  这些场景为源大模型的使用、迭代提供了天然的试验场,同时从中能够积累更多的经验、更多的能力,从而满足更多的需求。

  三是始终坚持开源开放,同样对模型能力的进化非常有帮助。

  源系列模型的开源从 1.0 版本就已开始,从源 1.0 到源 2.0 再到今天的源 2.0-M32,始终在坚持做开源,也已赋能了很多开发者。

  这些开发者基于源 1.0 做了很有趣的应用探索,给了浪潮信息很好的反馈,指明了在模型能力上和开发者实际的应用需求上,到底应该关注在哪些层面。

  吴韶华表示,从源 1.0 开源至今,浪潮信息一直在开源活动中持续受益,后续也会很坚定的继续开源

  总之,从创新研发到开源开放,浪潮信息将坚持致力于研发基础大模型,为企业用户降低大模型使用门槛,加速推进产业智能化升级。

  GitHub 地址:

  https://github.com/IEIT-Yuan/Yuan2.0-M32

  论文地址:

  https://arxiv.org/abs/2405.17976

  Huggingface 地址:

  https://huggingface.co/IEITYuan/Yuan2-M32-hf

  ModelScope 地址:

  https://modelscope.cn/models/YuanLLM/Yuan2-M32-hf/summary

  Wisemodel 地址:

  https://www.wisemodel.cn/models/IEIT-Yuan/Yuan2-M32-hf