社区供稿 | Para-Former:DUAT理论指导下的CV神经网络并行化,提速多层模型推理

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 神经网络正越来越多地朝着使用大数据训练大型模型的方向发展,这种解决方案在许多任务中展现出了卓越的性能。然而,这种方法也引入了一个迫切需要解决的问题:当前的深度学习模型基于串行计算,这意味着随着网络层数的增加,训练和推理时间也会随之增长。

论文链接:

https://arxiv.org/pdf/2407.21670

模型链接:

https://www.modelscope.cn/models/pp23dasd/ParaFormer/summary

01.论文解读

神经网络正越来越多地朝着使用大数据训练大型模型的方向发展,这种解决方案在许多任务中展现出了卓越的性能。然而,这种方法也引入了一个迫切需要解决的问题:当前的深度学习模型基于串行计算,这意味着随着网络层数的增加,训练和推理时间也会随之增长。如果深度学习模型继续加深,这种增长将是不可接受的。因此,本文提出了一种基于动态通用近似定理(DUAT, Dynamic Universal Approximation Theorem)的深度学习并行化策略。在此基础上,我们设计了一个名为 Para-Former 的并行网络来测试我们的理论。与传统的串行模型不同,Para-Former的推理时间不会随着层数的增加而增加,从而显著加速了多层网络的推理速度。实验结果验证了该网络的有效性。

02.背景

目前,深度学习正朝着更大规模的模型和数据集发展,这一趋势是由诸如 ChatGPT和 ViT 等模型的成功所驱动的。这些大型模型相比之前的模型性能显著增强。根据DUAT2LLMs[3] 和 DUAT2CVs[2] 的研究,基于残差的卷积神经网络(CNN)和Transformer模型本质上都是 DUAT 函数。DUAT能够基于输入数据进行动态函数逼近。从 DUAT 的角度来看,更大的模型具备更强的动态拟合能力。因此,向更大模型发展无疑是深度学习的未来方向,而大规模的数据集对于训练这些模型至关重要,以确保它们的近似结果能够尽可能准确的逼近现实世界。根据[1], ViT-B/16的吞吐量是85.9张图像每秒(V100 GPU),假设共有一亿图像,一个batch大小为32,粗略估算训练1个epoch大概要10个小时。平均每层需要花费0.625个小时,当层数增加到1600层时,粗略估算训练1个epoch大概要1000个小时,这显然是不可接受的。

然而,这种向更大模型和数据集发展的趋势不可避免地导致了对计算资源需求的增加和训练时间的延长。尽管硬件技术如 GPU 和 TPU 有所进步,但时间成本的增长仍然是一个重大障碍。电信号传输速度有限,而网络的理论规模却没有上限。随着网络层数增加,训练时常将不断增长。所以随着深度学习的发展,这个问题对网络规模的限制必然越来越严重。

当前的解决方案包括模型优化技术,例如量化 、剪枝 和知识蒸馏 。此外,专用加速器 和边缘计算以及并行和分布式计算提供了潜在的解决方案。然而,这些方法无法从根本上解决由于网络层数增加而导致的推理延迟问题。根本原因在于现有深度学习模型的串行计算机制,其中一层的输出作为下一层的输入。这种设计在层数较少时是可接受的,但现代网络中不断增加的深度和参数数量已经造成了一个关键问题:由于推理过程中需要逐层顺序计算,导致计算效率低下。这种方法不可避免地会导致延迟,随着网络深度的增加,延迟会更加严重,极大地限制了计算机视觉和自然语言处理技术的发展。

因此,探索深度学习网络的并行化技术——使多个层之间能够并行计算——对于加速推理、克服时间瓶颈以及推动计算机视觉和自然语言处理技术向更高的效率和速度发展至关重要。为了开发这样的并行网络,我们基于 UAT,结合 DUAT [2,3] 提出了并行网络设计的基础方法论。为了验证我们的理论,我们基于现有的 ViT 架构设计了一个并行网络 Para-Former。我们的贡献包括:

- 提出了解决大模型并行计算导致训练效率低下的根本性解决方案:并行网络。

- 基于 DUAT 提出了一种并行网络设计方法。

- 设计并实现了Para-Former,验证了该理论的有效性。

03.理论基础

3.1 基于UAT设计并行网络

为了提出一种可行的网络并行准则,我们从深度学习根本理论:通用近似理论(UAT, Universal Approximation Theory)出发,逐步讨论如何建立一个可行的并行网络。UAT的数学形式如下:

