问题

为什么 MobileNet、ShuffleNet 在理论上速度很快,工程上并没有特别大的提升?

回答
MobileNet 和 ShuffleNet 在理论上被设计成轻量级网络,在参数量和计算量上远低于传统的大型卷积神经网络(CNN),例如 VGG 或 ResNet。这使得它们在理论上具有天然的速度优势,尤其是在资源受限的移动设备和嵌入式系统中。

然而,在实际工程应用中,我们往往会发现它们的性能提升并没有宣传的那么“革命性”,甚至有时候与一些结构稍微调整的大型网络相比,速度优势并不明显。这背后有很多原因,我们可以从以下几个方面来详细探讨:

1. 理论计算量与实际计算延迟的差异:

MACs vs. FLOPs vs. Latency:
MACs (MultiplyAccumulate Operations): 这是衡量模型中乘法和加法操作总数的一个指标。通常,MACs 越多,计算量越大。
FLOPs (Floating Point Operations): 这是指浮点运算的次数,通常是 MACs 的两倍(因为一次 MAC 操作包含一次乘法和一次加法)。
Latency (延迟): 这是模型实际运行在硬件上所花费的时间。延迟是我们在工程上最关心的指标,而 MACs/FLOPs 只是一个理论上的粗略估计。

理论优化 vs. 硬件实现:
深度卷积(Depthwise Separable Convolution): MobileNet 和 ShuffleNet 的核心思想是将标准卷积分解为深度卷积和逐点卷积。深度卷积将输入通道与滤波器逐通道独立卷积,显著减少了参数量和计算量。逐点卷积则用来融合不同通道的信息。
硬件对卷积的优化: 现代硬件(如 GPU、CPU 的 SIMD 指令集)对标准卷积操作有非常成熟且高效的硬件级优化。它们可以并行处理卷积核中的多个元素,或者对不同输入通道的数据进行高效的计算。
深度卷积的瓶颈:
内存访问瓶颈: 深度卷积虽然计算量少,但它通常需要更频繁、更分散的内存访问。例如,在进行深度卷积时,每个通道需要独立的滤波器,这就意味着需要读取每个通道的数据,并与之进行卷积。这种分散的内存访问模式可能无法充分利用硬件的并行计算能力,导致内存带宽成为瓶颈,而非计算能力。
计算单元利用率: 硬件的并行计算单元(如 GPU 的 CUDA Cores)在执行标准卷积时,可以高效地填充这些计算单元。而深度卷积由于其“逐通道”的特性,可能会导致一部分计算单元处于空闲状态,从而降低了整体的计算单元利用率。
小卷积核的挑战: 深度卷积通常使用 3x3 的小卷积核。虽然这减少了参数,但对于一些计算密集型的硬件来说,执行大量非常小的卷积核可能不如执行一个稍大的、但更集中的卷积核有效率。

2. ShuffleNet 的结构特性与现实:

通道混洗 (Channel Shuffle): ShuffleNet 引入了通道混洗操作,旨在解决深度卷积中通道之间信息隔离的问题。它通过将深度卷积的输出按照一定的规则重新分组和排列,来实现通道间的交流。
混洗操作的开销:
内存带宽需求: 通道混洗操作虽然在计算量上可能很小(例如,只是数据的重排),但它会增加额外的内存读写操作,从而消耗更多的内存带宽。
硬件效率: 这种特定模式的数据重排,可能并不总是能被硬件高效地执行。与直接的矩阵乘法或卷积相比,数据的混洗可能引入额外的延迟。
维度灾难的隐忧: 理论上, ShuffleNet 的组卷积(Group Convolution)和通道混洗可以限制信息流,使其更有效地在分组内传播。但如果分组过细,或者混洗操作不够高效,也可能导致信息传播受阻,反而不如一个全局的、大尺寸的卷积核。

3. 软件库和硬件优化中的权衡:

高度优化的库: 像 cuDNN (NVIDIA) 和 MKL (Intel) 这样的深度学习计算库,经过了长期的优化,针对标准卷积操作提供了极其高效的实现。这些库能够充分利用硬件的特性,例如缓存、指令集并行等。
轻量级模型适配难: 对于 MobileNet 和 ShuffleNet 这样基于分解和重组的模块,让这些库对其进行最优化的适配需要额外的努力。当模型中充斥着大量的小型、非标准的操作时,库的优化程度可能会下降。
框架层级的开销: 神经网络框架(如 TensorFlow、PyTorch)在执行模型时,会产生一定的框架层级开销,包括算子调度、数据传递等。当模型包含大量小的、独立的算子时,这些开销可能会被放大。

