稀疏性如何为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中的应用,促使视频编辑效率 ...
随机推荐
- 修正js跳转
var urls = new Array();urls["pc"] = "./hp"; //pcurls["sj"] = "./h ...
- Win64 驱动内核编程-8.内核里的其他常用
内核里的其他常用 1.遍历链表.内核里有很多数据结构,但它们并不是孤立的,内核使用双向链表把它们像糖 葫芦一样给串了起来.所以遍历双向链表能获得很多重要的内核数据.举个简单的例子,驱 动对象 Driv ...
- Jenkins反序列化漏洞复现
Jenkins Jenkins是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins功能包括: 持 ...
- [CTF]盲文对照表
[CTF]盲文对照表 摘自:https://wenku.baidu.com/view/28b04fd380eb6294dd886ca7.html 学点盲文 盲文又称点字,国际通用的点字由6个凸起的圆点 ...
- XCTF-web_python_template_injection
web_python_template_injection 这里涉及到flask的ssti漏洞(服务端模板注入). 简单点说就是,在使用flask/jinja2的模板渲染函数render_templa ...
- SpringMVC中<mvc:default-servlet-handler/>的作用
问题所在:DispatcherServlet请求映射配置为"/",则Spring MVC将捕获Web容器所有的请求,包括静态资源的请求,Spring MVC会将它们当成一个普通请求 ...
- jpa模糊查询(表中的某些数据)
业务代码 Controller @GetMapping({"/task/project"}) public ResponseEntity findByProjectTitle(@R ...
- c++debug&注意事项 自用 持续更新
cin后回车程序直接退出: 加system("pause");在return 0;前面 C++ 控制cout输出的小数位数 C++中的cout.setf().cout.precis ...
- 简单介绍下自动化框架:Robot Framework
一.简介: Robot Framework:Robot Framework是由Python编写的一款功能丰富并且扩展性强的自动化测试框架,也可以在Java和 .NET 上运行. HttpRunner: ...
- Windows 程序自动更新方案: Squirrel.Windows
Windows 程序自动更新方案: Squirrel.Windows 1. Squirrel Squirrel 是一组工具和适用于.Net的库,用于管理 Desktop Windows 应用程序的安装 ...