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

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

大家好啊,我是董董灿。

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

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

它是怎么做的呢

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

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

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高。

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

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

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

相关文章
|
5月前
|
存储 运维 API
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
HPE OneView 10.0 - HPE 服务器、存储和网络设备集中管理软件
109 1
|
2月前
|
人工智能 监控 数据可视化
如何破解AI推理延迟难题:构建敏捷多云算力网络
本文探讨了AI企业在突破算力瓶颈后,如何构建高效、稳定的网络架构以支撑AI产品化落地。文章分析了典型AI IT架构的四个层次——流量接入层、调度决策层、推理服务层和训练算力层,并深入解析了AI架构对网络提出的三大核心挑战:跨云互联、逻辑隔离与业务识别、网络可视化与QoS控制。最终提出了一站式网络解决方案,助力AI企业实现多云调度、业务融合承载与精细化流量管理,推动AI服务高效、稳定交付。
|
4月前
|
机器学习/深度学习 数据采集 算法
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
本文将BSSNN扩展至反向推理任务,即预测X∣y,这种设计使得模型不仅能够预测结果,还能够探索特定结果对应的输入特征组合。在二元分类任务中,这种反向推理能力有助于识别导致正负类结果的关键因素,从而显著提升模型的可解释性和决策支持能力。
363 42
贝叶斯状态空间神经网络:融合概率推理和状态空间实现高精度预测和可解释性
|
6月前
|
算法 JavaScript 数据安全/隐私保护
基于GA遗传优化的最优阈值计算认知异构网络(CHN)能量检测算法matlab仿真
本内容介绍了一种基于GA遗传优化的阈值计算方法在认知异构网络(CHN)中的应用。通过Matlab2022a实现算法,完整代码含中文注释与操作视频。能量检测算法用于感知主用户信号,其性能依赖检测阈值。传统固定阈值方法易受噪声影响,而GA算法通过模拟生物进化,在复杂环境中自动优化阈值,提高频谱感知准确性,增强CHN的通信效率与资源利用率。预览效果无水印,核心程序部分展示,适合研究频谱感知与优化算法的学者参考。
|
3月前
|
存储 监控 Linux
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.5 - Dell 服务器、存储和网络设备集中管理软件
76 0
|
6月前
|
存储 安全 Linux
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
183 4
Dell OpenManage Enterprise 4.4 - Dell 服务器、存储和网络设备集中管理软件
|
7月前
|
人工智能 供应链 调度
|
6月前
|
存储 消息中间件 弹性计算
阿里云服务器ECS计算型c7和通用算力型u1在适用场景、计算性能、网络与存储性能等方面的对比
阿里云ECS服务器u1和c7实例在适用场景、性能、处理器特性等方面存在显著差异。u1为通用算力型,性价比高,适合中小企业及对性能要求不高的场景;c7为企业级计算型,采用最新Intel处理器,性能稳定且强大,适用于高性能计算需求。u1支持多种CPU内存配比,但性能一致性可能受底层平台影响;c7固定调度模式,确保高性能与稳定性。选择时可根据预算与性能需求决定。
331 23
|
6月前
计算网络号的直接方法
子网掩码用于区分IP地址中的网络部分和主机部分,连续的“1”表示网络位,“0”表示主机位。例如,255.255.255.0 的二进制为 11111111.11111111.11111111.00000000,前24位是网络部分。通过子网掩码可提取网络号,如 IP 192.168.1.10 与子网掩码 255.255.255.0 的网络号为 192.168.1.0。此外,文档还介绍了十进制与二进制间的转换方法,帮助理解IP地址的组成与计算。
378 11
|
8月前
|
人工智能 运维 监控
领先AI企业经验谈:探究AI分布式推理网络架构实践
当前,AI行业正处于快速发展的关键时期。继DeepSeek大放异彩之后,又一款备受瞩目的AI智能体产品Manus横空出世。Manus具备独立思考、规划和执行复杂任务的能力,其多智能体架构能够自主调用工具。在GAIA基准测试中,Manus的性能超越了OpenAI同层次的大模型,展现出卓越的技术实力。

热门文章

最新文章