在大模型繁荣发展的今天,大家常听说大模型的训练和推理都需要大量的算力,那什么是算力呢?

算力,即计算能力,是指计算机或者计算系统在一定时间内执行计算任务的能力。
从古至今,算力的载体不断发展,最早的完全依靠人力的算盘,到第一部机械式计算器的出现,解放了人力,提高了计算效率,再到集成电路的出现,大幅缩小了计算设备的物理体积,并使性能呈指数级增长;随后出现的智能手机产品,也标志着算力载体的便携化和无线化。
过去20年,算力载体极大丰富,从互联网服务器到日常使用的手机和电脑,再到智能可穿戴设备,算力已深入人类生活的各个角落,展现出多样化发展趋势。

算力作为衡量计算能力的重要指标,可以通过量级+算力单位+数据类型进行衡量。
比如,当我们听到某个模型的训练需要1 TFLOPS的算力时,这里的T代表万亿量级,FLOPS代表每秒的浮点运算次数。
此外,不同的数据类型会导致数据精度的不同,其中FP32采用32位浮点型数据,主要用于需要高精度的科学计算场景。

我们正处于一个数据爆发式增长的时代,比如我们日常生活中离不开的智能手机,它产生了大量的图片、语音、文本等数据;还有众多的智能设备不断地产生各种类型的数据;以及充满未来感的自动驾驶领域,同样会生成大量的图像、视频等数据。
随着应用的不断拓展和数据的日益多样化,传统的单一计算架构已经难以满足需求。我们需要多样性的计算方式,充分发挥不同处理器和计算单元的优势,以应对文本、图片、语音、视频等各种类型数据的处理需求。

接下来我们来看看多种算力之间的区别。
在通用计算领域,主要由 CPU 提供强大的算力支持。我们可以看到,CPU 中有 70% 以上的晶体管被用于构建 Cache(高速缓存)和控制单元。其计算核心数量从几个到几十个不等,这种架构设计使得 CPU 非常适合处理复杂逻辑运算,能够游刃有余地应对大多数通用软件的需求。
而在 AI 计算方面,通常以 GPU(图形处理单元)或者 NPU(神经网络处理单元)来提供算力,GPU 或 NPU 中有 70% 以上的晶体管用于构建计算单元,其计算核心数量可以达到几千甚至上万个。这样的特性使得它们特别适合处理逻辑相对简单,但是并发更高,偏向密集型计算的任务。