时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?

2023-05-16

天道好轮回,苍天饶过谁。近日英伟达称,他们被要求停止向中国出口两种用于数据中心的GPU A100和H100,AMD也表示,已经收到新的要求,MI250出口到中国将会受限。A100,MI250等高端型号的GPU最主要特点就是可以提供双精度FP64类型的算力,而国产GPU一般在FP16也就是半精度数据处理方面不差,在FP32类型的处理能力上表现就一般了,FP64几乎是缺失的状态。

这里的16,32是指输入变量的位数,比如FP16是指一个由16个二进制位所表示的变量,也就是说FP32与FP64的差距是2的32次方(42亿)倍,这一方面将对我国人工智能领域的发展带来一定影响,另一方面也会制约我国勘探、气象、生物医药等对于数据精度要求较高领域的发展速度,甚至很可能是之前EDA禁令的后手组合,不过无论这个政策的本意如何,现在这颗时代的沙却让英伟达非常受伤。

被误伤的英伟达

8月25日英伟达公布了的二季度的财报和三季度的指引。从财报来看,二季度公司收入67亿美元,同比增长3%,环比下降19%,大大低于英伟达5月份预测的81亿美元。当季GAAP下每股摊薄收益为0.26美元,比去年同期下降72%,比上一季度下降59%;调整后每股收益为0.51美元,较上年同期下降51%,较上一季度下降63%,公司游戏部门收入已经大幅下滑,并且悲观预计公司营收第三季度还将同比下降17%,导致其股价在盘后交易中下跌约5%。而在限制令出台后,人们也越来越多担心,此前支撑英伟达业绩高速增长的数据中心业务未来将持续降温,因此英伟达在上周又跌了近5%。

不过英伟达的业绩坠落,主要还是因为显卡的供需关系出现逆转,由于以比特币为代表的数字货币价格一蹶不振,导致GPU显卡的最大买方-“矿厂”大规模去产能,转手成为卖方,这其中最明显的信号就是自发布以来一直溢价销售的RTX30系列GPU显卡,在8月份瞬间打折也卖不出去了。

这次A100的限制令又将对英伟达的数据中心业务产生影响,因此英伟达的股价可能还难言底部。不过英伟达虽然很受伤,但是这对于限制令的初衷来说明显属于误伤,真正的目标还是人工智能和需要高精度数据模拟的工业软件。

人工智能的影响-精益求精的训练,不求甚解的推理

最近经常能够看到计算机专业的结业生在社交平台吐槽大厂的面试、笔试题难度卷出天际,但实际入职后所从事的工作,却偏向于重复劳动式的搬砖,在我拿到今年某大厂算法岗的笔试题之后,的确印证了这种情况,但这种现象也说明了人们在学校里学习时对于精细度要求很高,但真正走向工作当中虽然会急剧上升,但实际对于知识掌控精细度与全面度的要求却下降了。

类比在人工智能方面,可以做以下解读,一般来说人工智能分为训练和推理两个阶段,其中训练可以类比于人类的学习行为,一般在学习的过程中都要打破沙锅问到底,力求精益求精;而推理则类比于所学知识的落地,一般都要留有模糊空间,乃至不求甚解的效果可能也不差。虽然这个类比不完全吻合,但是基本的道理是没有差很多的,也就是模型训练时对精度的要求往往比AI推理时对精度的要求高得多。

    从目前AI的发展趋势来看,也的确有着“大力出奇迹”的迹象,比如谷歌科学家直接在T5的论文指出:“越大的模型往往表现更好。这表现扩大规模可能仍然是实现更好性能的方式。”这一方面表现为的人工智能模型的参数规模越来越大,现在没有个上千亿参数的模型简直都不好意思和人打招呼,比如那个会自动艺术创作的DALL.3参数规模突破1500亿;

另一方面也是业界对于模型参数的精度要求越来越高,业界也越来越依赖高精度算力的处理能力提升。但是凭心而论很多模型都是精度要求过剩的,只要费心优化模型,这个限制令对于AI方面的影响尚不至于无解。

核心打击方向-工业软件