4. 实际应用中的性能瓶颈:

内存带宽: 如前所述,轻量级模型在追求计算量降低的同时,往往会增加内存访问的次数和分散性,使得内存带宽成为一个更突出的瓶颈。
CPU/GPU 核心利用率: 深度卷积和通道混洗的特性,可能无法充分利用现代处理器核心的并行计算能力,导致核心利用率不高。
数据预处理与后处理: 在实际部署中,模型推理的整体速度还受到数据加载、预处理(如图像缩放、归一化)和后处理(如结果解码)的影响。如果这些环节不够高效,轻量级模型的理论速度优势会被抵消。
模型编译与量化: 在某些部署场景下,模型还需要经过量化(例如 INT8 量化)和模型编译器(如 TensorRT)的优化。这些过程对不同网络结构的影响也不同,一些复杂的、非标准化的结构可能在量化或编译时表现不佳。

5. 理论研究与工程实现的脱节:

关注点不同: 理论研究往往更侧重于算法的创新和数学上的效率提升,而工程实现则需要考虑硬件特性、实际运行环境和部署效率。
基准测试的局限性: 论文中的性能评估可能是在特定的硬件、软件环境和测试数据集上进行的,并且可能忽略了实际部署中的其他开销。

总结:

MobileNet 和 ShuffleNet 在理论上通过分解标准卷积来减少计算量,这无疑是一个重要的研究方向。然而,在实际工程应用中,硬件的运行方式、内存访问效率、软件库的优化程度以及框架层级的开销等因素,共同决定了模型的实际运行速度。

深度卷积和通道混洗等操作,虽然计算量少,但可能带来内存带宽的限制、计算单元利用率的下降以及软件库优化上的挑战。这使得它们在实际部署时的速度提升,往往无法完全兑现理论计算量的缩减。

因此,在工程实践中,我们不仅要关注理论上的 MACs/FLOPs,更要关注实际的延迟(Latency)和吞吐量(Throughput),并结合具体的硬件平台进行测试和优化。针对轻量级模型,内存优化、数据布局的调整以及针对特定硬件的算子融合等技术,可能比单纯追求计算量上的理论下降更为重要。

与其说 MobileNet 和 ShuffleNet “没有特别大的提升”,不如说它们的提升受到了 “计算到运行” 过程中一系列工程化挑战的制约,这使得它们在某些场景下,与其他经过精心优化的网络相比,性能上的优势并没有想象中那么“绝对”。

网友意见

user avatar

一句话解释:因为 CPU 和 GPU 的计算方式不一样

CPU 读取数据不是每次都从内存(RAM)拿的,会有缓存,缓存的读取速度比内存快很多很多。两个时间复杂度一样的算法,如果一个缓存命中率高,那可能实际跑起来比另一个快上十倍二十倍也不稀奇。尤其是计算卷积这种包含大量循环的操作,缓存命中率显得尤为重要。

而在 GPU 上数据传输读取的方式是不一样的,所谓的缓存命中也是完全不一样的概念。粗略讲在小卷积核卷积这种操作情况下是不受缓存影响的(相对 CPU 而言)。

mobilenet 就是利用了分离的技巧,用更多的层数换取了更高的缓存命中率,所以对 CPU 计算更友好。为什么要这样?从名字看出来,mobilenet 是希望提高移动端计算的速度,目前为止移动端神经网络推理大多数情况下还是使用 CPU 进行。虽然很多手机厂商大吹特吹什么 NPU,毕竟还是不够成熟,广大第三方开发者很难直接使用。那 GPU 呢?桌面端有 CUDA,cuDNN 给你铺好路了,移动端可啥都没有啊,连 OpenGL ES 3.0 支持都零零落落,还指望有神经网络相关的驱动?做梦呢。所以这就是为什么 Google 研究出各种神奇吊炸天的算法,也只用在自家的 pixel 手机上,毕竟自家的手机,硬件好统一,驱动能跟上。


插个题外话,这两天又到校招季,知乎上也多了很多提问。有抱怨的,有忿忿不平的,有觉得做算法为什么要懂工程的。那这个问题就是一个例子了。如果你知道一些计算机底层的机制,自然知道为什么,知道为什么也就能动手把你的模型改造成适合移动端计算的形式。相比于整个替换 backbone 重新训练,也许只要改改某些层就能让计算速度获得极大提升。

举个简单栗子,两个矩阵相乘,简单直白的三重循环就搞定,时间复杂度 O(mnk),可是同样是三重循环,实际运行速度可以差好多倍。简单调换一下三重循环的内外顺序,就可以做到。是不是很神奇?我打赌现在大批做算法的同学,听都没听过这种事情。这在以前,可是学计算机要掌握的基础知识啊。

