MoE模型大火,源2.0-M32诠释“三个臭皮匠,顶个诸葛亮”!

文 | 智能相对论

作者 | 陈泊丞

近半年来,MoE混合专家大模型彻底是火了。
 

在海外,OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架构。而在国内,浪潮信息也刚刚发布了基于MoE架构的“源2.0-M32”开源大模型。

为什么MoE大模型备受瞩目,并逐步成为AI行业的共识?

知名科学杂志《Nature》在今年发表了一篇关于大模型未来发展之路的文章,《In Al, is bigger always better?》(人工智能,越大型越好?)。争议的出现,意味着AI的发展方向出现了分歧。

如今,“大”不再是模型的唯一追求,综合应用需要关注模型本身的计算效率和算力开销两大问题成为新的行业焦点。

浪潮信息人工智能首席科学家吴韶华在与「智能相对论」交流时也强调,事实上他们当前做的,是在模型能力持续提升的情况下,尽可能降低它的算力开销。因为今天大模型本身就是由两个主要因素来决定的,一个是模型能力,一个是算力开销。

浪潮信息人工智能首席科学家吴韶华

因此,MoE大模型的盛行,实际上对应的正是模型能力和算力开销两大问题的解决。这也是为什么众多大模型厂商如OpenAI、谷歌、Mistral AI、浪潮信息等陆续基于MoE架构升级自家大模型产品的原因。

MoE模型大火的背后,需要厘清三点认知

一、解题思路的转变:三个“臭皮匠”,顶个“诸葛亮”。

中国有句古语:术业有专攻,正是MoE模型的最直接的工作设计思路,即把任务分门别类,交由不同的“专家”进行解决。

如果说稠密(Dense)模型是个“全才”模型,旨在培养一个精通各个领域、能解决多个问题的“诸葛亮”,那么混合专家(MoE)模型则是个“专才”模式,侧重于培养多个“臭皮匠”(即“专家”),配合着以更专业、更高效的团队模式解决各种问题。

图片来源:《GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding》

由此便不难理解为什么MoE模型会如此火爆。因为,培养一个“诸葛亮”所需要消耗的资源、成本都太高了,甚至慢慢地超出了普通企业的承受范围。根据计算,训练一个5000亿参数规模的Dense模型,基础算力设施投入约10亿美金,无故障运行21个月,电费约5.3亿元——这是现阶段无法接受的算力投入。

那么,“三个臭皮匠”不仅能“顶个诸葛亮”,同时培养“三个臭皮匠”所需要的资源和成本可比培养“诸葛亮”可就相对简单多了。像源2.0-M32在处理逻辑、代码生成、知识等方面的能力是可以对标Llama3-700亿的,但其所需要但推理算力却低了一个量级,只有Llama3-700亿的十九分之一。

相当的智能水平,但算力投入却大幅减少,这也就意味着通过模算效率的提升,我们完全可以用更少的算力投入产出更智能的模型。这会是未来解决算力挑战的一个关键思路,MoE模型的大火,所带来的是一个AI行业解题思路的大转变。

二、算法层面的优化:三个“臭皮匠”的搭配和配合是一门艺术。

虽说“三个臭皮匠,顶个诸葛亮”,但是这“三个臭皮匠”如何选择、搭配以及配合处理任务,恰恰才是其“顶个诸葛亮”的根本。

更直观的对比,以古代作战为例,同样是一群人打架,为什么散兵游勇很难和正规军进行对抗、战斗?其根本在于正规军有专业的兵种搭配和配合,也就是“兵法”的辅助。放到AI领域,算法即“兵法”。

在MoE模型上,虽说核心思路是一致的,但是关于门控网络的位置、模型、专家数量、以及MoE与Transformer架构的具体结合方案,各家方案都不尽相同,由此将拉开各家MoE模型在应用上的差距。

