稀疏性如何为AI推理增加难度
稀疏性如何为AI推理增加难度
NVIDIA Ampere架构使数学运算加倍,以加速对各种神经网络的处理。
如果曾经玩过游戏Jenga,那么将有一些AI稀疏感。
玩家将木制积木交叉成一列。然后,每个玩家轮流小心地移开一个障碍物,而不会倾倒立柱。
它从一开始就很容易,但是变得越来越毛茸茸,直到失败的玩家拔出一个障碍物,导致塔楼坠毁。
多年来,研究人员一直在努力地利用数字打积木,以利用稀疏性来加速AI。他们尝试从神经网络中提取尽可能多的不需要的参数-而不破坏AI的超高精度。
目标是减少深度学习所需的矩阵乘法堆,从而缩短达到良好结果的时间。到目前为止,还没有大赢家。
迄今为止,研究人员已经尝试了多种技术来提取神经网络中多达95%的权重。但是随后,他们花了比他们节省的时间更多的时间,不得不采取激进的步骤来弥补简化模型的准确性。适用于一种模型的步骤不适用于其他模型。
数字稀疏
NVIDIA安培架构引入了第三代张量磁芯在NVIDIA A100的GPU称取在网络权细粒度稀疏的优点。提供了高达2倍的密集数学最大吞吐量,而不会牺牲深度学习的核心矩阵乘法累加作业的准确性。
测试表明,这种稀疏方法在许多AI任务(包括图像分类,目标检测和语言翻译)中使用密集数学来维持方法的准确性。它也已经在卷积神经网络和递归神经网络以及基于注意力的转换器上进行了测试。

