ai的“高度近视”有何破解之法?深度学习加速技术让“人工智障”戴上眼镜

智能相对论 智能相对论     2022-10-22     447

关键词:

【导读】

「是什么黑科技,成全了AI又快又准又省的心愿?」

有什么比秃头更心酸的吗?

有,比如智能机器人将秃了的后脑勺识别成未戴口罩的脸,跟随一路提醒佩戴口罩。

如今AI应用已非常普遍,这过程中也收获了不少“人工智障”的笑话,上述只是其中一个,除了离谱的图像自动识别,还有答非所问的智能对话。

自迎来以深度学习为代表的第三次发展浪潮,人工智能技术已被广泛应用在目标检测、图像识别、自然语言处理(NLP)等场景,从语音识别、自动送餐机器人到生产线影像监控,AI的身影无处不在。

客户的业务需求与创新应用对AI推理和训练的效率和质量都提出了更为严格的要求,推动人工智能发展从三个方面——数据、算力、算法都需要进一步调优和高效。

两全其美之事已是世间难得,倘若想要在一件事上达到“三全”,着实有些困难且“贪心”。

但踏平“人工智障”,真的需要“贪心”一些。

数据精度、存储空间、处理速度,发展AI必须三者共同进步

数据、算力和算法之间存在一些原生矛盾。

通常来说,数据类型的宽度越大,能表达的动态范围和精度也就越高。

更大的动态范围和更高的精度意味着更多的存储空间,譬如FP32就需要FP16两倍的内存占用,并给内存带宽带来成倍的压力,对算力带来挑战。

同时算法层面,尽管深度学习是人工智能(AI)近几年重新走红的功臣,也是吞噬算力的巨大 “黑洞”。

这三者平衡起来依然也会存在困难,从数据类型的层面,要节省存储空间就需要做出一定的让步或牺牲,例如,Google为加速AI深度学习而引入的BFloat16(BF16)数据类型,用FP16的数据宽度实现了与FP32相当的动态范围,其代价是精度有所降低。

这只是解决了一方面,但如果实现“既准,又省,还快”三重快乐AI,三大要素必须共同发力:简化数据,强化算力,优化算法。

英特尔深度学习加速技术:准、省、快,低精度成就高效率!

算法上的革新是重中之重。

如同上述所说,大多数深度学习应用在其训练和推理工作负载中多采用 32 位浮点精度(FP32),尽管精度高但占用更大内存,进而影响计算效率。

当数据格式由 FP32 转为 8 位整数(INT8)或 16 位浮点数(BF16)时,内存可以移动更多的数据量,进而更大化地利用计算资源。

图说:不同数据格式对内存利用率的影响

这种精度的降低会对数据处理的准确率造成影响吗?

答案是:并不会,或者说影响微乎其微。

近年来已有众多研究和实践表明,以较低精度的数据格式进行深度学习训练和推理,并不会对结果的准确性带来太多影响,譬如BF16用于训练,INT8用于推理,能够将准确率的损失降至最低,甚至完全没有损失。

而低精度数据格式带来的优势,也不仅在于提升内存利用效率,在深度学习常见的乘法运算上,它也能减少处理器资源消耗并实现更高的操作速度(OPS)。

算法的升级助力了“准”和“省”的达标,但“快”的层面还略有些差强人意。

为了保证推理过程中的精度,在CPU的向量处理单元中进行矩阵运算的时候,先将8位值相乘再累加到32位,需要3条指令来完成,代价是3倍的指令数,这也导致峰值运算性能只提高了33%。

那么“提速”任务就交给了算力单元。

英特尔® 深度学习加速(英特尔®Deep Learning Boost,简称DL Boost)技术的精髓,就是把对低精度数据格式的操作指令融入到了 AVX-512 指令集中, AVX-512_VNNI (Vector Neural Network Instruction,矢量神经网络指令) 和 AVX-512_BF16(bfloat16),分别提供了对 INT8(主打推理)和 BF16(兼顾推理和训练)的支持。

英特尔® 深度学习加速技术带来训练和推理效率提升
 

至此,英特尔® DL Boost技术可以让人工智能达到三全,即:

  • 省:简化数据,提高内存容量和带宽的利用率,缓解内存压力;
  • 准:优化算法,模型量化使用较低的数值精度也能保证结果的准确性,特别是推理应用;
  • 快:强化算力,避免增加额外操作,保证性能与内存利用率同步提升。

推理与训练,硬件加速双管齐下

如同一条道路上,通过车辆的体型变小(简化后的数据),通过的车辆数量自然就上来了。

两种新的、针对 AI 应用的 AVX-512 指令集使道路(寄存器)上通过了更多的 车辆(数据量),新的指令集无疑能使计算效率获得大幅提升。

点击此处回顾英特尔AVX指令集的前世今生《这项15年前的「超前」技术设计,让CPU在AI推理时代大放光彩》