如果说人工智能方面降低精度还不会伤肋动骨,但是对于很多对于精度要求很高的领域来说这个限制令的打击可能就难以承受了。其实早在芯片禁令之前,最早被西方列入限制清单的就是以MATLAB为首的工业软件,而我们工业软件差距最大的部分就在于仿真与模拟。这方面一是要长时间的经验积累,另一方面对于算力精度的要求也比较高,精度下降往往意味着失之毫厘差以千里,对于医疗、气象、勘探等领域的工业软件来说尤其如此。

而且笔者认为这次高端GPU的禁令很可能是之前EDA禁令的手续组合拳,EDA从本质上讲就是工业软件,美国限制EDA的使用本质上限制了我国自研先进制程的芯片的制造进程。而且我们看到目前国际EDA三巨头都纷纷推出自己的AI FOR EDA产品,从公开资料上看新思科技推出的DSO.ai,就在探索搜索空间、观察设计随时间的演变情况,同时调整设计选择、技术参数和工作流程,虽然这些AI FOR EDA的产品代码都不开源,但是笔者认为这些AI技术实际对于精度的要求肯定不低。

精度优化-曲线救国的方向

正如前文所说,我国国产的GPU往往在双精度类型FP64方面,目前都没有什么突破性进展,这在之前A100没有限制之前还无所谓,但目前限制来了,针对半精度FP64乃至8位整数类型(int8)的专门优化工作已经势在必行。

据笔者所知这方面业界已经有所探讨,以深度神经网络为例,神经元可以抽象为对于输入数据乘以权重以表示信号强度乘积加总,再由ReLU、Sigmoid等应用激活函数调节,本质是将输入数据与权重矩阵相乘,并输入激活函数,对于有三个输入数据和两个全连接神经元的单层神经网络而言,需要把输入和权重进行六次相乘,经典CNN中无论GEMM的矩阵乘法运算还是卷积的乘加计算都是使用fp32也就是用32位字长的数字来表示,在这种情况下我们可以使用int 8作为输入表示此以过程,其计算量至少可以下降75%。尤其在图像处理的场景下,通常由fp32到int8的转换,精度损失是低于1%的。因此在针对int8类型的计算加速也就是业界都在探讨的话题。

这方面英特尔酷睿12代中的VNNI指令集很好的完成了这个加速的过程,比如火山引擎在VNNI的优化下int8上实现了从人脸照片到三维模型的图像映射。腾讯通过一个FP32向int8的转换以及VNNI的加持,实现了一个可以实时生成用户3D头像的模型,在精度降低1%的情况下,性能还提升了4.23倍。另外英特尔和阿里云在Ice Lake上也针对自然语言处理的Transformer模型进行了深度优化,通过VNNI的加速实现了3倍的性能提升。

而且针对FP32向int8的转换工作,英特尔提供一款名为LPOT的开源工具,使用LPOT用户基本上不需要写代码,就可以直接将TensorFlow的模型,从FP32换成int8,同时保证非常高的精确性,这里推荐给大家。

写在最后

