0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英伟达:5nm实验芯片用INT4达到INT8的精度

半导体产业纵横 来源:量子位 作者:量子位 2022-12-12 15:48 次阅读

IEEE计算机运算研讨会。

32位与16位格式的混合精度训练,正是当前深度学习的主流。

最新英伟达核弹GPU H100,刚刚添加上对8位浮点数格式FP8的支持。

英伟达首席科学家Bill Dally现在又表示,他们还有一个“秘密武器”:

在IEEE计算机运算研讨会上,他介绍了一种实验性5nm芯片,可以混合使用8位与4位格式,并且在4位上得到近似8位的精度。

目前这种芯片还在开发中,主要用于深度学习推理所用的INT4和INT8格式,对于如何应用在训练中也在研究了。

相关论文已发表在2022 IEEE Symposium on VLSI Technology上。

7c5c2558-7950-11ed-8abf-dac502259ad0.png

新的量化技术

降低数字格式而不造成重大精度损失,要归功于按矢量缩放量化(per-vector scaled quantization,VSQ)的技术。

具体来说,一个INT4数字只能精确表示从-8到7的16个整数。

其他数字都会四舍五入到这16个值上,中间产生的精度损失被称为量化噪声。

传统的量化方法给每个矩阵添加一个缩放因子来减少噪声,VSQ则在这基础之上给每个向量都添加缩放因子,进一步减少噪声。

7c8c5386-7950-11ed-8abf-dac502259ad0.png

关键之处在于,缩放因子的值要匹配在神经网络中实际需要表示的数字范围。

英伟达研究人员发现,每64个数字为一组赋予独立调整过的缩放因子可以最小化量化误差。

计算缩放因子的开销可以忽略不计,从INT8降为INT4则让能量效率增加了一倍。

7cbba276-7950-11ed-8abf-dac502259ad0.png

Bill Dally认为,结合上INT4计算、VSQ技术和其他优化方法后,新型芯片可以达到Hopper架构每瓦运算速度的10倍。

还有哪些降低计算量的努力

除了英伟达之外,业界还有更多降低计算量的工作也在这次IEEE研讨会上亮相。

马德里康普顿斯大学的一组研究人员设计出基于Posits格式的处理器核心,与Float浮点数相比准确性提高了多达4个数量级。

Posits与Float相比,增加了一个可变长度的Regime区域,用来表示指数的指数。

对于0附近的较小数字只需要占用两个位,而这类数字正是在神经网络中大量使用的。

适用Posits格式的新硬件基于FPGA开发,研究人员发现可以用芯片的面积和功耗来提高精度,而不用增加计算时间。

7cf8a87e-7950-11ed-8abf-dac502259ad0.png

ETH Zurich一个团队的研究基于RISC-V,他们把两次混合精度的积和熔加计算(fused multiply-add,FMA)放在一起平行计算。

这样可以防止两次计算之间的精度损失,还可以提高内存利用率。

FMA指的是d = a * b + c这样的操作,一般情况下输入中的a和b会使用较低精度,而c和输出的d使用较高精度。

研究人员模拟了新方法可以使计算时间减少几乎一半,同时输出精度有所提高,特别是对于大矢量的计算。

相应的硬件实现正在开发中。

7d2a0536-7950-11ed-8abf-dac502259ad0.png

巴塞罗那超算中心英特尔团队的研究也和FMA相关,致力于神经网络训练可以完全使用BF16格式完成。

BF16格式已在DALL·E 2等大型网络训练中得到应用,不过还需要与更高精度的FP32结合,并且在两者之间来回转换。

这是因为神经网络训练中只有一部分计算不会因BF16而降低精度。

最新解决办法开发了一个扩展的格式BF16-N,将几个BF16数字组合起来表示一个数,可以在不显著牺牲精度的情况下更有效进行FMA计算

7d5cadce-7950-11ed-8abf-dac502259ad0.png

关键之处在于,FMA计算单元的面积只受尾数位影响。

比如FP32有23个尾数位,需要576个单位的面积,而BF16-2只需要192个,减少了2/3。

另外这项工作的论文题目也很有意思,BF16 is All You Need。

7d784610-7950-11ed-8abf-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50196

    浏览量

    420707
  • 英伟达
    +关注

    关注

    22

    文章

    3720

    浏览量

    90655

原文标题:英伟达首席科学家:5nm实验芯片用INT4达到INT8的精度

