当前位置:   article > 正文

AI大模型时代GPU比CPU更重要_为什么大模型不用cpu

为什么大模型不用cpu

目录

一、向量计算

二、向量计算的实现

三、未来还需要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 下达。

四、参考资料

  • https://en.wikipedia.org/wiki/Flynn%27s_taxonomy
  • https://en.wikipedia.org/wiki/Instruction_pipelining
  • https://en.wikipedia.org/wiki/Vector_processor
  • https://www.cs.umd.edu/~meesh/cmsc411/website/proj01/xbox-too/detail2.html#:~:text=The%20pipelined%20SIMD%20consists%20of,in%20parallel%20on%20different%20data.
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/610190
推荐阅读
相关标签
  

闽ICP备14008679号