芯片是如何为ChatGPT提供算力的?怪不得地球都容不下它了

关注公众号,发现CV技术之美

近日,ChatGPT因大规模封号及关闭Plus付费会员的申请引发大家热议。

有网友说这是因为计算资源不够了,已经不单是靠钱能解决得了的问题,地球上已经没有足够的算力来满足ChatGPT的运行需求了。

AI的发展真的会被算力所限制吗?它和芯片又有怎样的关系?

01

芯片:算力决定智力

AI的“三驾马车”是数据、算法和算力。

我们将数据送入AI算法,由算法学习数据中的规律,这意味着要进行无数次运算。运算的背后是芯片提供的算力支持。

如果我们回顾AI算法的发展历史,可以发现,AI算法的发展史同样也是芯片公司的发展史。

从1999年的第一颗GPU,到2008年NVIDIA公司推出的第一颗可用于AI的GPU——Tegra,再到最近几年涌入AI领域的、百花齐放的各类芯片方案(例如,基于AVX-512指令集扩展的Intel至强CPU,NVIDIA全新的Volta GPU架构,赛灵思的Vitis AI推理平台),算力的提高极大地提高了AI的智力水平,让AI可以解决更加复杂、多样化的问题,也为我们进入AIGC时代铺平道路。

可以看到,在过去的20年中,数据的规模、算法的参数量、芯片的算力三者相辅相成,共同将AI推动到了当前阶段,衍生出了不同类型的AIGC。

因此,本文就以2023年的巨星级产品ChatGPT为例来说明芯片是如何为AIGC提供算力的。

ChatGPT的参数量达到了1750亿个量级。ChatGPT展现出的超强智力的背后是昂贵、巨量的算力资源。

让我们问ChatGPT两个问题,用它的回答来开始这一节的叙述(如图1和图2所示)。

1022a552646fa6b74543818e7dbd36e8.png

图1

8f06a9204c04b23b524adeabe379d3b8.png

图2(这回答貌似ChatGPT神经错乱了)

下面从两个角度来解释AIGC和芯片的关系:①在AIGC领域中,现在用什么芯片?②随着AIGC的发展,对芯片会有什么新的需求?

02

在AIGC领域中,现在用什么芯片

1.何为“训练(Training)”和“推理(Inference)”

ChatGPT是通过“训练”得到答案的,那么什么是“训练”?

AIGC的实现过程分为两个环节:训练和推理。

训练是用大规模的数据来训练出复杂的神经网络模型。

通过对数据的标记,以及深度学习中的监督(Supervised),使最终得到的神经网络模型具有训练者需要的、特定的功能。

在具体的实现过程中,大数据作为输入源,经过神经网络算法解算,可以得到一个输出结果。

显然,这种单向的计算,对神经网络模型的构建起不到作用。我们需要构建一个反向的、从输出到输入的机制,才能形成负反馈,调整神经网络模型,达到“训练”的效果。

这个反向的机制可以是有监督学习(Supervised Learning),即算法工程师给出参数,或者无监督学习(Unsupervised Learning),让算法通过自回归或自编码器来对输入信息进行学习。

推理是利用训练好的模型,通过输入新数据来获取结论。

因此,通俗地讲,“训练”的实质就是计算—反馈—调整—计算的往复过程,这一过程在不同的模型中有不同的实现方式;“推理”的实质是针对某个应用场景的输入—计算—输出的过程。

显而易见,训练所需要的计算量和算力资源是远大于推理的,而推理所需要考虑的,除了算力本身,还有功耗、成本,以及与应用场景的匹配。

AI芯片通常有以下3种类别:云端训练芯片、云端推理芯片、端侧推理芯片。其代表公司见表1。

表1

1e8798b8d805c9c977716e8de4eb13cd.png

可以注意到,由于训练对算力的要求极高,芯片的功耗较大,因此训练往往放在云端,并没有“端侧训练芯片”。 

2.云端训练芯片:ChatGPT是怎样“练”成的

ChatGPT的“智能”感是通过使用大规模的云端训练集群实现的。

