加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • Transformer只是中间态?
    • 分治法:AI的经典范式?
    • 大模型时代到来,为何端到端逐渐成为主流?
    • 英伟达和GPU的遇到的困难?
    • 冯诺依曼架构在大模型时代的困境?
    • Scaling Law能否延续?
    • 什么是存算一体?
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

AI的未来发展:分治法在左,端到端在右

05/17 09:55
3641
阅读需 17 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

阳萌或许是我接触过的最懂技术的CEO:他是北大计算机本科,硕博连读机器学习专业,但博士读了一半就跑了;他是百亿营收大厂安克创新的创始人,也曾在谷歌做搜索算法的研发;他的公司主要做的是充电宝、扫地机器人这些消费类电子产品,但我们聊的是人工智能芯片等等硬科技。

我梳理了和他对谈的全部内容,我们聊了接近两个小时,本文是第一篇,他帮我梳理了人工智能的过去、现在、以及未来的发展方向,我深受启发。内容有点长,但相信肯定会对你有所帮助。我们对谈的视频版本可以看视频号,或者点击文末「阅读原文」跳转B站观看。

Transformer只是中间态?

我本科就很喜欢做机器学习,因为觉得计算机能够做决策是很酷的一件事情。后来03年博士也读这个,然后,非常痛苦。

我发现,行业里每5-10年就会有个大牛出来,开天辟地地推出一个全新的范式。譬如最早的时候大家做专家系统,后来做决策树,再做Support Vector Machine (SVM)。这有点像大牛发现了一片矿脉,很多人去挖矿,那几年大家都很开心,博士们都非常有成果。到2017年出现Transformer,这又是一个新的范式,大家又挖挖挖,又很感觉很有成果。这几年我觉得还是一个比较井喷的状态,这个矿脉的大龙的部分还在被挖出来,但是总是会挖完的。

我觉得,Transformer只是一个中间状态。比如10年、20年之后,大概率我们就不再用Transformer了。这是一个非常大胆的一个假设,但我们可以把话放到这,20年以后我们再回来看。就像同样20年以前,大家说的最多的就是SVM,但我们看今天还有多少人用SVM?

它真的就是长江后浪推前浪,每一浪都会有一个新的范式的出现,然后都会把之前的范式拍死在沙滩上。

分治法:AI的经典范式?

如果将所有的范式按照背后解决问题的思路进行分类,主要有两种:一种是基于数理逻辑和分治法,其目标是将问题分解成人类可以理解、公式可以推导的形式,然后再进行组合;另一种则是利用大量数据训练一个端到端的模型,类似于黑盒,即使我们能看到其中的参数,但却无法理解其内在逻辑,这种模型是不可解释的。

这两种范式代表了两种不同的派别:一派通过分析问题,使用逻辑和数学公式来解决问题;另一派则直接利用大数据训练出网络模型来解决问题,而无需理解其内部机制。

中国有句古话“知其然,知其所以然”,分治法可以被视为最通用的“知其所以然”的方式。当人类使用自己能理解的方式解决问题时,这似乎是其唯一的方法。

以计算机科学为例,如自然语言处理领域,搜索一个词的第一步通常是进行分词,因为整段文本无法进行检索。分词后,我们会对词汇进行特征提取,例如词频的高低,然后基于这些分词和特征进行搜索、翻译等更高级的操作。

另一个例子是自动驾驶技术。自动驾驶本质上是一种机器人技术,第一步是感知,也就是识别周围环境中的各种元素。第二步是规划,也就是确定要执行的任务以及如何与周围环境协同或在其中移动。第三步是控制,比如实际操作车辆怎么去加速、转向等。

深度学习或端到端算法出现之前,除了分治法,我们几乎没有其他方法来解决这些问题。

因此,我们发现,如果没有分治法,人类似乎无法解决问题。也就是说,分治法是人类理性解决问题的必经之路

大模型时代到来,为何端到端逐渐成为主流?

我在2003年攻读博士学位时研究决策树(Decision Tree),发现这是一个典型的分治法应用。决策树可以在一个数据集上轻易达到70%至80%的准确率,但它的天花板就在那了。虽然可以通过各种各样的技巧,比如增加扰动、使用多个决策树等方法来提高一些性能,但是再往上就上不去了。

这是因为分治法的刚性的本质,打破了很多问题本身的一些柔性联系。

当我们在两个步骤之间设定了一个非常明确和精确的边界时,这些柔性的联系就被切断了。我这个感受后来在工作里很多地方都被印证出来,比如做搜索时,用的就是典型的分治法。当时谷歌内部有一套完整的评价体系,用百分制来评价一个搜索词最后的效果。大约在2007年,谷歌的搜索效果可以达到64到65分,高出雅虎接近8分。但即使到了2024年,谷歌的分数可能也还在70分左右。

换句话说就是,分治法可以迅速达到70%到80%的水平,但之后就会遇到瓶颈,再也上不去了。

