编者按
随着ChatGPT的火爆,AGI(Artificial General Intelligence,通用人工智能)逐渐看到了爆发的曙光。短短一个月的时间,所有的巨头都快速反应,在AGI领域“重金投入,不计代价”。
AGI是基于大模型的通用智能;相对的,之前的各种基于中小模型的、用于特定应用场景的智能可以称之为专用智能。
那么,我们可以回归到一个大家经常讨论的话题:向左(专用)还是向右(通用)?在芯片领域,大家针对特定的场景开发了很多专用的芯片。是否可以类似AGI的发展,开发足够通用的芯片,既能够覆盖几乎所有场景,还能够功能和性能极度强大?
AGI通用人工智能,也称强人工智能(Strong AI),指的是具备与人类同等甚至超越人类的智能,能表现出正常人类所具有的所有智能行为。
ChatGPT是大模型发展量变到质变的结果,ChatGPT具备了一定的AGI能力。随着ChatGPT的成功,AGI已经成为全球竞争的焦点。
与基于大模型发展的AGI对应的,传统的基于中小模型的人工智能,也可以称为弱人工智能。它聚焦某个相对具体的业务方面,采用相对中小参数规模的模型,中小规模的数据集,然后实现相对确定、相对简单的人工智能场景应用。
“涌现”,并不是一个新概念。凯文·凯利在他的《失控》中就提到了“涌现”,这里的“涌现”,指的是众多个体的集合会涌现出超越个体特征的某些更高级的特征。
在大模型领域,“涌现”指的是,当模型参数突破某个规模时,性能显著提升,并且表现出让人惊艳的、意想不到的能力,比如语言理解能力、生成能力、逻辑推理能力等等。
对外行(比如作者自己)来说,涌现能力,可以简单的用“量变引起质变”来解释:随着模型参数的不断增加,终于突破了某个临界值,从而引起了质的变化,让大模型产生了许多更加强大的、新的能力。
如果想详细了解大模型“涌现”能力的详细分析,可以参阅谷歌的论文《Emergent Abilities of Large Language Models》。
当然,目前,大模型发展还是非常新的领域,对“涌现”能力的看法,也有不同的声音。例如斯坦福大学的研究者对大语言模型“涌现”能力的说法提出了质疑,认为其是人为选择度量方式的结果。详见论文《Are Emergent Abilities of Large Language Models a Mirage?》。
每一种信息的来源或者形式,都可以称为一种模态。例如,人有触觉、听觉、视觉等;信息的媒介有文字、图像、语音、视频等;各种类型的传感器,如摄像头、雷达、激光雷达等。多模态,顾名思义,即从多个模态表达或感知事物。而多模态机器学习,指的是从多种模态的数据中学习并且提升自身的算法。
传统的中小规模AI模型,基本都是单模态的。比如专门研究语言识别、视频分析、图形识别以及文本分析等单个模态的算法模型。
基于Transformer的chatGPT出现之后,之后的AI大模型基本上都逐渐实现了对多模态的支持:
多模态的划分是我们人为进行划分的,多种模态的数据里包含的信息,都可以被AGI统一理解,并转换成模型的能力。在中小模型中,我们人为割裂了很多信息,从而限制的AI算法的智能能力(此外,模型的参数规模和模型架构,也对智能能力有很大影响)。
从2012年深度学习走入我们的视野,用于各类特定应用场景的AI模型就如雨后春笋般的出现。比如车牌识别、人脸识别、语音识别等等,也包括一些综合性的场景,比如自动驾驶、元宇宙场景等。每个场景都有不同的模型,并且同一个场景,还有很多公司开发的各种算法和架构各异的模型。可以说,这一时期的AI模型,是极度碎片化的。
而从GPT开始,让大家看到了通用AI的曙光。最理想的AI模型:可以输入任何形式、任何场景的训练数据,可以学习到几乎“所有”的能力,可以做任何需要做的决策。当然,最关键的,基于大模型的AGI的智能能力远高于传统的用于特定场合的AI中小模型。
完全通用的AI出现以后,一方面我们可以推而广之,实现AGI+各种场景;另一方面,由于算法逐渐确定,也给了AI加速持续优化的空间,从而可以持续不断的优化AI算力。算力持续提升,反过来又会推动模型向更大规模参数演进升级。
牧本波动(Makimoto's Wave)是一个与摩尔定律类似的电子行业发展规律,它认为集成电路有规律的在“通用”和“专用”之间变化,循环周期大约为10年。也因此,芯片行业的很多人认为,“通用”和“专用”是对等的,是一个天平的两边。设计研发的产品,偏向通用或偏向专用,是基于客户场景需求,对产品实现的权衡。
但从AGI的发展来看,基于大模型的AGI和传统的基于中小模型的专用人工智能相比,并不是对等的两端左右权衡的问题,而是从低级智能升级到高级智能的问题。我们再用这个观点重新来审视一下计算芯片的发展历史:
从长期发展的角度看,专用芯片的发展,是在给通用芯片探路。通用芯片,会从各类专用计算中析取出更加本质的足够通用的计算指令或事务,然后把之融合到通用芯片的设计中去。比如:
智能手机是通用和专用的一个经典案例:在智能手机出现之前,各种各样的手持设备,琳琅满目;智能手机出现之后,这些功能专用的设备,就逐渐消失在历史长河中。
通用和专用,并不是,供设计者权衡的,对等的两个方面;从专用到通用,是低级到高级的过程。短期来看,通用和专用是交替前行;但从更长期的发展来看,专用是暂时的,通用是永恒的。
CPU是通用的处理器,但随着摩尔定律失效,CPU已经难堪大用。于是,又开始了一轮专用芯片设计的大潮:2017年,图灵奖获得者John Hennessy和David Patterson就提出“体系结构的黄金年代”,认为未来一定时期,是专有处理器DSA发展的重大机会。
但这5-6年的实践证明,以DSA为代表的专用芯片黄金年代的成色不足。反而在AI大模型的加持之下,成就了通用GPU的黄金年代。
当然,GPU也并不完美:GPU的性能即将,如CPU一样,到达上限。目前,支持GPT大模型的GPU集群需要上万颗GPU处理器,一方面整个集群的效率低下,另一方面集群的建设和运行成本都非常的高昂。
是否可以设计更加优化的处理器,既具有通用处理器的特征,尽可能的“放之四海而皆准”,又可以更高效率更高性能?这里我们给一些观点:
如果我们以通用计算为准,计算架构的演进,可以简单的划分为三个阶段,即从同构走向超异构,再持续不断的走向超异构:
Intel发明了CPU,这是第一代的通用计算。第一代通用计算,成就了Intel在2000前后持续近30年的霸主地位。
CPU标量计算的性能非常弱,也因此,CPU逐渐引入向量指令集处理的AVX协处理器以及矩阵指令集的AMX协处理器等复杂指令集,不断的优化CPU的性能和计算效率,不断的拓展CPU的生存空间。
CPU协处理器的做法,本身受CPU原有架构的约束,其性能存在上限。在一些相对较小规模的加速计算场景,勉强可用。但在AI等大规模加速计算场景,因为其性能上限较低并且性能效率不高,不是很合适。因此,需要完全独立的、更加重量的加速处理器。
GPU是通用并行计算平台,是最典型的加速处理器。GPU计算需要有Host CPU来控制和协同,因此具体的实现形态是CPU+GPU的异构计算架构。
NVIDIA发明了GP-GPU,以及提供了CUDA框架,促进了第二代通用计算的广泛应用。随着AI深度学习和大模型的发展,GPU成为最炙手可热的硬件平台,也成就了NVIDIA万亿市值(超过Intel、AMD和高通等芯片巨头的市值总和)。
当然,GPU内部的数以千计的CUDA core,本质上是更高效的CPU小核,因此,其性能效率仍然存在上升的空间。于是,NVIDIA开发了Tensor加速核心来进一步优化张量计算的性能和效率。
技术发展,永无止境。第三代通用计算,即多种异构融合的超异构计算,面向未来更大算力需求场景的挑战:
(正文完)