目前,云端训练芯片的主流选择是NVIDIA公司的GPU A100。GPU(Graphics Processing Unit,图形处理器)的主要工作负载是图形处理。

GPU与CPU不同。从传统意义上来说,CPU作为一个通用处理器而存在,可以全面承担调度、计算和控制任务。

GPU的内核更小、更专用,例如在图像渲染中涉及大量的矩阵乘法和卷积运算,为了满足计算负载要求,GPU拥有CPU所不具备的大规模并行计算架构。根据NVIDIA公司官网的描述,CPU和GPU的区别见表2。

表2

6fb5a41d6d2285c2f20b05171ef1fa90.png 

(1)始于1985年,从VPU到GPU。

最早的图形处理器是1985年ATI公司(2006年被AMD公司收购)发布的一款芯片。当时,ATI公司并未将其命名为GPU,而是叫VPU(Video Processing Unit,视频处理器),直到AMD公司收购ATI公司,它们的产品名称才更改为GPU。

图3所示为ATI公司于1986年发布的CW16800-A图形处理器产品。

b55294f0b2f0bc5937f582db7c8921ed.png

图3

“GPU”这个名字实际上来源于1999年NVIDIA公司将其发布的GeForce 256命名为GPU。随着NVIDIA公司的发展,GPU也与图形处理器概念等同,成了现代计算芯片的一大类型。

图4所示为NVIDIA公司的GPU A100的照片。

000b1a5c4cc6e0c42dadcae3d8e4e1d7.png

图4

虽然GPU是为图像处理而生的,但深度学习的计算类型和图形渲染有很多的共通点。在图形渲染中,芯片需要不停地计算移动对象的轨迹,这需要大量的并行数学运算,而机器学习/深度学习涉及大量的矩阵/张量运算。因此,GPU的并行处理架构也能够很好地满足AI计算的要求。

(2)2006年,跨时代的计算平台CUDA。

仅有芯片层面的配置是不够的,软件接口的适配及生态的构建也非常重要。这就不得不提到统一计算设备架构(Compute Unified Device Architecture,CUDA)。

2006年,NVIDIA公司首次推出CUDA。从这个词组本身的设计上可以看出,CUDA的最初开发人员是希望CUDA能成为不同平台之间的统一计算接口。

到目前为止,CUDA已经成为连接NVIDIA公司所有产品线的通用平台,上面沉淀了非常全面的API和算法框架库。

因此,CUDA生态成了NVIDIA公司面对其他GPU厂商时,最大的竞争优势之一。

那么,是不是所有的训练任务都只能够由NVIDIA公司的GPU来做?

虽然目前NVIDIA公司的GPU是训练芯片的主流选择,但答案是否定的,就像在本文开头ChatGPT的回答:“OpenAI并不固定使用某一种芯片,而是根据模型训练的具体需求,选择适当的计算平台”。

这里尝试使用表3来阐释训练芯片的选择。

表3

b629bda260a58b7939add0fafbe75eef.png 

3.云端推理芯片:与云端的ChatGPT对话

按照AI芯片的分类,我们使用AIGC应用的过程本质上是一个推理过程。例如,在与ChatGPT对话时,我们输入一句话,这句话经过算法的运算,输出一个结果,这就是我们看到的回答。

因此,人们在使用ChatGPT这种AIGC应用(推理)时,理论上,对芯片的性能要求不需要像训练那么高。

以当前ChatGPT的应用场景为例,目前ChatGPT运行在云端,用户每一次与它对话都是一次推理过程。这个过程目前运行在OpenAI的计算集群——Azure AI超算平台上,这是微软在2020年开发者大会上公布的拥有28.5万个CPU核心、1万个GPU,每个GPU拥有400Gb/s网络带宽的超级计算机。

虽然推理对算力的要求比训练稍低,但需要的算力资源仍然非常夸张。不过,由于两者计算的实质不同,训练本身类似于大力出奇迹,而推理是一个应用的过程,因此推理更容易被优化和加速。未来,AIGC应用所需的云端推理资源将会大幅降低。