这两种不同指令集的优势也有所不同。

从代号Cascade Lake的英特尔第二代至强可扩展处理器开始,AVX-512指令集就增加了VNNI,用一条FMA指令就可以完成8位乘法再累加到32位的操作。

2020 年问世的第三代英特尔® 至强® 可扩展处理器已集成了英特尔® 深度学习加速技术这两种 AI 加速指令集,并被广泛运用于商业深度学习应用的训练和推理过程。

在指令集的支持下,简化数据的同时避免了额外的开销,让性能可以获得与内存利用率一致的提升。AVX-512_VNNI 使用INT8做推理,对比使用FP32,理论上可以获得4倍的性能,而将内存要求降至 ¼。

内存的减少和频率的提高加快了低数值精度运算的速度,最终加速 AI 和深度学习推理,适合图像分类、语音识别、语音翻译、对象检测等众多方面。

而AVX-512_BF16 的优势是既可以用于推理,也可以用于训练,能帮助训练性能提升达 1.93 倍。代号Cooper Lake的英特尔第三代至强可扩展处理器就集成了bfloat16加速功能,在与FP32相似的精度下,提升性能和内存利用率。

软硬协同设立“AI改造车间”,CPU多场景应用优势尽显

算力、算法、数据如今都有各自标准以及解决办法,当三者形成完整闭环时,如何让整个流程的效率更上一层?

依然还有可以继续进步的地方,那就是:AI 应用原生的数据格式并不统一的情况下,如何高效的把大量采用传统FP32数据格式的AI模型转换成BF16或INT8格式使用。

由英特尔推出的 OpenVINO™ 工具套件提供了模型量化功能,为上述问题提供了应对良方。

它能让基于不同 AI 框架,如 TensorFlow、MXNet、PyTorch 等构建的 FP32 数据格式 AI 模型,在损失很少精度的情况下转化为 INT8 和 BF16 数据格式。

除模型量化功能外,针对一系列 AI 应用场景,如视觉模拟、自动语音识别、自然语言处理及推荐系统等,OpenVINO™ 工具套件还提供了能提升它们开发和部署效率的组件,例如 OpenVINO™ Model Server 和 OpenVINO™ Model Zoo 等组件可对基于 TensorFlow、PyTorch、MxNet、Keras 等不同框架构建的训练模型实施更为高效的优化,并简化这些模型部署的流程及耗时。

AI应用场景颇多,那何种场景更能突显AVX-512_BF16等深度学习加速技术的优势?

例如在医疗影像此类重视准确性多过于实时性的场景中,汇医慧影在乳腺癌影像分析场景中引入了集成有英特尔® 深度学习加速技术的第二代英特尔® 至强® 可扩展处理器,配合 OpenVINO™ 工具套件,在对检测模型进行了 INT8 转换和优化后,推理速度较原始方案提升高达 8.24 倍,且精确度损失不到 0.17%。

企业启动构建AI应用,改弦更张并非性价比之选,可以充分评估既有的数据存储、处理和分析平台,如此一来,基于又准又快又省的CPU,或借助它构建和部署符合自身需求的AI应用。

更何况,CPU自身的AI能力也在不断进化中,即将发布的代号为Sapphire Rapids的英特尔第四代至强可扩展处理器,就加入了简称AMX的高级矩阵扩展(Advanced Matrix Extensions)技术。

AMX是新的x86扩展,具有自己的存储和操作,主要针对AI领域非常重要的平铺矩阵乘法,比前两种DL Boost的实现更为复杂,那效果呢?我们(带上显微镜)拭目以待吧~

点击链接:https://www.intel.cn/content/www/cn/zh/artificial-intelligence/deep-learning-boost.html,了解更多深度学习加速技术。

深度学习的异构加速技术:螺狮壳里做道场

...高级研究员,隶属腾讯TEG-架构平台部,主要研究方向为深度学习异构计算与硬件加速、FPGA云、高速视觉感知等方向的构架设计和优化。“深度学习的异构加速技术”系列共有三篇文章,主要在技术层面,对学术界和工业界异构... 查看详情

2022服贸会进行时百度吴甜:深度学习平台+大模型加速ai产业落地

...讨AI赋能产业的实践探索与行业准则。百度集团副总裁、深度学习技术及应用国家工程研究中心副主任吴甜发表了《人工智能平台加速产业智能化》主旨 查看详情

人工智能ai专家分享:深度学习初学解惑

...专家。前欢聚时代资深大数据专家,有丰富的机器学习、深度学习实战经验。在高扬老师此前的分享中,有不少同学问到高扬老师各种关于入门深度学习这个前沿技术领域的问题。部分重要问题,高扬老师做了具体的回复。真传... 查看详情

人工智能,机器学习,深度学习,到底有何区别

