神经网络推理加速入门——存储和计算的高效结合

简介: 如果把存储过程和计算过程结合起来,那么整个推理加速就能快很多。

大家好啊,我是董董灿。

计算机冯诺依曼架构下一个特点,就是存储和计算分离,这会带来一个问题,那就是计算机有时会遇到存储墙,也就是存储带宽不够导致的性能下降。

如果说流水技术可以为此破局,那么其实还有一个打破冯诺依曼架构的桎梏,将存储和计算过程结合起来。

它是怎么做的呢

还是先从一个例子说起。假设我要做个炒鸡蛋。正常的话我有以下步骤:

  • 把鸡蛋从冰箱里拿出来
  • 拿着鸡蛋从冰箱走到灶台
  • 在灶台开火,开始炒鸡蛋

image.png

这个过程是经典的冯诺依曼架构中的流程。

这里面有一个弊端就是:数据(鸡蛋)需要从存储器(冰箱)中 load(拿)到计算单元(锅)中,然后进行计算(炒鸡蛋)。我们知道,load数据的过程是耗时的,尤其是数据量比较大的情况下。

比方需要炒1000个鸡蛋,一个锅肯定炒不下,需要多次拿鸡蛋,多次炒。

并且拿鸡蛋的速度取决于从冰箱走到灶台的速度,这里就是存储器到计算单元之间的总线带宽,带宽越大,速度越快。

但无论带宽多大,只要是这种架构,总是会有耗时,并且带宽是不可能很大的。

在这个时候,会出现一种极端情况,厨师炒鸡蛋的速度很快,可能1秒钟就炒完了,而从冰箱里拿鸡蛋到灶台,遇到个手脚不灵活的人,可能需要3秒钟。

不论多长时间,只要大于炒鸡蛋的时间,厨师就得等着鸡蛋过来。这个时候就是说,计算单元在空闲,性能瓶颈在带宽,程序打到了存储墙。

所谓存储墙,就是由于存储的数据需要load,但是load的时间很长,像是有一面墙在那里,导致计算单元空闲的情况。

为了解决这个问题,就有人提出,既然这样,那为什么不能把计算单元和存储单元放在一起呢?反正芯片都是人设计的嘛,放在一起就不需要来回搬运数据了啊。

比如,直接把锅做的特别大,大到可以放下1000个鸡蛋,或者说直接在冰箱里面炒鸡蛋,不用来回拿鸡蛋,这样不香么?

别说,还真香。

存——指的是存储器。

算——指的是计算单元。

两者合为一体,将计算单元和存储单元设计到一起,减少甚至消除数据的搬运。就这一点技术,就能使AI计算的性能得到飞一般的提升。

应用场景

在AI领域,最有效的场景便是,存储器的内存足够大,可以放得下整个神经网络的权值参数。

举个例子,resnet50的权值参数大概为24MB,AlexNet的权值参数大概为59M,而VGG-16大概有130M的参数量大小。

image.png

假设一个芯片的容量为40M,那么很明显resnet50的所有参数都可以全部放进存储器,这样在做模型推理的时候,只需要把 feature map(也就是图片,比如人脸识别时,拍摄的人脸照片)加载进内存就能推理出结果了。

相反,VGG-16由于权值参数太多,无法一次全部加载完成,仍然需要分多次加载。并且每次加载都是需要耗时的,此时,存算技术对VGG-16带来的性能提升肯定没有Resnet50高。

因此,在模型参数小于存储容量的场景下,其性能优势十分明显,可以说,这个时候,没有任何多余的数据搬运操作。

因此,存储过程和计算过程结合起来,对于整个神经网络的推理加速,其性能提升是很大的。

本文作者原创,转载请联系作者,请勿随意转载