4.端侧推理芯片:从云端芯片到终端芯片

目前,我们还不能在端侧运行ChatGPT这样的LLM,原因有以下几个方面:

  • 第一,ChatGPT本身仍然在迭代,并且对话者输入的文字也是它迭代的原料。

  • 第二,作为一个新模型,ChatGPT对于在终端部署的优化不足(这非常好理解,现阶段这也不是重点),导致对终端芯片的要求过高(主要是内存空间)。

随着LLM的进一步完善,未来我们有可能将它下载到终端,用终端的计算资源来运行,这样就可以实现离线运算。经过优化后的ChatGPT算法,对终端芯片的性能要求可能不会特别高。PC芯片,无论是Intel的还是Apple的M系列芯片,都可以承担这样的推理任务。

图5所示为Intel的酷睿处理器。

cf54055c94a5588c52524f888feff9df.png

图5

随着AIGC应用逐渐成熟,成本进一步降低,它与IoT场景的结合将会进一步深入。

  • 一方面,我们可以基于PC和手机,在云端使用各种各样的AIGC应用。在这个场景中,模型有可能离线运行在本地,也有可能采用本地+网络结合的方式运行。

  • 另一方面,基于LLM衍生出来的针对特定场景的小模型可能会有意想不到的应用。笔者猜想,在扫地机、智能机器人、智能音箱等我们熟悉的智能终端中,都有可能应用到LLM的衍生模型,那我们有可能看到在未来会有越来越多的终端芯片需要提高对AI算法的支持性。与资金门槛和技术门槛极高的云端芯片相比,终端芯片普及的趋势将会给更多的芯片公司带来机会。

03

随着AIGC的发展,对芯片会有什么新的需求

1.摩尔定律和安迪-比尔定律:基础算力提高和负载算力节约

芯片界有两个很有意思的定律,即摩尔定律和安迪-比尔定律。

前者是指集成电路上可容纳的晶体管数目约每18个月便会增加一倍。

后者来源于20世纪90年代计算机会议上的一个小笑话,“安迪给的,比尔就会拿走”,安迪是Intel的前任CEO安迪·葛洛夫,比尔是微软的CEO比尔·盖茨。这句话的意思是新的软件总会耗尽硬件所提高的计算能力。

因此,云端芯片的计算能力将会继续提高,展现方式可能是现有硅基芯片的继续迭代,也有可能是存算一体、光计算、量子计算的突破。

由于芯片的成本过高,软件侧和硬件侧都会努力降低对算力的需求。我们已经看到类似的事情在不断发生:在硬件侧,例如谷歌针对神经网络计算开发了名为TPU的专用芯片,其在特定场景下的运行成本大幅低于同等性能的GPU;在软件侧,ChatGPT作为一个对话模型,是专门为聊天而设计的,而GPT-3是一个大型通用语言模型。

目前,OpenAI并未公布ChatGPT的参数规模,但我们可以从ChatGPT的兄弟模型——InstructGPT上观察到软件优化对计算资源的节省。

图6展示了InstructGPT和GPT-3参数规模的区别。

fdddcbf80fb27f0a7ed43afcf7911f78.png

          (a)                                             (b)

图6

在对话场景中,InstructGPT 仅使用了精选的 13 亿个参数[如图6(a)所示]就达到了与GPT-3使用千亿个量级的参数[如图6(b)所示])结果相当甚至更好的回复质量。这意味着精选数据质量,深挖Transformer模型,将会有巨大的降本潜力。

在我们可见的未来,基础算力的提高和负载资源的节约将会同时发生,而两者究竟会擦出什么样的火花,十分值得期待。

2.成本降低迫在眉睫

虽然ChatGPT一炮而红,但是其高昂的运营成本是其大规模产业化应用的最大障碍之一。