我一直说一句话,算法工程师也是工程师,工程师是解决问题的。模型结果可以很酷炫,但用不到产品中去,不能给公司带来收益,那都是花架子。

我作为面试官,如果候选人拿出手机给我演示了一个他的模型使用的 demo,哪怕网络模型本身毫无创新点,只要在手机上流畅运行起来,我就会毫不犹豫给出一个高分。


再插个题外话,同样的模型,只要调整一些局部顺序就可以大幅提高运算速度。有人也许会不屑,知道了又有什么用?呐,这就是你和陈天奇这样的大佬的差距了。看看大佬的 TVM,就是在做这样一件事呀。

类似的话题

  • 回答
    MobileNet 和 ShuffleNet 在理论上被设计成轻量级网络,在参数量和计算量上远低于传统的大型卷积神经网络(CNN),例如 VGG 或 ResNet。这使得它们在理论上具有天然的速度优势,尤其是在资源受限的移动设备和嵌入式系统中。然而,在实际工程应用中,我们往往会发现它们的性能提升并没.............
  • 回答
    近年来,自由主义在全球范围内的影响力确实呈现出明显的衰落趋势,这一现象涉及经济、政治、社会、技术、文化等多个层面的复杂互动。以下从多个维度详细分析自由主义衰落的原因: 一、经济全球化与贫富差距的加剧1. 自由主义经济政策的局限性 自由主义经济学强调市场自由、私有化、减少政府干预,但其在21世.............
  • 回答
    俄乌战争期间,虚假信息(假消息)的传播确实非常广泛,其背后涉及复杂的国际政治、媒体运作、技术手段和信息战策略。以下从多个角度详细分析这一现象的成因: 1. 信息战的直接动因:大国博弈与战略竞争俄乌战争本质上是俄罗斯与西方国家(尤其是美国、北约)之间的地缘政治冲突,双方在信息领域展开激烈竞争: 俄罗斯.............
  • 回答
    政府与军队之间的关系是一个复杂的政治与军事体系问题,其核心在于权力的合法性和制度性约束。虽然政府本身可能不直接持有武器,但通过法律、组织结构、意识形态和历史传统,政府能够有效指挥拥有武器的军队。以下是详细分析: 一、法律授权与国家主权1. 宪法与法律框架 政府的权力来源于国家宪法或法律。例如.............
  • 回答
    关于“传武就是杀人技”的说法,这一观点在历史、文化和社会语境中存在一定的误解和偏见。以下从历史、文化、现代演变和误解来源等多个角度进行详细分析: 一、历史背景:武术的原始功能与社会角色1. 自卫与生存需求 中国传统武术(传武)的起源与农耕社会、游牧民族的生存环境密切相关。在古代,武术的核心功.............
  • 回答
    关于近代历史人物是否能够“翻案”的问题,需要结合历史背景、人物行为对国家和民族的影响,以及历史评价的客观性进行分析。袁世凯和汪精卫作为中国近代史上的重要人物,其历史评价确实存在复杂性和争议性,但“不能翻案”的结论并非基于单一因素,而是综合历史、政治、道德等多方面考量的结果。以下从历史背景、人物行为、.............
  • 回答
    关于“俄爹”这一称呼,其来源和含义需要从多个角度分析,同时要明确其不尊重的性质,并指出如何正确回应。以下是详细解析和反驳思路: 一、称呼的来源与可能的含义1. 可能的字面拆解 “俄”是“俄罗斯”的拼音首字,而“爹”在中文中通常指父亲,带有亲昵或戏谑的意味。 若将两者结合,可能暗示.............
  • 回答
    民国时期(19121949)虽然仅持续约37年,却涌现出大量在文学、艺术、科学、政治、哲学等领域具有划时代意义的“大师级人物”。这一现象的出现,是多重历史、社会、文化因素共同作用的结果。以下从多个维度进行详细分析: 一、思想解放与文化启蒙的浪潮1. 新文化运动(19151923) 思想解放.............
  • 回答
    航空航天领域在待遇和职业环境上确实存在一定的挑战,但国家在该领域取得的飞速发展,主要源于多方面的国家战略、技术积累和系统性支持。以下从多个维度详细分析这一现象: 一、国家战略与长期投入:推动技术突破的核心动力1. 国家层面的战略目标 航空航天技术往往与国家的科技竞争力、国家安全和国际地位密切.............
  • 回答
    吴京作为中国知名演员、导演,近年来因《战狼2》《英雄联盟》等作品及个人生活引发公众关注,其形象和言论在不同语境下存在争议,导致部分人对其产生负面评价。以下从多个角度详细分析可能的原因: 1. 个人生活与公众形象的冲突 妻子被曝光:2018年,吴京妻子的近照和视频被网友扒出,引发舆论争议。部分人.............
  • 回答
    近年来,全球范围内对乌克兰的支持确实呈现出显著增加的趋势,这一现象涉及多重因素,包括国际局势、地缘政治博弈、信息传播、经济援助、民族主义情绪以及国际社会的集体反应。以下从多个角度详细分析这一现象的成因: 1. 俄乌战争的爆发与国际社会的集体反应 战争的爆发:2022年2月,俄罗斯对乌克兰发动全面入侵.............
  • 回答
    《是大臣》《是首相》等政治剧之所以能在编剧缺乏公务员经历的情况下取得成功,主要源于以下几个关键因素的综合作用: 1. 构建政治剧的底层逻辑:制度与权力的结构性认知 政治体制的系统性研究:编剧可能通过大量研究英国议会制度、政府运作流程、政党政治规则(如议会制、内阁制、党鞭系统等)来构建剧情。例如.............
  • 回答
    关于“剧组中男性可以坐镜头箱而女性不能”的现象,这一说法可能存在误解或过度泛化的倾向。在影视拍摄中,镜头箱(通常指摄影机或固定设备)与演员的性别并无直接关联,但若涉及性别差异的讨论,可能与以下多方面因素相关: 1. 传统性别刻板印象的延续 历史背景:在传统影视文化中,男性常被赋予主导、主动的角.............
  • 回答
    印度在俄乌战争中不公开表态、在安理会投票中对俄罗斯的决议案弃权,这一行为背后涉及复杂的地缘政治、经济利益和外交策略考量。以下是详细分析: 1. 与俄罗斯的经济与军事合作 能源依赖:印度是俄罗斯的重要能源进口国,2022年俄乌战争爆发后,印度从俄罗斯进口了大量石油和天然气,以缓解对西方能源的依赖。尽管.............
  • 回答
    关于“公知”与高校知识分子的关系,这一现象涉及中国社会、教育体系、媒体环境以及知识分子角色的多重因素。以下从多个维度进行分析: 一、高校知识分子的特殊性1. 教育背景与专业素养 高校知识分子通常拥有高等教育背景,具备较强的知识储备和批判性思维能力。这种专业素养使他们更倾向于参与公共讨论,尤其.............
  • 回答
    短视频平台在字幕中对“死”“钱”“血”等字打上马赛克,主要出于以下几方面的考虑,涉及内容监管、文化规范、法律合规和平台运营策略: 1. 避免敏感内容传播这些字可能与以下敏感话题相关,平台通过屏蔽来防止违规内容扩散: “死”:可能涉及自杀、死亡、濒死等话题,容易引发负面情绪或被用于极端内容(如自杀教程.............
  • 回答
    素食主义作为一项社会运动,其发展与传播确实涉及复杂的动机和行为逻辑。从现象学角度分析,素食主义者的“带节奏”行为可能源于以下几个层面的原因和目的: 一、社会运动的传播逻辑1. 信息传播的网络效应 在社交媒体时代,素食主义者通过短视频、直播、图文等形式形成信息扩散链。例如,YouTube上"V.............
  • 回答
    伊朗的伊斯兰革命(1979年)是20世纪最重大的政治事件之一,其爆发和“逆世俗化”趋势的形成,是多重历史、社会、经济和宗教因素交织的结果。以下从多个维度详细分析这一现象的成因: 一、历史背景:波斯帝国的衰落与殖民影响1. 波斯帝国的遗产 波斯帝国(公元前550年)曾是中东最强大的帝国之一,以.............
  • 回答
    伊尔96(Il96)和图204(Tu204)是苏联和俄罗斯在20世纪80至20世纪初研制的中短程宽体客机,但它们在国际航空市场上的表现并不理想,主要原因涉及技术、经济、政治、市场和竞争等多个层面。以下从多个角度详细分析其销路不佳的原因: 1. 技术性能不足:无法满足现代市场需求 伊尔96(1970年.............
  • 回答
    您的问题可能存在一些误解或翻译错误。实际上,飞机和高铁都需要乘客,两者都是用于运输乘客的交通工具,只是在技术、运行方式和应用场景上有显著差异。以下是详细解释: 1. 高铁和飞机都需要乘客 高铁:中国高铁(如京沪高铁、京广高铁)是高速铁路系统,主要用于短途和中长途客运,乘客数量庞大,是国家重要的交通方.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有