根据UAT的数学形式,很容易设计如图1.b中的并行网络,而图1.a则是一个串行网络。很明显图1.b中的网络是并行计算,所以计算速度不受网络层数的影响(定义一个block为1层)。

图1. 串行网络和并行网络的一般性对比

但是这种网络设计有一个缺陷那就是性能差,此网络可以简单的理解为感知机网络。

3.2 基于DUAT的的并行网络

根据[2,3],基于残差连接的多层Transformer网络本质上是DUAT函数,而DUAT函数可以根据输入动态拟合到对应结果,所以我们可以利用Transformer网络中的基本模块取代图1中的block。基于此我们设计了图2和图3的Para-Former-1-n和Para-Former-m-n。

图2. Para-Former-1-n:表示深度为1的n层的Para-Former网络。其中TF表示Transformer模块。

图3. Para-Former-m-n:表示深度为m的n层的Para-Former网络。

04.实验验证

为了验证并行网络的可行性,我们从三个角度进行了验证:并行层数的增加是否能提高模型性能,网络深度对模型性能的影响和数据对模型的影响。

首先,表1展示了同深度下网络层数对网络性能的影响。很明显当网络深度为1时随着层数的增加,Para-Former-1-n的性能越来越好。表2展示了网络深度对性能的影响,很明显网络深度越深,层数越多网络性能越好,其中Para-F-6-24的性能最好。表3展示了数据对性能的影响,我们直接利用ViT官方给出的预训练权重作为初始权重,然后微调10个epoch,可以看出性能大大提高。

表1. Para-Former-1-n的性能。

表2. Para-Former-m-n的性能。

表3. 数据的对模型性能的影响。

05.总结

本文基于DUAT理论提出了一种利用网络并行化加速网络推理的设计思路,以解决网络规模和数据越来越大带来的训练和推理延迟问题。经过理论推导和实验我们认为这种用方案是可行的,具体内容可参考原文。

[1] Liu, Z., Lin, Y., Cao, Y., Hu, H., Wei,Y., Zhang, Z., Lin, S., & Guo, B. (2021). Swin Transformer: HierarchicalVision Transformer using Shifted Windows.2021 IEEE/CVF InternationalConference on Computer Vision (ICCV), 9992-10002.

[2] Wei Wang and Qing Li. Dynamic universalapproximation theory: The basic theory for deep

learning-based computer vision models.2024a. URL https://api.semanticscholar.

org/CorpusID:271432349.

[3] Wei Wang and Qing Li. Dynamic universalapproximation theory: The basic theory for transformer-based large languagemodels. 2024b. URL https://api.semanticscholar.org/

CorpusID:271902755.

点击链接阅读原文:并行网络

相关文章
|
8月前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
2月前
|
机器学习/深度学习 搜索推荐 安全
深度学习之社交网络中的社区检测
在社交网络分析中,社区检测是一项核心任务,旨在将网络中的节点(用户)划分为具有高内部连接密度且相对独立的子群。基于深度学习的社区检测方法,通过捕获复杂的网络结构信息和节点特征,在传统方法基础上实现了更准确、更具鲁棒性的社区划分。
79 7
|
8月前
|
存储 人工智能 搜索推荐
社区供稿 | YuanChat全面升级:知识库、网络检索、适配CPU,手把手个人主机部署使用教程
在当下大语言模型飞速发展的背景下,以大模型为核心的AI助手成为了广大企业和个人用户最急切需求的AI产品。然而在复杂的现实办公场景下,简单的对话功能并不能满足用户的全部办公需求,为此我们发布了最新版的YuanChat应用
|
7月前
|
前端开发 Java 开发工具
一款基于 Spring Boot 的现代化社区(论坛/问答/社交网络/博客)
一款基于 Spring Boot 的现代化社区(论坛/问答/社交网络/博客)
248 0
|
8月前
|
算法 数据可视化 数据挖掘
R语言社区发现算法检测心理学复杂网络:spinglass、探索性图分析walktrap算法与可视化
R语言社区发现算法检测心理学复杂网络:spinglass、探索性图分析walktrap算法与可视化
|
7月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
|
5月前
|
机器学习/深度学习 PyTorch 算法框架/工具
PyTorch代码实现神经网络
这段代码示例展示了如何在PyTorch中构建一个基础的卷积神经网络(CNN)。该网络包括两个卷积层,分别用于提取图像特征,每个卷积层后跟一个池化层以降低空间维度;之后是三个全连接层,用于分类输出。此结构适用于图像识别任务,并可根据具体应用调整参数与层数。

热门文章

最新文章