A100打包了稀疏矩阵以加速AI推理任务。
内部数学运算速度的提高对应用程序级别具有重大影响。使用稀疏性,A100 GPU可以运行BERT(来自转换的双向编码器表示),这是用于自然语言处理的最新模型,比密集型数学要快50%。
NVIDIA Ampere架构利用了神经网络中较小值的普遍性,从而使尽可能广泛的AI应用程序受益。具体来说,定义了一种训练神经网络的方法,该方法可以去除一半的权重,即所谓的50%稀疏度。
当做对时,少即是多
一些研究人员使用粗粒度剪枝技术,这些技术会从神经网络层中删除整个通道,从而经常降低网络的准确性。NVIDIA Ampere架构中的方法采用结构化的稀疏性和细粒度的剪枝技术,不会明显降低准确性,用户在重新训练模型时可以进行验证。
适当剪枝网络后,A100 GPU将自动完成其余工作。
A100 GPU中的Tensor Core有效压缩稀疏矩阵以启用适当的密集数学。跳过矩阵中实际上是零值位置的位置会减少计算量,节省功耗和时间。压缩稀疏矩阵还可以减少宝贵的内存和带宽的使用。
稀疏性如何为AI推理增加难度的更多相关文章
- AI推理与Compiler
AI推理与Compiler AI芯片编译器能加深对AI的理解, AI芯片编译器不光涉及编译器知识,还涉及AI芯片架构和并行计算如OpenCL/Cuda等.如果从深度学习平台获得IR输入,还需要了解深度 ...
- 使用函数计算三步实现深度学习 AI 推理在线服务
目前深度学习应用广发, 其中 AI 推理的在线服务是其中一个重要的可落地的应用场景.本文将为大家介绍使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖 ...
- 基于函数计算 + TensorFlow 的 Serverless AI 推理
前言概述 本文介绍了使用函数计算部署深度学习 AI 推理的最佳实践, 其中包括使用 FUN 工具一键部署安装第三方依赖.一键部署.本地调试以及压测评估, 全方位展现函数计算的开发敏捷特性.自动弹性伸缩 ...
- AI推理单元
AI推理单元 推理服务供了一套面向 MLU(Machine Learning Unit,机器学习单元)设备的类似服务器的推理接口(C++11标准),以及模型加载与管理,推理任务调度等功能,极大地简化了 ...
- L1、L2范式及稀疏性约束
L1.L2范式及稀疏性约束 假设需要求解的目标函数为: E(x) = f(x) + r(x) 其中f(x)为损失函数,用来评价模型训练损失,必须是任意的可微凸函数,r(x)为规范化约束因子,用来对模型 ...
- UFLDL(五)自编码算法与稀疏性
新教程内容太繁复,有空再看看,这节看的还是老教程: http://ufldl.stanford.edu/wiki/index.php/%E8%87%AA%E7%BC%96%E7%A0%81%E7%AE ...
- 【转】自编码算法与稀疏性(AutoEncoder and Sparsity)
目前为止,我们已经讨论了神经网络在有监督学习中的应用.在有监督学习中,训练样本时有类别标签的.现在假设我们只有一个没带类别标签的训练样本集合 ,其中 .自编码神经网络是一种无监督学习算法,它使用了 ...
- cuSPARSELt开发NVIDIA Ampere结构化稀疏性
cuSPARSELt开发NVIDIA Ampere结构化稀疏性 深度神经网络在各种领域(例如计算机视觉,语音识别和自然语言处理)中均具有出色的性能.处理这些神经网络所需的计算能力正在迅速提高,因此有效 ...
- 全场景AI推理引擎MindSpore Lite, 助力HMS Core视频编辑服务打造更智能的剪辑体验
移动互联网的发展给人们的社交和娱乐方式带来了很大的改变,以vlog.短视频等为代表的新兴文化样态正受到越来越多人的青睐.同时,随着AI智能.美颜修图等功能在图像视频编辑App中的应用,促使视频编辑效率 ...
随机推荐
- 过 DNF TP 驱动保护(一)
过 DNF TP 驱动保护(一) 文章目录: 01. 博文简介: 02. 环境及工具准备: 03. 分析 TP 所做的保护: 04. 干掉 NtOpenProc ...
- SVCHOST启动服务实战
本文转载自:https://blog.csdn.net/huanglong8/article/details/70666987 转载出处: https://sanwen8.cn/p/2cenbHs.h ...
- POJ2431贪心(最少加油次数)
题意: 给一个终点,然后给你一个卡车距离终点的距离,还有其他个加油站距离终点的距离,然后每走一个单位距离要花费一个单位油,卡车的邮箱是无限大的,而每个加油站的油量是有限的,整个路径是一个 ...
- ERROR: Symbol file could not be found 寒江孤钓<<windows 内核安全编程>> 学习笔记
手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found, 并且会一直不停的出现windb ...
- 修改VScode底部状态栏颜色
点击齿轮进入setting 搜索workbench.colorCustomizations,然后点击编辑setting.json 修改为你喜欢的颜色即可,我这里修改为蓝色 例子: "work ...
- Python分支结构你真的搞定了吗?
分支结构 分支结构能够让计算机像人一样进行思考,应对不同的场景做出不同的回应. Python中不支持switch语法,目前仅支持if/else形式,但是在Python3.10的测试版本中,貌似支持了s ...
- Linux常见错误解决办法
1. 程序运行的一些基础知识 1. 编译程序时去哪找头文件? 系统目录:就是交叉编译工具链里的某个 include 目录:也可以自己指定:编译时用 " -I dir "选项指定. ...
- [Java] HOW2J(Java中级)
异常 定义:导致程序正常流程被中断的事件 异常处理常见手段 try catch:将可能抛出异常的代码放在try的块中,一旦出现异常就跳转到catch的块中处理 throws/throw:不在本模块处理 ...
- RHEL高级磁盘管理—Stratis
2. Stratis 本地存储管理工具,通过Stratis可以便捷的使用Thin Provisioning.Snapshots.Pool-based的管理和监控等高级存储功能. Stratis 基于x ...
- 【转载】linux 安装 中文输入法 Fcitx 手动
在 Linux(测试版)中安装中文输入法 由于一些原因,目前在 Linux(测试版)中无法调用系统的输入法,故需要安装第三方输入法为 Linux(测试版)中的应用提供中文输入支持.本文档旨在介绍第三方 ...