在应用分治法的过程里,我也发现很多有意思的事情。第一,分治法是一个非常“吃工程师”的方法。因为任何一个大问题,每向下细分一层,就意味着需要更多的团队和工程师来研究更细分的问题。所以,我当年在谷歌时,知道很多冷知识,例如日语的某些词如何分词、阿拉伯语的一些特殊情况应该怎么处理等。今天你会发现,换到自动驾驶领域里边也是一样的。

使用分治法的时候,问题被细分后就变成了一个小众领域,很容易进入牛角尖,然后在牛角尖里面再往里面钻,其实花了可能很多博士的很多时间,研究了很多数据,去写一篇论文。但是,今天随着端到端算法的出现,这些博士们当时的很多工作可能就失去了意义,变得不再重要。就像今天,我那些冷门的、怎么把词分好的知识已经没有人会感兴趣去购买了。

再来看自然语言处理,这是一个庞大的领域,过去至少培养了3万个以上的博士(按每年1000个算,30年3万个)。但这些博士都是在分治法的框架下,解决了很多具体问题,可能也掌握了许多冷门知识。但是,随着端到端的大模型的出现,这些冷门知识不再被需要了。这3万个博士投入了几年、十几年不等的人生,可能就再也没有价值了。

所以我也很庆幸,当时博士读了一半就跑了。

英伟达和GPU的遇到的困难?

前几次算法的迭代并没有摧毁一个行业,比如在深度学习时代,自然语言处理仍然存在。只是这一轮基于Transformer的大语言模型出来,才真正把自然语言处理这个行业给“摧毁”了。所以,我们发现最近这一轮算法范式的迭代实际上跟芯片和硬件息息相关。

或者应该这么说,就这一轮“毁天灭地”的算法迭代,是跟GPU这样的硬件互为因果的

因为没有GPU,就不可能产生Transformer。换句话说,只有在GPU上,Transformer这样的算法才能在大规模数据上得到实现。

之前黄仁勋请了Transformer 的所有的发明人,他们在一起同台相互惺惺相惜了一下,有点像是两组人一起开创历史,然后在今天这个历史时刻大家在一起拥抱一下那种感觉。

如果你打开英伟达的 GPU ,会发现现在GPU中间贴着一小块运算核心,主要负责计算矩阵乘法;外面贴着4块或8块高带宽内存HBM。这个架构就是把几十亿、几百亿个模型参数存在两端的内存里。

当任务进来的时候,这些参数被搬到中间的计算核心去做矩阵乘法计算,计算完之后然后再写回去。所以,每一次计算都是要经历把所有的参数从内存里搬到计算中心,算完然后再拿出来的过程。

冯诺依曼架构在大模型时代的困境?

冯诺依曼架构和分治法就是一对最佳搭档。我们通过分治法解决问题,然后把它表达成为程序,编写出来的就是一行行的代码,分成一个个的函数,它们会相互调用。但在分治法中,一段时间内实际上只运行一段代码,也就是说,一段时间内我们只在解决某一个子问题。所以,当年冯诺依曼发明了这样的架构,就是把数据和程序都写在内存里,然后分治法每运行到哪一步,就把对应的程序和数据加载到CPU里中。

所以,冯诺依曼架构的核心,就是区分了计算器和存储器。代码存储在存储器中,分治法运行到哪一步,就把那一步的代码加载到计算器里去运行,运算完成后再取出来。

这么多年过去,我们的计算机越来越先进,但它的L1 Cache 始终维持在几百KB,因为没有必要再增加,任何一段程序也不会超过这个大小。每次加载到处理器中的程序,几十KB、100KB就足够了。

但你会发现,今天的Transformer大模型是截然相反的。因为Transformer是基于分治法的反面,也就是黑盒的端到端解法。它表现出来的不是一段一段去解决问题,而是表现出了整体800亿个参数;也不是每次都从800亿个参数里面加载一小部分去运算,而是每次都需要将800亿个参数完整地加载进去,然后算完再出来。

所以,这个过程实际上不应该再使用之前的冯诺依曼架构了,否则就会遇到英伟达今天面临的困难和挑战。英伟达现在90%以上的时间都在做数据搬运,只有不到10%的时间真正用于矩阵乘法计算

前段时间还听到一个有趣的段子,说英伟达推出了算力经过严重“阉割”的显卡,但如果你把足够多的显卡并联起来去做训练,它的整体算力是不会下降的。因为尽管单卡的算力降低了,但当很多卡连接在一起时,大部分功夫都花在了数据搬运上,因此即使算力降低,性能也不会受到影响。因为瓶颈在数据搬运而不在计算上。

Scaling Law能否延续?

当前GPU技术正向更先进的制程走,从5纳米到3纳米,再到1纳米,还能提高多少是需要打一个问号的。我对这条路线整体比较悲观,并不是说性能提升已达极限,而是觉得目前处理问题的方法在本质上存在误区