业界已经充分关注到了ChatGPT的成本问题,并提出各个方向的优化措施:①硬件侧:NVIDIA公司的A100的升级版H100显卡能提供更高性价比的算力;Intel在Vision 2022大会上公布的新款云端AI专用芯片Habana Gaudi 2和Greco,有可能针对OpenAI的场景做了特质化加速。②软件侧:以Colossal-AI(潞晨科技的AI大模型开发系统)为例,其宣称能使Stable Diffusion模型的显存消耗降低至之前的1/46。

本文节选自《一本书读懂AIGC:ChatGPT、AI绘画、智能文明与生产力变革》一书。

  • ChatGPT会让我们失业吗?

  • 这些AIGC工具能给我们的工作和生活带来什么变化?

  • 什么是人们热议的AIGC?

  • 在AIGC时代,我们如何应对?

欢迎阅读本书系统地了解AIGC!

831db99adbde19fc4980e3c21ae6b80b.jpeg

发布:刘恩惠审核:陈歆懿
互动赠书在本文下方留言区围绕话题“你觉得ChatGPT会对软件开发者带来哪些影响?”谈谈你的看法,留言点赞前五名,包邮赠送《一本书读懂AIGC:ChatGPT、AI绘画、智能文明与生产力变革》一书。
活动截止时间:2023年4月18日14点END欢迎加入「计算机视觉」交流群👇备注:CV

1de543986faf50a0af7f208bde89698d.gif

点击阅读原文,查看本书详情!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14515.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT发展报告:原理、技术架构详解和产业未来(附下载)

今年12月1日,OpenAI推出人工智能聊天原型ChatGPT,再次赚足眼球,为AI界引发了类似AIGC让艺术家失业的大讨论。 据报道,ChatGPT在开放试用的短短几天,就吸引了超过 100 万互联网注册用户。并且社交网络流传出各种询问或…

【自然语言处理】【ChatGPT系列】FLAN:微调语言模型是Zero-Shot学习器

FLAN: 微调语言模型是Zero-Shot学习器 《Finetuned Language Models are Zero-shot Learners》 论文地址:https://arxiv.org/abs/2109.01652 相关博客 【自然语言处理】【大模型】BLOOM:一个176B参数且可开放获取的多语言模型 【自然语言处理】【大模型】…

chatglm微调

chatGML 看到 【【官方教程】ChatGLM-6B 微调:P-Tuning,LoRA,Full parameter】 【精准空降到 15:27】 https://www.bilibili.com/video/BV1fd4y1Z7Y5/?share_sourcecopy_web&vd_sourceaa8c13cff97f0454ee41e1f609a655f1&t927 记得看…

ChatGPT微调分类示例

