首页 文章 精选 留言 我的

精选列表

搜索[内存黑科技],共10011篇文章
优秀的个人博客,低调大师

CANN5.0黑科技解密 | 别眨眼!缩小隧道,让你的AI模型“身轻如燕”!

摘要:CANN作为释放昇腾硬件算力的关键平台,通过深耕先进的模型压缩技术,聚力打造AMCT模型压缩工具,在保证模型精度前提下,不遗余力地降低模型的存储空间和计算量。 随着深度学习的发展,推理模型巨大的参数量和计算量,需要耗费越来越多的硬件资源,也给模型在移动端的部署带来了新的挑战。 能不能像哆啦A梦一样,变出一条缩小隧道,不管再大的模型,塞进去后就能变小变轻,在寸土寸金的AI硬件资源上身轻如燕… 答案是:当然可以! 通常来说,想要构建深度学习领域的模型缩小隧道,加速模型推理部署,一般需要借助量化、剪枝、低秩分解、知识蒸馏等模型压缩技术,降低模型参数量、计算量。 但是,模型压缩通常不是无损压缩,是牺牲一定精度为代价来获取计算性能的提升。而作为衡量AI推理应用成效的双重标准,精度和性能同等重要,模型压缩算法的落地自然也需要同时兼顾精度损失和性能提升的均衡。 AMCT:模型缩小隧道 昇腾异构计算架构CANN,作为连接AI框架和AI硬件的桥梁,提升昇腾AI计算效率的关键平台,通过AMCT模型压缩工具(Ascend Model Compression Toolkit),构筑了一条现实版的模型缩小隧道。 AMCT是一个python工具包,有效适配Caffe/TensorFlow/ 昇思MindSpore/PyTorch/ONNX等主流深度学习框架,提供包含量化、张量分解、通道稀疏在内的多种模型压缩功能。在保证模型精度前提下,可有效降低模型的存储空间和计算量,提升模型推理性能。 相比于其他同类平台,AMCT支持的模型压缩特性更加完备,通过多种压缩算法以及硬件亲和模型优化最大化用户模型部署推理性能;AMCT支持的训练框架也更加丰富,适配不同领域不同用户人群开发使用;除此之外,AMCT还致力于通过自动调优、自动补齐等高阶特性来提升工具的易用性,让用户可以付出极低代价就可以获取尽可能大的收益。 量化:低比特压缩,减少数据bit位宽 顾名思义,模型量化是一种将浮点计算转成低比特定点计算的技术(例如32bit的浮点模型转换为8bit的定点模型),可有效降低模型的存储开销和计算复杂度,从而提升模型推理性能。 常见的量化算法有二值化、对数量化和线性量化。 二值化量化,,由于模型压缩太过激进,对于模型性能提升较大但是相应的精度损失也较大,适用范围较小; 对数量化, 由于依赖专用的硬件计算单元且性能提升有限,也未能获得大规模应用; AMCT采用线性量化方式, 支持8bit、4bit位宽量化。一般而言,网络做8bit量化的精度风险小,可通过训练后量化的方式实现;对于4bit量化的精度损失风险较大,当前AMCT仅支持通过量化感知训练的方式实现。 训练后量化(Post-Training Quantization, 简称PTQ),是指将训练后模型中的权重由浮点数量化到低比特整数,并通过少量校准数据基于推理过程进行校准量化。对于8bit量化,一般网络通过训练后量化即可达到较低的量化精度损失。 量化感知训练(Quantization-Aware Training, 简称QAT),是指借助用户完整训练数据集,在重训练过程中引入量化操作,在训练前向计算中对数据和权重进行伪量化(量化反量化),引入量化误差损失,从而在训练过程中提高模型对量化效应的适应能力,提高最终的量化模型精度。对于4bit以及更低bit位宽的量化,一般需要通过量化感知训练来降低量化精度损失。 我们在昇腾AI处理器上分别测试了ResNet-50和YOLOV3网络在8bit PTQ和4bit QAT下的性能及精度表现。 精度方面,可以看到不同网络对量化的敏感度不同,在经典CV网络,8bit量化量化精度损失可保持在1%以内,4bit量化量化精度损失可保持2%以内。 性能方面,不同模型由于其模型结构及网络规格的差异,量化所获取的性能提升也各不相同,其中ResNet-50 INT8相较于FP16,INT4相较于INT8而言平均约有40%左右的性能提升;YOLOV3则都在30%左右。 使用方面,开发者调用AMCT提供的API即可轻松完成模型量化。AMCT默认会对整网所有可量化算子(主要为卷积类和矩阵乘类算子)进行量化,开发者也可自行指定具体量化哪些层、每一层的量化bit位宽。如果量化后精度损失大于预期,可以通过跳过一些关键层的量化来恢复精度。例如,我们通常认为网络的首尾层对网络的业务精度影响较大,则需要优先进行量化回退。 稀疏:权重剪枝,缩减模型参数量 许多实验证明,神经网络模型都是过参数化的(over-parameterized),许多参数都是冗余的,恰当剔除这些相对“不重要”的参数对模型最终的结果几乎没有影响。 模型稀疏就是对模型的参数进行删减,从而降低模型的存储和计算开销。而模型稀疏按照稀疏颗粒度,从最小的element-wise到channel-wise甚至更大,稀疏颗粒度从小到大,对模型的精度影响越大,但是相应能够获取到的性能收益也越大。 以上稀疏颗粒度示意图,从左到右颗粒度依次增加。但是对于单个权重、权重向量、单个卷积核kernel的稀疏都需要硬件特殊适配才能够拿到对应的性能或者存储收益。 而通道稀疏(filter-level sparsity)由于裁剪了输出数据通道,等价于缩小了模型的规格,不需要特定的硬件支持就可以拿到对应的性能收益,是一个比较理想的选择。但是如前所述,通道稀疏的颗粒度较大,对于网络的精度风险也较大,一般需要进行Fine-tune。 AMCT目前主要支持基于重训练的通道稀疏模型压缩特性。 通道稀疏主要是通过裁剪网络通道数,在保持网络功能的前提下缩减模型参数量。通道稀疏的实现通常包括两个步骤:首先是通道选择,需要选择合适的通道组合以保留丰富的信息;然后是重建,需要使用选择的通道对下一层的输出进行重建。 在昇腾AI处理器上分别测试了ResNet-50网络进行30%稀疏的精度和性能表现。 精度方面,可以看到不同网络对通道稀疏的敏感度不同,ResNet50做30%比例的通道稀疏后精度损失仍能保持在1%以内。 性能方面,主要测试了ResNet-50在不同batch-size情况下的性能情况,在batch-size=32场景下通道稀疏约提升了40%的推理速度。 使用方面,开发者同样只需要调用AMCT提供的API,配置你期望的全局稀疏率或者每一层的稀疏率即可,工具能自动判定可稀疏通道,轻松完成稀疏工作。 张量分解:低秩近似,降低模型计算量 对于卷积神经网络来说,卷积层的运算量是占网络总运算量的大头,并且卷积核越大,参数量和计算量越庞大。 而张量分解,正是采用数学方法,将一个大卷积核通过低秩近似分解为多个小卷积核,构造计算量更小的卷积算子,从而达到压缩模型与计算量的目的。 以1个64*64*3*3的卷积分解为32*64*3*1和64*32*1*3的级联卷积为例,可以减少1 - (32*64*3*1 + 64*32*1*3) / 64*64*3*3 = 66.7%的计算量,在计算结果近似的情况下带来更具性价比的性能收益。 AMCT中的张量分解则充分考虑昇腾AI处理器硬件特性,选择能够充分发挥硬件算力的卷积形式,尽可能减小搬运开销对算子性能的影响。 实验表明,张量分解在昇腾AI处理器的推理速度以及模型大小的优化上都起到了非常显著的效果。 经测试,13张经典CV网络经过张量分解后,推理时间平均减少24.4%,模型大小平均减少38.8%,而finetune后的精度几乎与分解前相当(最大损失不超过0.5%)。 使用方面,通过AMCT提供的API,开发者仅需调用1或2个接口(取决于框架),即可完成对原始模型的分解,并对分解后的模型进行finetune。 写在最后 CANN作为释放昇腾硬件算力的关键平台,面对既要保精度又要提性能的尴尬问题,坚持“精度和性能两手抓,两手都要硬”,始终站在开发者视角,想开发者所想,及开发者所及。通过深耕先进的模型压缩技术,聚力打造AMCT模型压缩工具,在保证模型精度前提下,不遗余力地降低模型的存储空间和计算量。 轻装前行,放得远方!面对人工智能的蓬勃发展,相信通过CANN构筑的模型缩小隧道,定将给大参数量、大计算量的AI模型带来更加广阔的应用场景,和更加巨大的想象空间! 欢迎登陆昇腾社区网站https://www.hiascend.com/了解更多信息。 点击关注,第一时间了解华为云新鲜技术~