有人说,人工智能(AI)是未来,人工智能是科幻,人工智能也是我们日常生活中的一部分。这些评价可以说都是正确的,就看你指的是哪一种人工智能。今年早些时候,GoogleDeepMind的AlphaGo打败了韩国的围棋大师李世乭九段。在... 查看详情

pytorch2如何通过算子融合和cpu/gpu代码生成加速深度学习(代码片段)

...获、中间表示、运算符融合以及优化的C++和GPU代码生成的深度学习编译器技术入门计算机编程是神奇的。我们用人类可读的语言编写代码,就像变魔术一样,它通过硅晶体管转化为电流,使它们像开关一样工作,并允许它们实现... 查看详情

35岁程序员危机,有何破解之法

一直以来,互联网界都有着“程序员是吃青春饭”的说法,这一年龄危机甚至逐渐演变为“45岁退休,35岁换人”的段子。周围很多小伙伴也都确实有着年龄方面的焦虑,难道过了35岁真的就没有竞争力了吗?... 查看详情

35岁程序员危机,有何破解之法

一直以来,互联网界都有着“程序员是吃青春饭”的说法,这一年龄危机甚至逐渐演变为“45岁退休,35岁换人”的段子。周围很多小伙伴也都确实有着年龄方面的焦虑,难道过了35岁真的就没有竞争力了吗?... 查看详情

ai智能分析网关包含哪些深度学习算法?如何赋能场景应用?

AI深度学习技术正在呈现飞速增长的状态,有数据分析预测,到2030年,AI有望实现13万亿美元的市场规模。尤其是伴随着智慧城市、智能交通、工业互联网、生产制造等应用场景对视频数据分析需求的激增,AI与计... 查看详情

深度解读华为云智能企业云应用平台

深度解读华为云智能企业云应用平台企业应用上云的过程中,智能云基础设施极大提升了资源获取与运维的效率,但应用自身的开发、部署与运维仍然繁琐与低效。同时,人工智能,边缘计算,区块链等新技术正逐渐进入企业核心业务... 查看详情

百度黄埔学院将培养一批首席ai架构师,为“国之重器”赋能

深度学习高端人才不仅是AI发展的重要养分,也是企业转型AI巨大推动力。2019年1月19日,百度黄埔学院——深度学习架构师培养计划在百度科技园举行开学典礼,深度学习技术及应用国家工程实验室副主任、百度AI技术平台体系... 查看详情

ibmwatsonmachinelearningaccelerator加速深度学习和大规模高分辨率的图像处理

IBMWatsonMachineLearningAccelerator加速深度学习工作负载。利用AI模型训练和推理,加快实现价值。为何要在数据和AI平台上进行深度学习?随着人类在计算、算法和数据访问上不断取得进步,企业正在更广泛地采用深度学习... 查看详情

《深度学习笔记》——训练加速篇

1介绍在本文中,我们将记录关于模型训练加速的学习笔记~首先我们看看李沐老师在【动手学深度学习v2】课程中讲述的关于“让训练更加稳定的技巧”: 查看详情

一文让你看懂人工智能机器学习深度学习和强化学习的关系(代码片段)

...棋以4:1战胜围棋世界冠军、职业九段棋手李世石,不仅让深度学习为人们所知,而且掀起了人工智能的“大众热”。此后,人工智能越来越热,从机器人开发、语音识别、图像识别、自然语言处理到专家系统等不断推陈出新。同... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...分离架构大行其道。在此背景下,用户在云上训练大规模深度学习模型引发的数据缓存需求日益旺盛。为此,阿里云容器服务团队与Alluxio开源社区和南京大学顾荣老师等人通力合作寻找相关解决方案,当前已经提供K8s上运行模... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...分离架构大行其道。在此背景下,用户在云上训练大规模深度学习模型引发的数据缓存需求日益旺盛。为此,阿里云容器服务团队与Alluxio开源社区和南京大学顾荣老师等人通力合作寻找相关解决方案,当前已经提供K8s上运行模... 查看详情

一流科技与摩尔线程深度合作,共同加速人工智能创新和应用

近日,一流科技与摩尔线程宣布将携手展开深度技术合作,基于摩尔线程国产全功能GPU的计算能力及一流科技OneFlow深度学习框架的高效特性,为AI应用提供更高效的计算性能。摩尔线程GPU将为OneFlow提供高性能算力支... 查看详情

模型端侧加速哪家强?一文揭秘百度easyedge平台技术内核

近年来,深度学习技术在诸多领域大放异彩,因此广受学术界和工业界的青睐。随着深度学习的发展,神经网络结构变得越来越复杂。复杂的模型固然具有更好的性能,但是高额的存储空间与计算资源消耗使其难... 查看详情

综述|fpga加速深度学习

...;人工智能随之大热,而推动人工智能迅猛发展的正是深度学习的崛起。大数据时代需要迫切解决的问题是如何将极为复杂繁多的数据进行有效的分析使用,进而充分挖掘利用数据的价值并造福人类。深度学习作为一种实... 查看详情