我们将微调 ada 分类器以区分两种运动:棒球和曲棍球。 from sklearn.datasets import fetch_20newsgroups import pandas as pd import openaicategories [rec.sport.baseball, rec.sport.hockey] sports_dataset fetch_20newsgroups(subsettrain, shuffleTrue, …

45个 Cha​tGPT 常用插件说明

45个 ChatGPT 常用插件说明 ChatGPT常用的45个插件,以及它们用途说明: 1/ Slack:查询Slack信息 2/ Zapier:与5000应用,如Google Sheets和Docs进行交互。 3/ Expedia:在一个地方激活你的旅行计划 4/ Kla…

【.Net/C#之ChatGPT开发系列】四、ChatGPT多KEY动态轮询,自动删除无效KEY

ChatGPT是一种基于Token数量计费的语言模型,它可以生成高质量的文本。然而,每个新账号只有一个有限的初始配额,用完后就需要付费才能继续使用。为此,我们可能存在使用多KEY的情况,并在每个KEY达到额度上限后&#xff0…

1.3 - 操作系统 - firewalld防火墙iptables防火墙

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「订阅专栏」:此文章已录入专栏《网络安全入门到精通》 Linux防火墙 Frewalld1、常用操作2、开放/关闭服务3、开放/关闭端口4、IP访问端口规则5、安全域Iptables1、常用操作2、四表五链cent…

再见操作系统!ChatGPT和Windows直接在一起了

来源:水木学堂 二十世纪初,微软曾发起过一场“浏览器战争”,用 IE 4.0 成功打赢了浏览器市场份额超过 90% 以上的网景浏览器。当时,微软用的就是“将 IE 放在 Windows 98 ”这样的“禁忌武器”,还因此遭到了日后的反垄…

ChatGPT封杀潮,禁入学校,AI顶会特意改规则,LeCun:要不咱把小模型也禁了?...

2023 点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 计算机视觉研究院专栏 作者:Edison_G 狂欢之后,事情的走向开始进入封杀这一过程。 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 转自《机器之心》…

VPS(Linux)解决ChatGPT Access Denied(错误码1020)方法

本文参考了GitHub的一个开源项目,项目地址:https://github.com/fscarmen/warp 操作方法: 以下两个脚本二选一,部署完成后记得重启VPS VPS嵌套WARP后,建议开启BBR,能够有效降低延迟 WARP部署脚本: wget -N https://raw.githubu…

奶奶版ChatGPT炸了!背刺微软泄露Win11秘钥!

教坏一个大模型的成本实在太低了! 大家都知道,ChatGPT本身可以制造“幻觉”,却也原来如此容易被“情感”所利用!只要故事讲的好,让ChatGPT为你摘星星都没问题!万万没想到,通过让ChatGPT扮演一个…

第一批因ChatGPT坐牢的人,已经上路了

大家好,我是 Jack。 ChatGPT 的火爆有目共睹,有人靠着它赚了第一桶金,也有人靠着它即将吃上第一顿牢饭。 任何一件东西的火爆,总会给一些聪明人带来机会。 艾尔登法环火的时候,一堆淘宝卖魂的;羊了个羊火…

机器学习--最小二乘法

补充: 一. 简介 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法…

java最后问面试官什么问题,大量教程

魔鬼面试官必问:ConcurrentHashMap 线程安全吗?但面对魔鬼面试官时,我们更在乎的是这些真的正确吗? 1 线程重用导致用户信息错乱生产环境中,有时获取到的用户信息是别人的。查看代码后 为方便观察问题,我们输出了这个Map一开始和最后的元素个数。 师兄大厂面试遇到面试官的Ka…

计算机网络参考模型及协议

目录 一、计算机网络概述 1.1计算机网络与通信 1.2计算机IP地址与Mac地址 1.3计算机网络相关术语 1.4计算机网络相关设备 1.5计算机网络分类 二、计算机网络分层 2.1计算机网络分层的必要性 三、OSI七层参考模型 3.1应用层 3.2表示层 3.3会话层 3.4传输层 3.5网络…

纪念成为博客专家

一、前言 是的,一直到现在都有点蒙蒙的。从上周六提交申请之后,一直没有消息,博主自己都放弃了。这是第四次申请,虽然申请了很多次,但内心一直有些打退堂鼓,觉得自己的技术水平并不到位,其他的专…

你们都去养猪,我还写前端,然后自费送签名书

文/北妈 阅读本文需要 2.1分钟 这是北妈第 221篇 原创文章 一 我们的口号是? 忘了?周五不加班,周五不加班,不加班! 今天北妈我就说两点,说完去吃饭。 1、最近朋友圈、大V们,人人都在养猪&#x…

惊呆了!Java程序员最常犯的错竟然是这10个

和绝大多数的程序员一样,我也非常的宅。周末最奢侈的享受就是逛一逛技术型网站,比如说 programcreek,这个小网站上有一些非常有意思的主题。比如说:Java 程序员最常犯的错竟然是这 10 个,像这类令人好奇心想害死猫的主…

spring boot从0到实战 全

前言:看到这篇博客的小可爱们,这篇博客是我自己从0到实战的笔记,后面我会附上我整个过程的源码给大家参考,一起加油把。 同时,这是上一篇博客,SpringBoot详解,完整版。从0到1!&#…

FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 FFT蝶形算法的verilog实现专题——从FFT算法的定义开始入手 先从FFT的定义入手: 一个N 点序列x(n) 的DFT 定义为: 下面用MATLAB程序来面熟一下上述这个式子&…