优秀的个人博客,低调大师

ApiBoot v2.2.5 发布,新增“分布式高效有序 ID 生产黑科技”组件

ApiBoot是什么? ApiBoot是接口服务的落地解决方案,依赖于SpringBoot,提供了一系列开箱即用的组件,通过封装来简化主流第三方框架的集成,从而提高开发者开发效率、学习成本、降低入门门槛,真正的实现开箱即用。 如果你想要系统的学习ApiBoot可以访问我的博客文章ApiBoot开源框架各个组件的系列使用文章汇总,或者官方文档http://apiboot.minbox.io 生态 ApiBoot主要的职责是封装并且落地项目中常用到的第三方依赖,会接入越来越多优秀的开源项目,提供统一的SpringBoot集成解决方案,完全遵循SpringBoot自定义Starter的规范实现。 下面是目前所集成的组件: 阿里云对象存储OSS组件 阿里云国际短信服务组件 多数据源动态切换组件 分布式日志开源框架组件 阿里云邮件服务组件 APP消息推送组件(支持极光推送) ORM MyBatis Enhance开源框架组件(特性:方法命名规则查询、动态查询、内置方法,只增强不覆盖MyBatis本质特性) MyBatis Pageable自动化分页组件 分布式任务调度框架Quartz组件 分布式限流框架RateLimiter组件(支持Google令牌桶、Redis Lua脚本) 资源业务分离组件 Spring Security + OAuth2 + JWT框架整合极简的解决方案组件(不写一行代码即可实现默认整合) 分布式高效有序ID生成组件 Swagger文档组件 详见官方文档:https://apiboot.minbox.io 更新日志✨ 指定使用Spring版本为v5.2.5 升级使用MyBatis Enhance版本为v1.1.2(忽略表名大小写、支持LocalDateTime、Boolean类型映射) 升级使用Nacos版本为v0.2.7 升级使用Quartz版本为v2.3.2 升级使用Guava版本为v29.0-jre 新增ApiBoot Sequence组件,基于Twitter的Snowflake算法实现,“一秒内可生成418万个有序的ID” 修复部分Bugs 官方文档 & 源码 官方文档:http://apiboot.minbox.io 示例源码:https://gitee.com/minbox-projects/api-boot-chapter 码云:https://gitee.com/minbox-projects/api-boot GitHub:https://github.com/hengboy/api-boot 请给我支持 ApiBoot框架目前是由恒宇少年 - 于起宇编写并开源,欢迎大家提出集成建议,也可以根据ApiBoot集成第三方依赖的方式自行编写后提交PR,请给我一定的支持,让我坚持去下,为开源做贡献。 请给ApiBoot源码仓库点个Star,Watching后可以收到每次发版的通知。 Gitee GitHub 请给文章示例源码点个Star Gitee:https://gitee.com/minbox-projects/api-boot-chapter