比如,在算法层面,源2.0-M32就提出并采用了一种新型的算法结构:基于注意力机制的门控网络(Attention Router)。针对MoE模型核心的专家调度策略,这种新的算法结构更关注专家模型之间的协同性度量,有效解决传统门控网络下,选择两个或多个专家参与计算时关联性缺失的问题,使得专家之间协同处理数据的水平大为提升。

同时,源2.0-M32采用了源2.0-2B为基础模型设计,由此得以沿用并融合局部过滤增强的注意力机制(LFA, Localized Filtering-based Attention),通过先学习相邻词之间的关联性,然后再计算全局关联性的方法,能够更好地学习到自然语言的局部和全局的语言特征,对于自然语言的关联语义理解更准确,进而提升了模型精度。

基于注意力机制的门控网络(Attention Router)

在MoE模型中,算法层面的优化将是模算效率提升的一个很好补充。简单来说,“三个臭皮匠”,能基于算法优化而发挥出更大的价值,在处理问题上得到更好的反馈。这或许也是接下来各家MoE模型进一步拉开差距的关键。

三、数据需求的延续:“诸葛亮”和“臭皮匠”都需要高质量的数据投喂。

这一点毋庸置疑,“诸葛亮”和“臭皮匠”同属于“人”,其成长的根本在于高质量知识的吸收。同样的,MoE模型和Dense模型也都同属于AI模型,都需要高质量的数据投喂,数据质量越高,对应产出的模型精度越高。

为什么源2.0-M32在代码生成、代码理解、代码推理、数学求解等方面有着出色的表现,其根本在于数据质量。源2.0-M32基于2万亿的token进行训练,覆盖万亿量级的代码、中英文书籍、百科、论文及合成数据。其中,大幅扩展代码数据占比至47.5%,从6类最流行的代码扩充至619类,并通过对代码中英文注释的翻译,将中文代码数据量增大至1800亿token。

总的来说,培养“臭皮匠”与培养“诸葛亮”所需要的资源并没有太多本质上的区别,只是培养的思路、方法有所优化,从而使得我们能用更少的资源、成本就培养出了一个能相当甚至是超过“诸葛亮”的“臭皮匠”智囊团。由此,MoE模型成了各大厂商争先布局的重要方向。

MoE模型普及的关键,仍需要解决最核心的算力问题

正如前面所说,MoE模型和Dense模型同属于AI,在发展需要上并没有太大的本质区别。因此,长期以来困扰AI发展的算力问题如算力太贵、算力供给不足、算力资源不平衡、算力利用率低等,还是MoE同样面对的,甚至是其走向大众市场的一个明显阻碍。

浪潮信息在发布源2.0-M32大模型时,吴韶华就提到,“这个模型我们在研发的初衷就是为了大幅提升基础模型的模算效率,在这里面有两个层面,一方面是提升它的精度,另一方面是降低同等精度水平下的算力开销。”

现如今,很多企业对MoE模型的重视大多聚焦模型能力,殊不知算力开销也是一个重要考量。若能花更少的算力,办更多的事情,那么对于MoE模型而言将是普及的关键。

目前,源2.0-M32大幅提升了模型算力效率,在实现与业界领先开源大模型性能相当的同时,显著降低了在模型训练、微调和推理所需的算力开销。

源2.0-M32业界主流评测任务表现

其中,在模型推理运行阶段,源2.0-M32处理每token所需算力仅为7.4Gflops,而LLaMA3-70B所需算力则为140Gflops。在模型微调训练阶段,同样是对1万条平均长度为1024 token的样本进行全量微调,源2.0-M32消耗算力约0.0026PD(PetaFLOPs/s-Day),而LLaMA3消耗算力约为0.05PD。

目前,源2.0-M32的激活参数为37亿,但是却取得了和700亿参数LLaMA3相当的性能水平,而所消耗算力仅为LLaMA3的1/19。如此大幅提升的模算效率,将为企业开发应用生成式AI提供一条“模型高性能、算力低门槛”的优质路径。