对大型模型来说,尤其是在推理端,还要再沿用冯诺依曼架构把数据和处理分开吗?我们可以类比人脑:人脑同样拥有约800亿个神经元,但运作起来功耗只有不到20瓦,而在英伟达的芯片上运行具有800亿参数的模型,耗电量至少在两三千瓦以上。这中间的核心差异在于,人脑不需要搬移数据的。

假设人脑采用冯诺依曼架构,所有知识和记忆存在左脑,所有的处理活动发生在右脑,每次你看见、听到的东西在右脑进来,然后把数据从左脑搬到右脑去处理,再将处理结果写回去,觉得这样的脑子会烧掉吗?所以我想说,冯诺依曼架构最适合解决我们说的分制法的算法问题,但它不适合解决端到端的问题

人类过去用分治法解决问题,在计算机里表现出来就是程序。而冯诺伊曼架构把所有的程序存在存储器里边,然后每次执行到一步就加载一部分到计算器里边去运行,这样的架构非常适合去运行分治法产生的程序。

如果我们分三层,最底下一层是解题思路分治法,往上一层是对应的表现形式,也就是程序,最上面硬件,过去 70 年里就是冯诺依曼架构的CPU。所以,分治法、程序和冯诺依曼架构的CPU,共同构成了一个时代

从这个视角看的话,英伟达和Transformer模型开创了一个新时代。它的底层不再是分治法了,而是端到端的算法。中间的表现层是大模型,再往上一层运行这些模型的芯片已经不再是传统的冯诺依曼架构了,而是把内存与计算单元紧密结合的近存计算架构,也就是我们今天所说的GPU。

为什么我们说中间这样的时代也大概率会被被拍死在沙滩上呢?其实大模型和几百亿个参数的端到端模型,是否应该被运行在一个存和算分离的芯片上,这仍存在疑问。它最理想的运行方式一定是像我们的大脑一样,在同一个神经元里边存着知识和做计算,也就是存算一体。所以,我们相信,在未来几年内,一定会出现存和算一体的芯片。

什么是存算一体?

人脑的一个神经元其实是存着一些信息的,每一次计算的话,电信号又会通过它进行计算。也就是说,存储信息和进行计算在同一个神经元里发生。

所以如果在现在计算机的存储单元上,能再加上计算的逻辑,也就是同一个单元既存储又计算,那我想这样结构的芯片其实是非常适合运行大模型算法的。

我相信运行一个几百亿参数的大模型,最好的架构一定是存算一体的架构,因为它避免了所有的数据的搬运。过去为什么我们没有做出存算一体的架构?其实也是因为过去都是分治法。它其实不太需要在存储单元里边进行计算。但当你去认真地研究怎么在存储单元里做计算的时候,这件事情我相信几年下来就会有很大的突破。

我其实是很相信仿生的。无论从大模型、还是像存算一体的芯片算法和硬件的发展,其实都是在朝一个仿生的方向在走。那观察人脑的时候不难发现,其实脑子不只是在存储知识,不只是在推理,脑子还在每一次推理的过程中间训练自己,所以它本质上是一个存算训一体的东西。

但今天的芯片在不停搬运数据的时候,其实我们是没有功夫再去修改这个模型的参数的,因为我们所有的功夫已经花在把那800亿个参数搬来搬去上面了。所以我们没有功夫再去操心说怎么调整一下参数,让它变得更好。但一旦出现存算一体的芯片,也就是那些参数再也不搬了,然后每次推理就是走一遍的时候,我们是不是空出的脑子就可以利用积累的知识来更新一下模型的参数。

所以,我相信在存算一体的芯片上,一定会诞生新一代的、不再是Transformer的全新算法,而这一代全新的算法可能会超越存算的界限,可能会一边运行一边进化自己,但这也是个非常恐怖的事情。

下一篇,我们会讨论AI的落地、应用、以及为何阳萌和安克会对AI有这么深入的思考。关注我,下篇见。

(注:本文不代表老石任职单位的观点。)

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
DSPIC30F6014A-30I/PT 1 Microchip Technology Inc 16-BIT, FLASH, 30 MHz, RISC MICROCONTROLLER, PQFP80, 12 X 12 MM, 1 MM HEIGHT, PLASTIC, MS-026, TQFP-80

ECAD模型

下载ECAD模型
$12 查看
STM32F427VIT6 1 STMicroelectronics High-performance advanced line, Arm Cortex-M4 core with DSP and FPU, 2 Mbytes of Flash memory, 180 MHz CPU, ART Accelerator, Chrom-ART Accelerator,FSMC

ECAD模型

下载ECAD模型
$22.31 查看
MC9S08PA16AVTJ 1 NXP Semiconductors MICROCONTROLLER
$2.56 查看

相关推荐

电子产业图谱

微信公众号“老石谈芯”主理人,博士毕业于伦敦帝国理工大学电子工程系,现任某知名半导体公司高级FPGA研发工程师,从事基于FPGA的数据中心网络加速、网络功能虚拟化、高速有线网络通信等领域的研发和创新工作。曾经针对FPGA、高性能与可重构计算等技术在学术界顶级会议和期刊上发表过多篇研究论文。