优秀的个人博客,低调大师

大疆又发“黑科技”,可以手势操控的“晓” Spark 掌上无人机

写完这篇稿子,镁客君要去剁手了。 北京时间昨晚11点30分,大疆创新在美国纽约召开了新品发布会,正式推出第一款迷你型掌上无人机“晓”Spark无人机。这一支持手势操作的新款无人机,单机售价3299元,全能套装售价为4599元。 在这款只有手掌大小的“晓”Spark无人机上,大疆首次引入了人脸检测功能。开机后,只需将Spark放上手掌,检测到人脸后即可解锁并从掌上起飞,完成升空悬停一系列动作。更值得一提的是,所有的这些工作能够在25秒内全部完成。 手势控制飞行是大疆为Spark引入的一种全新互动方式,只需挥挥手就能实现近距离控制飞行器、拍照、让飞行器回到身边并在掌上降落等一系列操作。大疆高级产品经理PaulPan表示:“Spark的出现,令大疆比以往更加接近对机器智慧的设想。前所未有的人机互动形式,给无人机带来了无限乐趣、潜力和可能性。 “晓”Spark配备了大疆迄今为止最迷你但功能同样强大的航拍相机。它具备专业运动相机级别的1/2.3英寸CMOS传感器和专业航拍镜头,有效像素1200万,可拍摄1080p、30fps稳定高清视频。强劲的动力令Spark在4级强风中仍能稳定悬停,加上两轴机械增稳云台及UltraSmooth技术,可帮助用户轻松得到稳定、清晰的影像。 售价方面,大疆“晓”Spark单机版本中国区售价为3299元人民币;全能套装售价4599元,包含单肩包、遥控器、额外桨叶、智能飞行电池、桨叶保护罩及充电管家。 原文发布时间: 2017-05-25 10:06 本文作者: JOKER 本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。