无论是高精度GPU还是EDA是一种需要长时间积累才能取得突破的领域,而我们在IT基础设施领域的研发力量太薄弱了,以EDA为例,国内所有EDA厂商的研发人员加在一起可能都不到2000人,还不如Synopsys一家的开发力量强,想突破一要增加研发人员,二要沉下心来积累,结硬寨打硬仗,不要试图走捷径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪? 的相关文章

  • 计算 GPU 上的彩色像素 - 理论

    我有一张 128 x 128 像素的图像 它被分解为 8 x 8 的网格 每个网格块包含 16 x 16 像素 要求 我想计算我的图像包含多少个黑色像素 直接的方法 I could通过逐行 逐列检查整个图像并检查像素是否为黑色来实现此目的
  • 预先计算多维线性插值的权重

    我有一个沿 D 维度的非均匀矩形网格 网格上的逻辑值 V 矩阵和查询数据点 X 矩阵 网格点的数量在不同维度上有所不同 我对同一网格 G 和查询 X 多次运行插值 但对于不同的值 V 目标是预先计算插值的索引和权重并重用它们 因为它们始终相
  • 尝试运行 TensorFlow 时 CUDNN_STATUS_NOT_INITIALIZED

    我已经在带有 Cuda 9 0 和 CuDNN 7 0 5 以及普通 Python 2 7 的 Ubuntu 16 04 上安装了 TensorFlow 1 7 尽管它们的 CUDA 和 CuDNN 示例都运行良好 并且 TensorFlo
  • 以编程方式获取 OS X 中的 GPU 使用百分比

    是否有标准方法可以在 OS X 10 6 和 10 7 上的 Cocoa Objective C 中获取 GPU 使用百分比 享受它吧 GPU 和 RAM 使用情况 在谨慎的 GPU 上不起作用 顺便说一句 因为它不会公开性能监控字典 我的
  • TensorFlow的map_fn仅在CPU上运行

    我在尝试获取 TensorFlow 时遇到了一个奇怪的问题map fn在我的 GPU 上运行 这是一个最小的损坏示例 import numpy as np import tensorflow as tf with tf Session as
  • 除了第一个 cudaMalloc 调用之外,还有什么特定的函数可以初始化 GPU?

    由于 GPU 上的一些初始化工作 第一个 cudaMalloc 调用很慢 例如 0 2 秒 是否有任何函数只进行初始化 以便我可以分离时间 cudaSetDevice 似乎将时间减少到 0 15 秒 但仍然没有消除所有初始化开销 致电 cu
  • 扩展示例以了解 CUDA、Numba、Cupy 等

    大多数在线提供的 Numba CuPy 等示例都是简单的数组添加 显示了从 cpu 单核 线程到 GPU 的加速 并且命令文档大多缺乏好的示例 这篇文章旨在提供一个更全面的示例 提供了初始代码here https eraserpeel wo
  • 如何在 AMD/ATI GPU 上运行 TensorFlow?

    读完本教程后https www tensorflow org guide using gpu https www tensorflow org guide using gpu我用这个简单的代码检查了 GPU 会话 import numpy
  • 如何使用 numba 在 GPU 上推广快速矩阵乘法

    最近 我一直在尝试使用 Numba 库在 Python 中进行 GPU 编程 我一直在他们的网站上使用那里的教程阅读它 目前我陷入了他们的示例 可以在这里找到 https numba pydata org numba doc latest
  • 与功能较弱的 GPU 相比,Tesla V100-SXM2-16GB GPU 上的 keras 启动时间 (_make_train_function()) 非常慢

    跟进 GPU 机器上的 keras 和 TensorFlow 有些部分非常慢 https stackoverflow com q 47296197 590335 从tensorflow 1 4运行mnist cnn py 稍微修改 主要添加
  • 监控显卡使用情况[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 当我运行某个应用程序时 如何监控显卡的使用情况 我想查看我的应用程序使用 GPU 的情况 如果您在 Visual Studio 201
  • 如何使用 eclipse Nsight 仅使用一个 GPU 调试 CUDA

    我收到错误 所有 cuda 设备均用于显示 在调试时无法使用 使用Ubuntu 有没有什么方法可以使用 Nsight eclipse 仅使用一个 GPU 进行调试 我见过类似的解决方案 sudo 服务 lightdm 停止 杀死 X 但这也
  • GPU训练时Tensorflow 2.5退出代码-1073740791

    在 GPU 上训练 Tensorflow 模型时 调用 model fit 退出并带有代码 1073740791 0xC0000409 立即地 Epoch 1 500 2021 10 16 20 13 42 154951 I tensorf
  • 在 Tensorflow 中训练简单模型 GPU 比 CPU 慢

    我在 Tensorflow 中设置了一个简单的线性回归问题 并在 1 13 1 中使用 Tensorflow CPU 和 GPU 创建了简单的 conda 环境 在 NVIDIA Quadro P600 的后端使用 CUDA 10 0 然而
  • CUDA 中的广义霍夫变换 - 如何加快分箱过程?

    正如标题所示 我正在对并行计算机视觉技术进行一些个人研究 使用 CUDA 我尝试实现 GPGPU 版本的霍夫变换 我遇到的唯一问题是在投票过程中 我调用atomicAdd 来防止多个同时写入操作 但我似乎没有获得太多的性能效率 我在网上搜索
  • 使 CUDA 内存不足

    我正在尝试训练网络 但我明白了 我将批量大小设置为 300 并收到此错误 但即使我将其减少到 100 我仍然收到此错误 更令人沮丧的是 在 1200 个图像上运行 10 epoch 大约需要 40 分钟 有什么建议吗 错了 我怎样才能加快这
  • 无法在 CUDA 中执行设备内核

    我正在尝试在全局内核中调用设备内核 我的全局内核是矩阵乘法 我的设备内核正在查找乘积矩阵每列中的最大值和索引 以下是代码 device void MaxFunction float Pd float max int x threadIdx
  • Tensorflow:docker 镜像和 -gpu 后缀

    在具有 GPU 支持的 Tensorflow 的 Docker 映像中 例如 tensorflow tensorflow 2 2 0 gpu 安装的python包是tensorflow gpu 如图所示pip freeze 安装任何依赖于的
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • Tensorflow:Cuda 计算能力 3.0。所需的最低 Cuda 能力为 3.5

    我正在从源安装tensorflow 文档 https www tensorflow org versions r0 10 get started os setup html installing from sources Cuda驱动版本

随机推荐

  • 2022年度盘点:十大最佳开源SLAM算法

    激光雷达里程计 香港大学开源激光雷达惯性视觉里程计FAST LIVO 论文名 xff1a FAST LIVO Fast and Tightly coupled Sparse Direct LiDAR Inertial Visual Odom
  • STL标准模版库之算法(algorithm)

    STL xff08 Standard Template Library xff0c 标准模板库 是惠普实验室开发的一系列软件的统称 它是由Alexander Stepanov Meng Lee和David R Musser在惠普实验室工作时
  • 树苺派TF卡备份/还原镜像

    树苺派TF卡备份 还原镜像 TF卡备份TF卡还原 备份和还原树莓派TF卡镜像推荐在Linux下进行 TF卡备份 在Ubuntu下插入装有Raspbian的TF卡会直接挂载 xff0c 挂载后的盘在 dev下显示为 34 dev sdx 34
  • 通过dockerfile 创建镜像以及更新镜像

    制作Docker镜像 1 安装 Docker Docker 要求 CentOS 系统的内核版本高于 3 10 查看当前系统的版本 uname r 安装 Docker 软件包和依赖包 yum y install docker 安装完成 从远程
  • RT-Thread 线程同步及通信 -- 信号量、互斥量、事件、邮箱、消息队列

    目录 一 RT Thread 信号量 二 RT Thread 互斥量 三 RT Thread 事件标志组 四 RT Thread 邮箱 五 RT Thread 消息队列 一 RT Thread 信号量 1 信号量相关函数 创建信号量 64
  • Fiddler抓不到浏览器包的常见原因

    代理未设置成功 fiddler 之所以能抓包 xff0c 本质上是因为浏览器 App 软件设置了代理为 fiddler 一旦遇到抓不到包的情况 xff0c 首先应排查浏览器代理是否设置正确 以 Chrome 为例 xff0c 代理设置为 x
  • 经典 SQL 数据库笔试题及答案整理

    马上又是金三银四啦 xff0c 有蛮多小伙伴在跳槽找工作 xff0c 但对于年限稍短的软件测试工程师 xff0c 难免会需要进行笔试 xff0c 而在笔试中 xff0c 基本都会碰到一道关于数据库的大题 xff0c 今天这篇文章呢 xff0
  • 软件测试项目实战(web+app+h5+小程序)

    没有实战经验 xff0c 简历不好编写 xff0c 而且也不好就业 今天给大家分享一个非常适合练手的软件测试项目 xff0c 此项目涵盖web端 app端 h5端 小程序端 xff0c 可以说非常之全面 获取方式在文末 项目介绍 项目名 x
  • 基础软件照搬开源不可取,自力更生才是正途

    最近有关开源软件的话题始终牢牢占据着IT界的新闻头条 xff0c Log4j开源软件的惊天漏洞 Fake js的作者也惊天删库跑路了 xff0c CurL的作者怒怼苹果只会白嫖开源却不出力 xff0c Linux的祖师爷Linus也不知所云
  • ADB 命令知多少?详细 ADB 命令大全来啦

    一 ADB 简介 1 什么是 ADB ADB 全称为 Android Debug Bridge xff0c 起到调试桥的作用 xff0c 是一个客户端 服务器端程序 其中客户端是用来操作的电脑 xff0c 服务端是 Android 设备 A
  • 软测面试如何介绍项目?要做哪些技术准备?

    测试人员在找工作中 xff0c 基本都会碰到让介绍项目的这种面试题 xff0c 如何正确介绍自己的项目 xff1f 需要做哪些技术准备 xff1f 今天这篇文章 xff0c 围绕这些问题 xff0c 跟大家一起聊一聊 Q 关于介绍自己的项目
  • 看完即会,抓取微信小程序数据包教程

    在给学员答疑的时候 xff0c 有很多小伙伴问到能不能抓取到微信小程序数据呢 xff1f 答案当然是肯定的 xff0c 通过Fiddler或者Charles这些主流的抓包工具都可以抓得到 xff0c 在IOS平台抓取微信小程序和https请
  • 金三银四必备软件测试刷题神器,刷完还怕面试不过吗?

    小编热衷于收集整理资源 xff0c 记录踩坑到爬坑的过程 希望能把自己所学 xff0c 实际工作中使用的技术 学习方法 心得及踩过的一些坑 xff0c 记录下来 也希望想做软件测试的你一样 xff0c 通过我的分享可以少走一些弯路 xff0
  • 今天面了一个来阿里要求月薪23K,明显感觉他背了很多面试题...

    最近有朋友去阿里面试 xff0c 面试前后进行了20天左右 xff0c 包含4轮电话面试 1轮笔试 1轮主管视频面试 1轮hr视频面试 据他所说 xff0c 80 的人都会栽在第一轮面试 xff0c 要不是他面试前做足准备 xff0c 估计
  • 转行软件测试,亲身经历的面试题

    写的有点多 xff0c 耐心看完哦 xff5e 这些都是我每次面试完记录了 xff0c 一共面了五家公司的真实面试 43 2次旁听 43 1次电话面试 xff0c 有的写的不全 xff0c 仅作为参考 xff0c 题目有的是我提炼出来的面试
  • 从字节出来的测试总监,让我们用这份《测试用例规范》,再也没加班过

    经常看到无论是刚入职场的新人 xff0c 还是工作了一段时间的老人 xff0c 都会对编写测试用例感到困扰 xff1f 例如 xff1a 固然 xff0c 编写一份好的测试用例需要 xff1a 充分的需求分析能力 43 理论及经验加持 xf
  • 软件测试之边界值三点分析法

    一 定义 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法 通常边界值分析法是作为对等价类划分法的补充 xff0c 这种情况下 xff0c 其测试用例来自等价类的边界 边界值分析法是对等价类划分法做补充的一种黑盒测试设计方法
  • 因果图与判定表法

    1 什么是因果图及判定表法 xff1f 因果图是用图解的方法表示输入的各种组合关系 xff0c 依据因果图写出判定表 xff0c 从而设计相应的测试用例 它适合于检查程序输入条件的各种组合情况 例约束关系 组合关系 2 因果图之4种因果关系
  • Linux系统远程服务器没有图形化界面怎么解决?本地浏览器打开远程服务器jupyter notebook

    linux系统远程服务器没有图形化界面 xff0c 也无法安装浏览器 xff0c 直接打开jupyter notebook会出现下面的提示 No web browser found could not locate runnable bro
  • 时代落在英伟达身上的是粒什么沙,国产GPU的机会又在哪?

    天道好轮回 xff0c 苍天饶过谁 近日英伟达称 xff0c 他们被要求停止向中国出口两种用于数据中心的GPU A100和H100 xff0c AMD也表示 xff0c 已经收到新的要求 xff0c MI250出口到中国将会受限 A100