根据浪潮信息透露,源2.0-M32开源大模型配合企业大模型开发平台EPAI(Enterprise Platform of AI),将助力企业实现更快的技术迭代与高效的应用落地。也就是说,在技术层面,MoE模型将加速普及,而在应用层面,源2.0-M32所提升的模算效率,对模型能力和算力开销两大问题的解决将进一步加速生成式AI的普及应用,让更多企业都能享受到AI的时代红利。

写在最后

MoE模型并非人工智能技术前进的终点,更不是大模型发展的最终形态。但是,它的出现着实是改变了AI发展的路径,让AI落地有了更清晰的方向。

今天,大模型迫切地需要变得越来越大,但是单纯的变大并不能解决行业问题,大模型更应该想清楚如何变得越来越有用。“有用”是一个复杂的概念,既需要模型能力够强,也需要算力开销够小,让企业用得起、用得好。

浪潮信息所强调的模算效率就旨在解决这两大问题。事实上,从源2.0-M32的发布来看,模算效率的提升确实把MoE模型推向了一个更广泛的发展阶段,我们甚至能在此看到不同行业、不同企业都能用上、用好MoE模型的可能。

*本文图片均来源于网络

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

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

相关文章

C++【缺省参数|函数重载|引用】

目录 1 缺省参数 1.1 全缺省 1.2 半缺省 注意 1.3 应用 2 函数重载 函数重载的概念 1、参数类型不同 2、参数个数不同 3、参数类型顺序不同 3 引用 3.1 引用概念 3.2 引用特性 3.3 常引用 3.4 使用场景 3.5 传值、传引用效率比较 3.6 引用和指针的区别 1 缺…

基于51单片机的温度+烟雾报警系统设计

一.硬件方案 本设计采用51单片机为核心控制器,利用气体传感器MQ-2、ADC0832模数转换器、DS18B20温度传感器等实现基本功能。通过这些传感器和芯片,当环境中可燃气体浓度或温度等发生变化时系统会发出相应的灯光报警信号和声音报警信号,以此来…

【C++课程学习】:二叉树的基本函数实现