优秀的个人博客,低调大师

DARPA研究出黑科技,芯片晶体管终于可以继续缩小了

为了解决3D芯片堆叠时的液体冷却问题,美国国防部先进研究计划署(DARPA)与IBM、乔治亚理工学院(Georgia Institute of Technology;Georgia Tech)合作展开芯片内/芯片间(Intrachip/Interchip)增强冷却(ICECool)计划,如今已经开发出一种使用绝缘介电质制冷剂(以取代水)的途径。 负责打造该原型机的研究人员说,这种方法能将制冷剂泵送至整个微流体芯片通道,从而降低了冷却超级电脑CPU的成本,并经由在每个磊晶之间安全地泵送制冷剂,即使是最厚的3D芯片堆叠内部都能加以冷却。 DARPA的ICECool计划采用微流体冷却基板、芯片或封装的内部,期望以「嵌入式」热管理方式克服远端冷却的局限 IBM的华生研究中心(Thomas J. Watson Research Center)首席研究员Tim Chainer说:「我们的原型是一款8核心的Power7超级电脑,背面的微流体通道蚀刻用于散热,将它与气冷式Power7超级电脑放在一起比较。所取得的进展降低了25℃的接面温度[44℉]、功耗更低7%,其冷却架构也更简洁。我们还打算使3D芯片可堆叠至任何高度,从而克服摩尔定律(Moore's Law)的微缩限制。」Chainer的团队与苏黎世的IBM Research研究人员共同合作,同时也获得了Georgia Tech研究人员的支持。 传统的空调冷却方式使用冷空气和散热片(顶部),经证实不如温水冷却(中央),而DARPA ICECool计划开发的技术承诺可藉由使用介电质蒸气(底部),进一步缩减尺寸与成本 Chainer回顾了多核心架构的转变如何克服了几年前处理器的5GHz速度限制。如今,接面温度可以降低44℉,让工程师能再次启动时脉。Chainer说,绝缘介电质冷却的3D芯片堆叠同样可以克服摩尔定律的微缩限制。 冷却具有绝缘介电质流体的3D芯片堆叠时,该绝缘介电质流体沸腾成蒸汽,并从间隔100微米距离的50微米堆叠中提取热,使裸金属通孔可在芯片之间运行,如同水冷却剂一样形成互连而不至于造成短路 他说:「我们正生活在电脑创新最激动人心的时刻,这是由于工程师的聪明才智克服了曾经被认为无法逾越的摩尔定律限制。」 藉由水冷系统,IBM得以让资料中心无需再使用空调。但为了ICECool计划而开发的绝缘介电质蒸汽系统,也不需要使用冷却器(右上)和冷却塔(左上) 在决定采用Honeywell的Solstice Ze R-1234ze之前,IBM评估过十几种制冷剂,因为制冷剂在室温下为液体,但在一般的芯片温度(高达85℃或185℉)时蒸发,并在蒸发过程中提取热量。由于制冷剂在室温下会返回液态,所以不需要像传统冰箱使用的压缩机。相反地,Solstice Ze R-1234ze只需要通过铜管道线圈(类似于酒精蒸馏器或汽车散热管)的引导,就能在穿过芯片或从芯片之间返回液体形式。 Honeywell制冷剂也是一种介电质,因此可以在芯片之间泵送,而不需要金属元件的绝缘,包括矽穿孔(TSV)。微流体通道可以透过单个芯片执行,涵盖全部的3D堆叠芯片。3D芯片堆叠中非腐蚀性制冷剂的最佳使用是将CMOS芯片削薄到50微米厚,并在其间留下100微米的间隙。围绕边缘的中空矩形间隔物包含堆叠中的制冷剂,每一侧的接头在一侧泵入液体,并在另一侧移除其蒸汽。接着,蒸汽通过蒸馏器,让制冷剂返回液体形式以便泵送回芯片堆叠中。 Chainer说:「我们期望Honeywell、3M等绿色制冷剂制造商能研究和生产适用于半导体产业的客制化配方,但是,Solstice R-1234ze是目前所能找到的最佳产品。」虽然IBM和Georgia Tech着重于ICECool计划下的商用高性能电脑上,但Raytheon和波音(Boeing)等公司生产的解决方案可用于防御应用中冷却雷达装置和其他超高频设备。DARPA的计划在大约四年内完成了目标。如今,IBM、Raytheon和波音正从各自的研究实验室中,将技术传递到制造业。这些技术预计最快将在2018年之前出现在商用产品和军事设备中。 本文转自d1net(转载)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册