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 下达。

四、参考资料

相关推荐
candyTong6 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
GetcharZp7 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
zhangxingchao9 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端
IT_陈寒9 小时前
SpringBoot那个自动配置的坑,害我排查到凌晨三点
前端·人工智能·后端
ServBay9 小时前
OpenCode 和它的7款必备插件
后端·github·ai编程
ping某9 小时前
逐字节拆解 tcpdump
后端
阿凡9807309 小时前
花 100 dollar,用 Claude 打通 EasyEDA&Fusion 双向同步
后端·程序员
irving同学462389 小时前
从零搭建生产级 RAG:Embedding、Chunking、Hybrid Search 与 Reranker
前端·后端
她的男孩9 小时前
从零搭一个企业后台,为什么我把能力拆成 Starter 和 Plugin
java·后端·架构
胡志辉9 小时前
本地 AI 编码助手从 0 配起来:先选模型,再接 Ollama、VS Code、Claude Code 和 Codex
前端·后端