🎁个人主页:我们的五年 🔍系列专栏:C课程学习 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🍉二叉树的结构类型: 🍉1.创建二叉树函数(根据数组&am…

30【Aseprite 作图】桌子——拆解

1 桌子只要画左上方,竖着5,斜着3个1,斜着两个2,斜着2个3,斜着一个5,斜着一个很长的 然后左右翻转 再上下翻转 在桌子腿部分,竖着三个直线,左右都是斜线;这是横着水平线不…

Python os.path.isfile() 和 os.path.isdir() 函数

Python os.path.isfile 和 os.path.isdir 函数 正文 正文 在网上看到很多人对这两个函数的用法有过说明,然而感觉都没有说到它们的本质,这里特来记录一下。os.path.isfile() 用来判断所给参数是否一个文件。os.path.isdir() 用来判断所给的参数是否是一…

Mybatis多表查询

MyBatis-多表查询-一对一查询(方式一) 一个菜品对应一个分类 直接菜品记录category对象 菜品id写入Dish,后面的分类直接写入 Category类 封装,如果sql不能封装上,那么直接使用resultmap封装 使用resultType只能封装基本属性 所以要定义一个resultmap手动封装 使用标签 要…

Python数据处理,使用 tkinter 模块点击获取文件目录

Python数据处理,使用 tkinter 模块点击获取文件目录 正文 正文 当我们进行数据处理读取文件内数据的时候,通常,我们需要设定好一个存放当前文件所在目录的变量。比如如下目录: file_path rC:\Users\xxx\Desktop\DataSet\Data.c…

【车载开发系列】Vector工具链的安装

【车载开发系列】Vector工具链的安装 【车载开发系列】Vector工具链的安装 【车载开发系列】Vector工具链的安装一. VectorDriver二. DaVinci_Developer三. DaVinci Configurator 一. VectorDriver Vector Driver Setup是Vector产品链中重要的驱动软件,所有的硬件设备进行连接…

mvc的常见注解

问文心一言的,记录一下。 PathVariable 路径变量注解 PathVariable 是 Spring MVC 提供的一个注解,它用于从 URI 模板变量中绑定值到控制器方法的参数上。当你在 RequestMapping、GetMapping、PostMapping、PutMapping、DeleteMapping 等注解的 URL 路…

写Python时不用import,你会遭遇什么

from *** import *** 想必你已经再熟悉不过这样的python语法。 当你的 python 代码需要获取外部的一些功能(一些已经造好的轮子),你就需要使用到 import 这个声明关键字。import可以协助导入其他 module 。(类似 C 预约的 inclu…

信号处理中简单实用的方法

最小二乘法拟合消除趋势项 消除趋势项函数 在MATLAB的工具箱中已有消除线性趋势项的detrend函数;再介绍以最小二乘法拟合消除趋势项的polydetrend 函数。 函数:detrend功能:消除线性趋势项 调用格式:ydetrend(x) 说明:输入参数x是带有线性趋势项的信号序列,输出…

【408真题】2009-28

“接”是针对题目进行必要的分析,比较简略; “化”是对题目中所涉及到的知识点进行详细解释; “发”是对此题型的解题套路总结,并结合历年真题或者典型例题进行运用。 涉及到的知识全部来源于王道各科教材(2025版&…

遇到软件测试职业瓶颈,如何突破

作为职场人,遇到发展瓶颈是在所难免的,无论是晋升受限、技能升级缓慢,还是工作激情的丢失,这些挑战都可能让人感到挫败。但是,积极应对,你就可能找到那扇通向新机遇的窗。 1. 自我评估 识别问题 是缺乏技能…

2024年四川省三支一扶报名流程图解✅

2024年四川省三支一扶报名流程图解✅ 🔴时间安排 1、报名时间:5月31日—6月4日17:00 2、资格初审时间:5月31日—6月5日17:00 3、准考证打印时间:6月25日—6月29日 4、笔试时间:6月30日 5、笔试成绩:7…

电脑显示由于找不到msvcr110.dll 无法继续执行如何处理?最简单的修复msvcr110.dll文件方法

电脑显示由于找不到msvcr110.dll 无法继续执行?当你看到这种提示的时候,请不要紧张,这种是属于dll文件丢失,解决起来还是比较简单的,下面会详细的列明多种找不到msvcr110.dll的解决方法。 一.找不到msvcr110.dll是怎么…

【credit_based流控机制】

credit_based流控机制 1 credit_based way1.1 Principle1.3 DFD1.4 Module1.4.1 Interface1.4.2 Code Block 在网络芯片处理大流量报文中,一般主要是两种机制:1.valid–ready反压(backpressure)机制;2.credit信用机制; credit机制…

idea、datagrip注册记录下

一、DataGrip注册 DataGrip版本号:DataGrip 2023.2 访问地址:https://3.jetbra.in/ 点击“hardbin.com”,下载“jetbra.zip” 在vm里面添加上: -javaagent:D:\work\idea\jetbra\ja-netfilter.jarjetbrains重启datagrip 在刚刚…

英飞凌24GHz毫米波雷达-BGT24LTR11N16家用机器人应用

BGT24LTR11N16基础描述: 关于BGT24LTR11N16,它是一款用于信号生成和接收的硅锗雷达MMlC,工作频率为24.00GHz至24.25GHz ISM频段。它基于24GHz基本电压控制振荡器(VCO)。 这颗芯片是属于1T1R,也就是一发一收…

真实机安装完Centos7没有网卡驱动,ifconfig后,只有lo

文章目录 前言一、1查看网卡型号2 下载相应的驱动程序3、参考官方说明 二、总结 前言 参考1 参考2](https://blog.csdn.net/weixin_46945904/article/details/136365222?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2defaultYuanLiJiHuaP…

检索字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中,字符串对象提供了很多应用于字符串查找的方法,这里主要介绍以下几种方法。 (1)count()方…