AI大模型时代GPU比CPU更重要

OpenAI 在2022年底推出了 ChatGPT, AI 发展正式进入到了大模型时代。大模型表现出完美的知识连贯性,并拥有优秀的逻辑推理能力。而实现这一切的基础,来自于 OpenAI 使用大量互联网信息进行模型训练。

ChatGPT 的成功具备天时地利。云计算经过十多年发展累积了大量富余算力,千亿乃至万亿的智能模型依赖云技术对大规模数据"消化"来实现模型的生成。而巨量算力的基础离不开位于云底层的,经过数十年发展、十分强大的 GPU 能力。

为什么是 GPU?

抽象地看,计算方式有限(比如加减乘除等),但数据很多,即每种计算方式要处理大量数据 。CPU 能实现一次算一个,而 GPU 能实现一次算一组,这正是大算力的基础。

一、向量计算

如果把一组数据合成一个逻辑上的输入,就是向量,即:

标量(scalar):单个数值

向量(vector):一维数组,多个数值

在空间上来看,向量是一条线,数值是一个点。GPU 能实现一个指令对一组数据并行计算,是构建 AI 底层计算的基座。

熟悉编程的读者可能会想到一个问题,多线程也能同时执行,CPU使用多线程能替换GPU吗?

不能 。这两种在底层本质上不同,如果CPU有多个核心,CPU 的同时执行是把这些核心尽可能的利用起来。而 GPU 则是实现了让单个命令并行,一个命令多个输入,即向量计算

二、向量计算的实现

SIMD(Single instruction, multiple data) 可实现向量计算,根据 Flynn 1972分类法,SIMD 可分为三类。

阵列处理器 (Array processor):接收一条相同的指令,但每个并行处理单元都有自己独立且不同的内存和寄存器文件,它也叫 SIMT(Single instruction, multiple threads)。SIMT适合大规模数据计算,也是 GPU 的基本结构。

流水线处理器 (Pipelined processor):接收一条相同的指令,然后从中央资源读取数据,每个处理器处理该数据的片段,然后将结果写回到同一中央资源。在 Flynn 1972 年的论文中,资源是主内存,对于现代 CPU,该资源应是寄存器。流水线处理器在现代 CPU 结构中应用广泛,它实现了不同指令的不同阶段的并行。

关联处理器 (Associative processor):接收一条相同的指令,但在每个并行处理单元中,根据单元本地数据做出独立决策 ,决定是否执行执行或是否跳过执行。在现代术语中,这称为"谓词SIMD"。"谓词SIMD"可以让每个处理单元独立进行判断,比较适合在大规模数据库查询时进行数据过滤。

下面通过一个例子来理解并行计算:

一个指令的执行在逻辑上可分为五大阶段:

  1. IF = Instruction Fetch,拉取指令
  2. ID = Instruction Decode,解码指令
  3. EX = Execute,执行
  4. MEM = Memory access,拉取数据
  5. WB = Register write back,写回结果

下图左边依次执行 的指令:指令1、指令2......指令5。上边逐个完成的时钟周期,周期1、周期2......周期7。

在时钟周期4,指令1、2、3、4同时在执行,这就是 SIMD 分类中的流水线处理器。如果把这样的单个处理核心的执行流程,扩展到大量多个处理核心一起执行,就实现了 SIMT。

三、未来还需要CPU吗?

GPU 在大规模数据的计算上表现出很大的优越性,既然 GPU 这么强,我们还需要 CPU 吗?

答案是我们需要 CPU 。GPU 能对大量数据并行执行相同的操作,让上千个核心同时工作来快速完成工作,但 CPU 不能被取代。把计算机硬件抽象为一个工作团队,CPU 是大脑,是 "Leader",它能协调各组件,GPU只被指挥来负责大数据计算的"员工",工作的指示还是要 CPU 下达。

四、参考资料

相关推荐
异常君22 分钟前
Java 高并发编程:等值判断的隐患与如何精确控制线程状态
java·后端·代码规范
异常君22 分钟前
Java 日期处理:SimpleDateFormat 线程安全问题及解决方案
java·后端·代码规范
Java水解24 分钟前
Mysql之存储过程
后端·mysql
用户40993225021224 分钟前
Tortoise-ORM级联查询与预加载性能优化
后端·ai编程·trae
bookcman25 分钟前
Seata 部署手册
后端·架构
都叫我大帅哥25 分钟前
《@SpringBootApplication:Spring Boot的"一键启动"按钮,还是程序员的"免死金牌"?》
java·后端·spring
樟小叶_公众号同名25 分钟前
Kafka运维经验
后端·kafka
lizhongxuan26 分钟前
pgBackRest备份解析
后端
Undoom27 分钟前
Trae 宝藏功能实测:从 Mcp 搭建天气系统,到 AI 重塑 Excel 数据处理
后端
机构师28 分钟前
<rust><iced><GUI>iced中的复合列表部件:combo_box
后端·rust