-
GPT的硬件引擎:AI算力芯片那些事儿
价值投机小学生 / 2023-04-02 08:57 发布
Q
: GPGPU和ASIC芯片在AI算力中分别承担什么样的角色? A
: 早期开放框架基于GPGPU架构实现, 因此软件生态更为成熟, 对于初级客户来说, 上手使用更加方便。 GPGPU的通用性也更好, 架构更加适合AI中针对模型的训练以及针对通用模型的部署。 对于ASIC芯片来说, 如果客户对于模型有深度的研究, 也有能力对模型进行特殊的定制化处理, 那么ASIC芯片的产品和解决方案有更高的性价比。 ASIC芯片由于模型中特殊算子、 特殊结构已经完成了硬件的固化, 因此对于一些较大的改动, 或是一些与硬件架构强相关的计算来说, 可能会存在一定的限制。 总体来说
, 如果模型已经比较成熟, 改动都在有限的范围内, 那么IC芯片具有更高的性价比, 但如果是一个初步的模型, 未来需要不断地演进和完善, 那么GPGPU是更合适的。 Q
: 市场上主要关注的AI算力芯片, 尤其是海外厂商, 如英伟达, 都是GPGPU吗? A
: 对, 市场上主流的AI加速设备, GPGPU大约占了90%的市场份额, 剩下的10%是一些FPGA、 ASIC类的产品。 Q
: 如果换一个角度理解的话, 我们现在所处的阶段还不成熟, 所以更适合通用性强的GPGPU, 如果发展成熟之后, 才会需要更多的ASIC芯片。 A
: 这分为两部分解释。 第一
, 传统的AI相对于目前的大模型来说, 可以称之为是小模型的AI, 比如早期的CV算法( 人脸识别、 语音识别、 自动应答) , 这些模型的体量很小。 而这个时期的模型很多都是基于英伟达的CUDA生态开发的, 使用的框架( 如PyTorch、 Tensorflow) 只是利用了一部分, 还有一部分是直接调用CUDA的, 这个阶段GPGPU是最合适的。 如果现在客户的主营业务还是在这个层面上, 那么GPGPU会更加适用。 第二
, 如果客户模型已经基本固化, 不会发生大的变化, 那么在这种情况下可以采用ASIC, ASIC芯片可以针对它原有的模型做深度的定制化。 但是大模型有一定的区别, 大模型更加依赖框架, 比如Tensorflow和PyTorch, 而对于CUDA生态的依赖非常小, 在这种情况下, GPGPU和ASIC的重要性的差距就变得很小。 这个时候, 用户更加关注芯片对于框架的支持和性价比, 不存在CUDA产生的影响。 Q
: 国内的大模型主要使用GPGPU还是ASIC? A
: 目前能运行大模型训练的只有GPGPU, 如英伟达的A100、 A800、 H100、 H800, 效率也是最高的。 目前ASIC没有大规模的部署, 很多ASIC的厂家集中在国内, 这些厂商处于早期的阶段, 产品不够成熟。 但是在一些场景中, 我们经过测试发现, ASIC支持大模型的效率高于GPGPU。 Q
: 国内的厂商, 寒武纪、 景嘉微、 海光信息和昇腾, 性能达到了海外什么层级的水平? A
: 第一, 景嘉微。 我们认为景嘉微不是做AI芯片的厂商, 景嘉微的产品目前只能用于图形处理、 图像渲染, 未来可能能实现光线追踪。 目前景嘉微最好的JM9系列产品, 大概达到英伟达GTX 1050的水平, 只能算入门级GPU。 第二
, 寒武纪。 寒武纪最好的产品是思元590, 这款产品在文心一言中有小规模的部署, 大概几百件, 并且也只是文心一言中众多业务场景的一小部分, 没有实现大规模部署。 我们认为寒武纪的产品只能用于大规模推理中的一小部分场景, 还不能做大模型训练, 还有许多需要弥补的地方。 第三
, 华为昇腾。 华为昇腾只能用于华为自身生态中的大模型业务, 通用性差。 比如昇腾不能做GPT-3, 因为昇腾910不支持32位浮点, 而目前大模型训练几乎都要使用32位的浮点, 所以华为昇腾芯片只能利用华为开发的框架( 如MindSpore) , 在加上优化好的大模型, 比如盘古CV。 任何公开模型都必须经过华为的深度优化才能在华为的平台上运行, 而这部分优化工作华为还没有开始, 所以我们现在认为华为只能运行自己闭环的大模型产品。 第四
, 海光信息。 海光的深算1号可以运行大模型, 目前正在开发深算2号。 深算1号相当于英伟达的P100的水平, 但是性价比低, 即便在openai最早训练GPT-3的时候, 也采用了V100芯片。 此外, 海光信息还存在迭代问题, 因为海光信息只拿到了AMD第一代GPGPU的授权。 Q
: P100相当于那一年的产品? A
: 大概是2014-2015年的产品。 Q
: 目前海光信息是可以排在第一梯队吗? A
: 对, 海光的芯片可以运行通用的大模型, 只是效率比较差。 第二位应该是华为的昇腾910, 但是只能运行华为自己优化后的大模型。 寒武纪只能运行大模型的推理。 景嘉微不属于这个市场。 Q
: 其他AI芯片厂商有什么比较重要的吗? A
: 沐曦, 今年6月会发布第一款AI训练产品C100, 但是还需要经过一些内部的调试、 软件适配等, 预计在今年年底会对外发布。 目前来说, 从公布的性能指标来说, C100接近于英伟达的H100的水平。 壁仞, 最早的一代产品BR100, 本身指标是对标H100的, 但是由于美国商务部的禁止条款, 壁仞必须把互联带宽降低一半, 因此产品要重新设计, 影响产品进度, 并且性能也受到了影响。 目前BR100还在内幕测试过程中, 距离真正的批量使用大约还需要半年的时间。 天数智芯的芯片只能勉强做大模型推理。 百度的昆仑芯只能勉强用于大模型推理, 并且是基于Paddle平台的, 通用性差。 Q
: 是不是目前最值得期待的就是沐曦的产品? A
: 对, 从团队背景来讲, 沐曦的团队背景经验是最丰富的, 沐曦的一些核心人员, 是参与AMD的MI100、 MI200产品开发的, 这都是AMD目前最主流的GPGPU产品。 从产品规划来看, 沐曦产品对标H100, 未来实现量产大概与英伟达只有一代左右的差距, 因此目前来看是与英伟达最接近的。 壁仞还需要再观察BR100的应用情况, 因为受到美国商务部禁止, 目前还没有看到具体的性能表现。 Q
: 如果景嘉微和沐曦合作, 是否能获得长足的进步? A
: 应该可以。 首先, 这两款产品的底层架构是GPU, 景嘉微是传统GPU, 沐曦是GPGPU, 存在互相借鉴的可能性。 如果景嘉微采用了沐曦的产品和技术, 那么就能从传统GPU市场一下跃升到AI市场。 Q
: AI芯片的门槛应该是非常高的, 为什么会有这么多初创型的企业涉足这个领域? A
: 首先, AI芯片设计的门槛不是很高, 比如GPGPU架构上没有什么高深的要求, 而且很多核心部件、 核心功能模块都有现成的IP, 比如总线接口PCIE、 内存以及内存控制器的HBM、 DDR、 GDDR。 很多加速的组件都有现成的内容, 可以用成熟的产品代替。 所以唯一要做的就是把内部的逻辑加速单元整合起来, 发挥对AI计算的优势, 所以硬件上门槛不是很高, 但是软件门槛很高。 因为在小模型的时代, 软件必须解决兼容扩大的问题, 还要发挥硬件本身的设计性能。 在大模型时代, 就要做好对于一些框架的支持, 所以我们认为设计AI芯片, 从技术角度上来说难度不高, 主要在于是否拥有整个软硬件的整体设计能力。 根据市场上现有模型以及前景模型的内部架构需求, 设计硬件的底层, 这样才能实现效率提升。 否则如果硬件完成, 用软件弥补硬件设计的失误, 那么就需要消耗很多的软件资源, 硬件的效率也不能充分发挥。 这些初创企业都是从硬件着手的, 门槛并不是非常高。 Q
: 那这些企业是自主可控的吗? A
: 不是纯粹的自主可控, 因为一些核心IP都是国外的产品, 并且企业依赖台积电。 Q
: 如果抛开流片不谈, 只看设计方面, 会不会受到美国限制? A
: 会, 因为这里面存在几个核心的专利, 比如PCIE, 目前掌握在cadence和Synopsis这样的公司手里, 都是美国公司。 HBM基本上只来自于三星、 海力士和镁光, 如果美国商务部有禁令, 这些企业都不能向中国企业提供产品。 纯国产化在这方面的确没有相应的积累, 所以会被美国卡脖子。 Q
: 海光是否能做到不受影响? A
: 第一个问题是海光在美国禁运产品名单中, 所以海光投片只能通过第三方代理公司, 导致投片价格会偏高、 产能会不足。 第二个问题是海光拿不到新一代架构的授权, 限制了海光产品迭代, 可能会与海外主流产品代差越来越大, 这是海光最大的问题。 Q
: 海光当前的架构是买断的吗? A
: 对, 这一代架构不会侵权, 唯一要解决的是产能供应链的问题。 Q
: 昇腾、 寒武纪、 沐曦这三家企业会不会涉及到海外侵权的可能性? A
: 昇腾不涉及, 因为昇腾涉及的IP都是买断的, 但是昇腾面临下一代产品更迭的问题, 新一代IP没法拿到海外厂家的支持, 所以昇腾全部的IP都需要国内的替代, 但是国内目前还非常不成熟。 目前昇腾920和昇腾910差距不大, 只是生产工艺使用了中芯国际的14纳米工艺。 沐曦目前不在美国商务部的黑名单中, 用的很多核心是国外的厂家的, 所以如果沐曦严格遵守美国高端芯片的条款, 短时间内不存在风险, 还是可以用国外的IP和台积电。 Q
: 中国的算力芯片对于美国的英伟达巨头来说, 是否还有追赶的可能性? 差距是否在缩小? A
: 差距在一点点缩小, 但是缩小的难度会越来越大。 如果英伟达仍然保持每十个月发布一代产品, 对于中国厂商来讲, 可能差距会慢慢增大。 因为硬件的迭代投入是巨大的, 风险也很高, 中国厂商没有雄厚的资金投入, 所以追赶有一定的难度。 所以如果英伟达产品发布节奏不变, 那么这个差距可能会越来越大, 尤其是在美国商务部存在很多禁令的约束情况下。 Q
: 英伟达的CUDA在未来AI算力芯片中是越来越重要还是不重要? A
: 在小模型上CUDA仍然很重要, 但在大模型上它的地位越来越轻了。 如果未来中国市场以小模型为主, 那CUDA还是有很大的影响力, 而如果是以大模型为主, 对于CUDA的依赖就越来越小了。 Q
: 能否简单介绍一下为什么大模型对于CUDA的依赖小? A
: 大模型底层基于transformer的架构, 增加参数和层数。 而transformer是完全基于框架实现的架构, 并没有使用CUDA的特殊算子, 所以不需要必须兼容CUDA。 而小模型早期都调用了CUDA的算子, 所以是绕不开CUDA的。 Q
: 国内大厂的大模型底层算力是什么? A
: 他们的底层算力都是英伟达的, 比如V100和A100。 Q
: V100、 A100的存量还有多少? A
: 目前腾讯、 字节、 百度的存量都不超过2000片, 只有阿里大约能够过万。 Q
: 那华为情况呢? A
: 华为只有自己的昇腾910, 围绕盘古。 目前比较流行的GPT-2、 GPT-3都无法运行。 Q
: 这是不是说明华为的算法是自研的? A
: 对, 华为基于开源的算法, 针对昇腾910的特性做了很大程度的优化。 Q
: GPT的训练和推理需要多少算力? A
: 以GPT-3为例, openai训练使用了一万张A100, 训练了14.8天左右。 使用A100类似的产品, 如果以512张卡来训练, 大约需要3个月; 如果用1024张卡, 大约需要1个月; 如果用2000张卡, 大约需要18天左右。 GPT-3或者说ChatGPT, 对于每个用户的请求大约需要5张类似A100的卡进行推理, 随着并行客户增加, 硬件需求线性增加。 Q
: 如果GPT-4大概量级有多大增长? A
: 目前没有公开宣传, 我们估计大约需要2万-3万张A100, 训练一个月左右的时间。 Q
: 这些比例都是线性的吗? A
: 对, GPT-4和ChatGPT训练的数据集没有太大变化, 最大的变化是参数发生变化, 算力增加完全依据模型参数增加的比例, 数据量大概还是四十多T, 没有太大变化。 Q
: 在中国的算力需求怎么样进行量化? A
: 目前国内最大的模型是阿里达摩院的M6, 拥有十万亿个参数, 体量是最大的。 对于大模型训练的场景, 国内厂家只能用很短的时间做一次大模型训练, 没有专门的训练场景, 对于推理来说资源更加紧张, 所以目前百度不能广泛地、 免费地提供服务。 目前国内的模型比国外差, 但是参数、 体量对算力的消耗不相上下。 所以目前国内模型品质差, 数据集不足, 并且算力与海外相差甚远。 Q
: 假设十个大厂要做大模型, 可能每家需要2000片A100, 换算到国内芯片再乘上一个参数, 比如1.5-2, 大概是3000-4000片, 那么十家就是3万-4万片, 可以这样理解吗? A
: 2000片A100训练GPT-3( 不是ChatGPT) , 大约需要一个月, 存在时间代价。 目前国内芯片的整体性能只有A100的一半左右, 那么大概需要4000片, 十个厂商是4万片, 这个是正确的。 Q
: 这需要花多长时间? A
: 一般这种训练都是十几天。 一个很重要的前提是, 国内的产品稳定性都必须绝对高, 如果在大模型训练过程中, 中间出现一两个节点的宕机, 以及一两个节点计算失效, 那么这个大模型就要推翻重来一次。 一般训练过程中都需要checkpoint保存结果, 如果稳定性不好, 第一次checkpoint都做不到, 就没法实行了。 如果产品不稳定, 那么大模型训练的时间就会很长。 国内某家大模型, 最早做训练的时候使用了2400片左右的A100, 大概训练了8天左右。 后来他们觉得资源耗费大, 就去海光平台做训练。 海光提供了6万片, 用了一个月没训练完成, 主要原因就是海光芯片出现掉线的问题。 产品稳定性是需要时间打磨的。 Q
: 这个稳定性、 可靠性不是算力本身, 更取决与生态和软件? A
: 取决于软件和工程能力。 在运行过程中, 需要解决很多BUG, 还有软硬件结合, 中间会不会有很多冗余的机制。 这些都需要时间和成本作为代价, 但是商业客户一般不会给这个机会。 我们认为, 如果中国想要发展大模型, 那政府的介入是不可或缺的, 政府介入可以给企业带来资金支持, 从而使企业生产更多的产品, 或者是让一些企业有意愿部署大规模的算力。 其次, 政府需要补贴帮助第三方做大模型开发的企业, 让他们有意愿在新平台尝试。 Q
: AI算力芯片折旧一般是多久? A
: 一般2-3年, 最长不超过5年。 Q
: 国内的高端算力芯片是不是很快就报废了? A
: 是的, 从2019年开始, 算力需求每10个月会翻一番, 对于企业来讲, 他们更愿意追求高算力的硬件产品, 对于老产品就会慢慢从业务中剥离。 Q
: 所以在一两年后, 高端算力芯片会面临非常短缺的状态? A
: 即使目前AI的算力芯片对于很多大厂来说也是非常短缺的。 Q
: AI算力芯片未来是否会演变成寡头垄断? A
: 对, 不会做到百花齐放。 因为在不同应用场景下一家独大, 对于整个生态的影响和标杆作用非常明显。 如果一家企业有意愿选择替代解决方案, 往往要求产品比主流厂家有1.5-2倍的性价比优势, 这个对于初创型企业是一个非常大的门槛。 Q
: 国内的AI算力芯片市场, 您看好哪些企业? A
: 华为, 拥有完整的解决方案, 在某些应用场景下是能做的。 沐曦、 壁仞, 他们从硬件架构到软件方面, 相对来说在国内厂商中脱颖而出。 互联网厂商的投入, 比如阿里达摩院投入了一款GPGPU产品, 宣传指标大概是A100的两倍, 互联网企业有应用场景, 也有雄厚的资金支持。 Q
: 央国企有可能吗? A
: 央国企比较难。 第一, AI芯片需要较大的人员投入, 组建团队的成本比较高。 第二, 央国企面临没有积累的问题, 从无到有的跨越难度是很大的饿。 如果国家拿出资金专门组建团队研发, 未来2-3年可能会打磨出一款比较合适的产品。 如果政府没有扶持的话, 央国企不会做这种投入。 Q
: 6万片海光GPU出现宕机的情况, 是因为运行问题吗? A
: 对。 第一, 海光这代产品时AMD第一代产品, 本身没有经过大规模部署和验证, 所以存在硬件上的不稳定因素。 第二, 配合产品需要一个非常稳定软件架构, 但是目前运营方开发能力不足。 随着集群规模增大, 出现错误的风险也增大, 而企业很少遇到大规模一次性使用的场景, 所以产品不够成熟。 Q
: 硬件上什么量级的芯片会导致中断? A
: 如果单片发生单点故障, 那么在检查点和出现故障之间的这部分业务就失效了, 需要重新计算。 Q
: 说明断电数目很多? A
: 对, 断电数很多并且不定时随机出现, 产品之间的稳定性不一致。 Q
: 下一代海光的硬件和软件更新后的效果是什么? A
: 深算2号首先要解决生产问题, 有一些提升, 但是没有解决硬件稳定、 可靠性问题。 此外, 由于修改制程, 还可能存在一些新问题。 并且, 如何解决大规模并行环境下的可靠性问题, 海光没有太多的试验场景。 Q
: 对比英伟达的2400片A100, 断点大概有多少? A
: 总共宕机3次。 Q
: 所以二者的差距还是很大的。 A
: 对, 并且宕机3次, 8天左右的时间计算完成了。 海光的产品中间宕机不断, 一个月都没有完成。 Q
: 芯片宕机是不可预知的吗? 所以也没有很好的规避方法? A
: 对。 硬件规避有一定的难度, 因为需要纯粹地提高硬件设计, 比如信号质量和出现问题后的快速恢复。 所以更需要软硬件结合, 比如软件要随时检查硬件是否正常运行, 如果出现宕机能否及时保护现场。 Q
: 软件是海光自己设计吗? A
: 不是, 应该是由平台使用方来设计, 海光只提供硬件的驱动和接口。 Q
: 寒武纪会面临随机宕机的问题吗? A
: 寒武纪的产品目前不能用于大模型下, 所以没法判断。 主要是应用在推理场景, 如果出现宕机, 只是会导致推理失效, 那么可以重新加载, 用户端反馈只是一定的延迟, 影响不明显。 Q
: 寒武纪的思元590参数指标比海光的Z100要好, 为什么不能进行大模型训练呢? A
: 大模型训练需要几个前提。 第一, 需要有充足的算力, 这方面问题不大。 第二, 需要有较大的内存放置大模型, 寒武纪的卡相对内存容量较小, 但是这不是主要问题。 第三, 片间互联的解决方案, 寒武纪要比海光差。 最重要的, 寒武纪对于Tensorflow和PyTorch框架支持不好, 不稳定, 如果要运行大模型, 需要额外的开发工作量。 Q
: 华为昇腾会面临随机宕机的问题吗? A
: 会。 但是华为的全套都是自己做的, 比如管理平台和框架, 所以有一套完整的闭环的解决方案。 Q
: 如果海光向阿里、 百度等厂商, 也会存在这样的问题吗? A
: 会有所改善, 因为百度和阿里在大规模集群调度和部署上具有经验。 但是由于海光的产品性能较差, 性价比也比较低, 因此百度、 阿里不会考虑海光的产品。 Q
: 如果A100的库存用完了, 他们宁愿买H100被阉割的芯片, 也不会买国产芯片吗? A
: 不一定。 如果国产算力芯片整体性价比能够达到英伟达60%-70%, 就有购买的意愿, 但是目前还达不到。 Q
: 目前国产芯片能达到多少? A
: 如果和英伟达比, 大约是30%。 对于寒武纪, 硬件指标大概接近A100, 价格比A100低, 但是寒武纪的供应链很紧张, 没法提供大规模的部署, 并且开发需要大量人力配合客户开发, 寒武纪不一定有意愿投入。 Q
: 所以目前来看, 国内要做大模型, 还是要买英伟达的阉割版芯片吗? A
: 对。 国内几家头部互联网厂家都向英伟达下了1.5万-1.6万的A800和H800订单, 每家的金额在十几亿美金左右。 大概保证在2024年能有足够的产能。 留给国内厂商的时间不多, 既要解决性能问题, 也要解决软件兼容问题, 难度很大。 国内厂家更多关注大模型的推理场景。 Q
: 推理方面一个用户需要5张A100, 那么一亿个用户呢? A
: 以chatGPT来讲, 需要5张A100才能满足一个客户的一次性。 线性叠加指的是并行, 以谷歌为例, 并行量每秒钟大概是20万次, 未来GPT大概在4-5万次。 Q
: 如果按照十万次算, 那就需要五十万张A100吗? A
: 对, 但是平时可能没有这么多的人。 即便是峰值, 不一定必须给客户实时响应, 延迟几秒钟是没问题的。 Q
: 推理卡必须要用A100吗, 还是性能低一点的也可以? A
: 如果算力接近A100, 1秒钟大约生成15-20次, 可以满足需求, 可以多片集成到一起, 所以低端卡可以做到。 Q
: 所以国内厂商在训练卡上基本上放弃, 集中在推理卡上? A
: 对。 目前大家没有计划做训练, 专注在推理上, 因为推理的难度较小。 昆仑芯大概每秒钟产生3-4个词, 那可能延迟在十几秒, 对于用户来说不是完全不能接受。 Q
: 推理卡您觉得国内哪个厂商做的最好? A
: 目前还没有大规模部署, 所以暂时没法评价, 目前大家都在尝试。 Q
: 国产FPGA企业能否进入AI产业? A
: 对于小模型来说, 体量小, 占用内存小, 是可以进入的。 FPGA支持浮点, 但是需要消耗额外的资源, 并且算力也受限。 此外, FPGA如果需要门阵列存储, 也非常消耗资源。 但是对于大模型来说, 完全不可以, 因为数据类型不符合, 内存空间太小, 也不支持片间并行。 Q
: 中国能否通过数据差异化建立比较优势? A
: 国内企业在大模型上正探索两条路。 第一, 能否用大模型裁剪出小模型, 应用到特殊场景, 就可以解决算力的需求问题。 第二, 做一些数据方面的工作, 但是目前中文数据有先天不足, 找不到对中文逻辑深入分析和预判的语义库。 其次, 国内数据存在孤岛问题, 对数据集的体量造成了影响。 此外, 国内的数据存在很多政治因素, 有些东西是不能查询、 不能回答的, 就导致整个数据的质量下降。 如果这些问题不能解决, 用数据方面弥补是不现实的, 想达到国外大模型在中文方面的水平都很困难。 Q
: 中国的大模型数据集与国外是不同的吗? A
: 对。 国外的大模型针对中文数据做了一部分训练, 但是比例很小, 不到1%。 此外, 国内的数据集都是针对各家自己的数据进行训练, 不是通用的。 还有就是国内目前依赖翻译, 将内容翻译成英文, 再借助英文语义进行推理, 文心一言就是这样, 最后反过来进行中文输出。 Q
: 百度的数据质量在大厂里面已经算好的了。 A
: 百度相对来说, 做的更多是通用的数据训练, 而其他厂商都是针对特定场景做了训练, 比如阿里的M6就是针对淘宝、 支付宝客服, 没有通用型的