相关文章
|
1天前
|
存储 安全 网络安全
云端防御战线:融合云计算与网络安全的未来之路
【4月更文挑战第30天】 在数字化的浪潮中,云计算已经成为企业转型和技术创新的强大引擎。然而,随着云服务日益普及,数据的安全性和隐私保护问题也愈发凸显。本文深入探讨了云计算环境中网络安全的挑战与策略,重点分析了信息安全管理、加密技术、身份验证以及入侵检测等关键技术的应用。通过综合研究,提出了一个多层次、动态的网络安全防御框架,旨在为云服务提供商及其用户打造一个更加安全、可靠的计算环境。
|
1天前
|
算法 网络架构
网络地址的相关计算(超详细,快来快来!)
网络地址的相关计算(超详细,快来快来!)
9 0
|
1天前
|
存储 安全 网络安全
云端防御:融合云计算与网络安全的未来
【5月更文挑战第11天】 在数字化时代,数据是新的石油,而云计算则是提炼这种石油的超级工厂。随着企业和个人越来越依赖于云服务来存储和处理数据,网络安全的重要性也呈指数级增长。本文将探讨云计算与网络安全的交汇点,分析云服务模型中的安全挑战,并提出一系列创新策略和技术,用以增强信息安全。从身份验证到数据加密,再到入侵检测系统,我们将一探究竟如何在不牺牲性能的前提下,确保云环境的稳固和可信。此外,我们还将讨论未来的趋势和潜在的研究方向,以期打造一个更加安全、可靠的云计算生态系统。
|
1天前
|
网络协议 安全 Linux
网络入门基础
网络入门基础
7 0
|
1天前
|
监控 安全 网络安全
云端防御:融合云计算与网络安全的未来之路
【5月更文挑战第1天】 随着企业数字化转型的不断推进,云计算已成为现代业务架构的核心。然而,云服务的广泛应用也带来了前所未有的安全挑战。本文将深入探讨在动态、多租户的云环境中,如何通过创新的安全技术和策略来保障数据和资源的安全。我们将分析云计算服务模型与网络安全的关系,探讨当前面临的主要安全威胁,并提出相应的解决方案和管理最佳实践。文章旨在为读者提供一个全面的框架,以理解和应对在云平台上进行业务操作时可能遇到的安全风险。
|
1天前
|
存储 安全 网络安全
云端防御线:融合云计算与网络安全的战略性布局
【4月更文挑战第30天】 随着企业数字化转型的加速,云计算已成为推动业务增长的关键驱动力。然而,云服务的广泛采用也带来了前所未有的安全挑战。本文深入探讨了在动态和复杂的云环境中维护网络安全的关键技术与策略。通过分析云计算服务模型、网络威胁面及信息安全最佳实践,文章旨在为企业构建一个既灵活又坚固的防御体系提供指导,确保在享受云服务带来的便利的同时,有效防范潜在的安全风险。
|
1天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
1天前
|
监控 安全 网络安全
云端防御战线:融合云计算与网络安全的未来策略
【4月更文挑战第30天】随着企业数字化转型的加速,云计算已成为支撑现代业务架构的关键平台。然而,云服务的广泛采用也使组织面临前所未有的网络威胁。本文将深入探讨如何在动态且复杂的云环境中实施有效的网络安全措施,确保信息资产的安全与完整性。文中不仅分析了云计算服务模型中存在的安全挑战,还提出了一系列创新的安全策略,包括身份验证、数据加密、访问控制及持续监控等,旨在为读者提供一套全面的网络安全解决方案框架。
|
1天前
|
存储 安全 网络安全
云端防御战线:融合云计算与网络安全的未来策略
【4月更文挑战第30天】 随着企业数字化转型加速,云计算服务成为支撑现代业务的关键基础设施之一。同时,数据泄露、网络攻击等安全威胁也随之增加。本文探讨了在云服务框架下实现网络安全和信息保护的策略和技术,包括最新的加密方法、身份验证机制和入侵检测系统。我们分析了当前的挑战,提出了一系列创新措施,旨在为组织提供一套全面的安全解决方案,确保在享受云计算带来的便利性的同时,也能维护数据的完整性和隐私。
|
1天前
|
存储 监控 安全
【亮剑】指导初学者如何搭建和使用网络视频监控系统。
【4月更文挑战第30天】本文指导初学者如何搭建和使用网络视频监控系统。核心设备包括摄像头(如固定、PTZ、多目、夜视)、存储选项(NVR、DVR、云存储)及网络交换机等。安装配置步骤涉及规划布局、安装摄像头、设置存储设备和软件配置。实时监控包括实时查看、接收警报和录像回放。理解设备功能、合理布局并细心操作,就能建立稳定监控体系。随着技术进步,未来监控系统将更智能、高效,保障安全。

热门文章

最新文章