文章出处:【微信号:ICViews,微信公众号:半导体产业纵横】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    AI芯片巨头英伟涨超4% 英伟市值暴增7500亿

    谁是美股最靓的仔?在人工智能浪潮之下AI芯片巨头英伟肯定有一席之地,特别是现在全球资本市场动荡之际,业界分析师多认为英伟是最佳“反弹股”
    的头像 发表于 08-13 15:33 1029次阅读

    英伟回应AI芯片推迟发布传闻

    近日,英伟就外界广泛关注的AI芯片Blackwell推迟发布传闻作出正式回应。84日,英伟
    的头像 发表于 08-05 17:34 634次阅读

    esp-dl int8量化模型数据集评估精度下降的疑问求解?

    一 试着将模型进行了esp-dl上int16和int8的量化,并在测试数据集上进行精度评估,其中int16的模型精度基本没有下降,但是
    发表于 06-28 15:10

    触觉智能EVB3588实测运行大模型,效果nice!

    ,搭载八核64位CPU,四核Cortex-A76和四核Cortex-A55架构,主频高达2.4GHz。6TOPSAI算力,三核架构,支持int4/int8/int16
    的头像 发表于 05-30 08:32 409次阅读
    触觉智能EVB3588实测运行大模型,效果nice!

    进一步解读英伟 Blackwell 架构、NVlink及GB200 超级芯片

    ,通过英伟高带宽接口(NV-HBI)将两个最大可制造芯片合并为一个图形处理器单元,支持10TB/s带宽,形成高效的通信通道,提升整体性能。 配备192GB的HBM3e内存、超过8TB
    发表于 05-13 17:16

    Banana Pi 推出采用瑞芯微 RK3576芯片设计开源硬件:BPI-M5 Pro,比树莓派5性能强大

    :ARM Mali G52 MC3 GPU NPU:高达6TOPs算力(INT8),支持INT4/INT8/INT16混合运算。 VPU/编码和解码: 硬件解码:支持 H.264、H.
    发表于 05-02 19:42

    iTOP-3588开发板快速测试手册Android12系统功能测试

    、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP,内置NPU,支持INT4/INT8/INT16/FP16混合运算能力,支持安卓12
    的头像 发表于 03-01 16:16 657次阅读
    iTOP-3588开发板快速测试手册Android12系统功能测试

    英伟收涨16.4% 分析师称英伟股价可能达到四位数

    英伟收涨16.4% 分析师称英伟股价可能达到四位数 就在英伟
    的头像 发表于 02-23 15:35 797次阅读

    yolov5量化INT8出错怎么处理?

    model_deploy.py --mlir yolov5l.mlir --quantize INT8 --calibration_table yolov5l_cali_table --chip
    发表于 01-10 06:40

    OpenVINO™ 2023.2 发布:让生成式AI在实际场景中更易用

    在 2023.2 版本中,我们进一步优化此工作流程,并引入在 CPU 和集成显卡上运行权重量化为 int8int4 精度的 LLM 的能力。权重量化直接影响内存带宽,并帮助模型更快、更高效地执行推理,因为模型消耗的内存更少
    的头像 发表于 12-08 16:04 907次阅读
    OpenVINO™ 2023.2 发布:让生成式AI在实际场景中更易用

    你真的能区别int(1)和int(10)的应用?

    我们知道在mysql中 int4个字节,那么对于无符号的int,最大值是2^32-1 = 4294967295,将近40亿,难道用了int(1),就不能
    的头像 发表于 12-06 14:43 481次阅读
    你真的能区别<b class='flag-5'>int</b>(1)和<b class='flag-5'>int</b>(10)的应用?

    c语言int超出范围溢出处理

    C语言中,int类型的范围是由编译器和操作系统决定的。通常情况下,int类型的范围为-2147483648到2147483647。当我们在程序中使用int类型的变量时,如果超出了这个范围,就会
    的头像 发表于 11-30 11:38 5377次阅读

    超出int范围的整数如何输出

    超出int范围的整数指的是大于2147483647或小于-2147483648的整数。在计算机中,int类型是有限制的,使用32位表示,能够表示的范围是-2147483648到2147483647
    的头像 发表于 11-30 11:36 1609次阅读

    c语言int超出范围怎么办

    当在C语言中使用int类型时,有时候会遇到超出范围的情况。int类型通常表示的是有符号32位整数,范围是-2147483648到2147483647。当超出这个范围时,你需要采取一些措施来处理这个
    的头像 发表于 11-30 11:32 3715次阅读

    Yolo系列模型的部署、精度对齐与int8量化加速

    可视化其他量化形式的engine和问题engine进行对比,我们发现是一些层的int8量化会出问题,由此找出问题量化节点解决。
    的头像 发表于 11-23 16:40 1150次阅读