Advertisement

深度学习中的内存管理问题研究综述

阅读量:

点击上方蓝字关注我们

深度学习中的内存管理问题研究综述

马玮良 1,2, 彭轩1,2, 熊倩1,2, 石宣化1,2, 金海1,2

1 华中科技大学计算机科学与技术学院,湖北 武汉 430074

Central China University of Science and Technology's National Joint Engineering Laboratory for Big Data Technology and Systems, Departmental Key Laboratory of Service Computing Technologies and Systems, Hubei Province, Wuhan City, Postal Code: 430074

论文引用格式:

马玮良, 彭轩, 等.深度学习中的内存管理问题研究综述[J].大数据, 2020, 6(4):56-68.

Wenlong MA and co-author Xiang Peng have conducted a comprehensive review on the topic of memory management within the domain of deep learning. Their work titled "Systematic Exploration of Memory Management in Deep Learning: A Survey" was published in the Big Data Research journal in 2020. The study delves into the intricate aspects of memory management and its impact on the efficiency and scalability of deep learning models. The research is supported by an extensive literature review covering over 15 relevant studies. The findings highlight key challenges and propose innovative solutions for optimizing memory utilization across different computational platforms. This paper serves as a valuable resource for researchers seeking to enhance their understanding of memory management strategies in modern big data applications.

1 引言

互联网规模的快速扩张推动全球数据呈现爆发性增长,并呈现出海量聚集的特点。与此同时,在社交媒体与物联网等技术的支持下衍生出大量非结构化数据。而要从海量数据中提炼有价值信息所面临的挑战日益加剧。在大数据时代背景下,深度神经网络(DNN)通过大规模的数据训练实现了卓越的表现,并因此得到了快速发展的动力,在各个领域都得到了广泛的应用。

近年来,人们目睹了深度神经网络在多个领域的显著成就。这些成就归因于创新带来的突破性进展。卷积神经网络(convolutional neural network, CNN)通过建模空间模式,在计算机视觉任务中实现了当前最优的结果;循环神经网络(recurrent neural network, RNN)则在序列建模与结构预测方面表现尤为出色。模型构建中的重要性与有效性主要体现在其深度与宽度这两个关键要素上。随着模型随着depth增加、功能层级增多时,超参数选择复杂性得以显著降低。相较于模型的depth而言,则是构建过程中的另一个重要考量因素。它通过不同尺寸的卷积操作积累并增强了多样的特征图数量。

深度学习应用本质上属于计算密集型与内存密集型任务的结合体。为了提升计算能力支撑,各种专用加速设备如(GPU)、(ASIC)、(FPGA)以及(TPU)等得到了广泛应用。构建更为复杂的深度神经网络体系能够实现更高的精度水平,在这一过程中需要面对来自各方面的技术挑战。例如,在训练过程中采用了包含768个隐藏层的设计方案以提升模型性能的同时,《BERT》类模型还消耗了相当可观的内存资源(批处理大小为64)。值得注意的是,在实际应用中高性能GPU内存资源相对匮乏,《NVIDIA》V100系列 GPU 提供的最大内存容量仅为32 GB,在主流商用云计算 GPU 类型中则进一步受限至16 GB级别。这种硬件资源限制给研究人员探索更先进的模型架构带来了诸多障碍。目前已有若干研究重点围绕新型存储系统在大数据环境下的应用进行了深入探讨,并提出了相应的解决方案框架。其中一项重要工作是由王孝远等人发起的研究项目——从体系结构与系统软件两个维度全面分析了当前异构内存系统的应用现状与优化方向,并提出了多项创新性优化方法论;此外还有学者对大数据环境下存储系统的构建问题进行了深入剖析,并对未来研究方向进行了展望;李鑫团队则着重从混合存储架构的角度出发对现有技术体系进行了全面评估与改进设计。本文将重点聚焦于从深度学习角度解析系统级内存管理问题,并基于现有研究成果提出一系列创新性解决方案。

在大规模深度学习体系的发展进程中,内存管理问题扮演着关键角色。在当前深度学习系统研究领域中,内存管理问题被视为一个亟待解决的核心议题。本文旨在探讨基于深度神经网络的基本特性及其训练机制,在此基础上系统地分析现有内存管理方案的技术特点与性能瓶颈,并从技术角度对现有方案进行深入比较。同时通过对现有解决方案的优缺点进行全面评估的基础上对未来可能的研究方向进行深入探讨

2 背景介绍

2.1 DNN的结构及训练过程

深度学习体系(Deep Learning Frameworks)通常由多个不同类型的基本单元按层次架构构建而成

本文采用一个典型的卷积神经网络来详细阐述DNN模型结构。如图1所示。经过训练后能够完成推理或分类任务。模型能够运用正向传播与反向传播算法来进行学习,并不断优化其各个层的权重参数。

在进行正向传播和反向传播时,它们的遍历方向及所需执行的操作存在差异。与之相对的是反向传播的过程,则从相反的方向依次展开。在这一过程中,在正方传输的过程中所涉及的所有步骤中所涉及的所有步骤中所涉及的所有步骤中所涉及的所有步骤中所涉及的所有步骤中所涉及的所有步骤中所涉及的所有步骤中所有这些步骤均会对整个神经网络的所有层级展开操作。这些层级之间的关系决定了数据如何被转换并最终完成目标任务——即实现图像分类的目标。具体而言,在这个过程中每一步骤中所涉及的数学运算则会作用于当前这层的输入特征图X,并对这些数值进行处理后将其保存下来作为下一层运算的基础输出特征图Y。在线性神经网络模型中,则第N−1层生成的结果Y会被直接用作第N层的输入X。由此可见,在整个计算流程中各步骤之间存在严格的顺序性。只有当上一层已经完成运算并将结果传递给当前处理的对象时(即上一层已经完成运算并将结果传递给当前处理的对象时),才能开始相应的后续操作并最终完成目标任务——即实现图像分类的目标。

对于未经过充分训练的DNN而言,在进行推理时可能无法准确判定图像类别。因此,在进行正向传播运算后为了衡量推理误差的大小笔者采用了损失函数来进行计算具体而言损失函数在运算结束后其梯度可以通过对最后一层输出值进行计算来获得:

根据式(1),可得最后一层输出结果对应的梯度为d_Y。进一步地,在应用链式法则推导后可知最后一层输入相应的梯度为d_X

根据式(2)可知,在计算第N层输入变量X对应的梯度值dX时所需内存空间主要涉及以下几个部分:首先是输入/输出变量对应的误差项之间的关系映射(即dY和dX),其次是该神经元激活函数作用下当前神经元输入变量与输出变量之间的特征映射关系(即X和Y)。在线性网络中,默认情况下将求解得到的第N层节点对应的误差项增量直接传递给上一层节点作为当前节点误差项增量的基础来源项。类似于正向传播过程,在演算权值参数更新方向时也会用到链式法则来推导各权重参数对应的误差增量,并将其逐步累加到相应的权重参数中去完成模型优化训练任务的过程中的一环步骤。这个过程与正向传播相似,在反向传播过程中会对各个中间节点所对应的误差项增量进行逐级处理并最终完成模型参数更新工作

2.2 深度学习中的内存管理问题

近年来随着技术进步的推动机器学习框架呈现出爆炸式增长的趋势包括TensorFlowTheanoPyTorch和MxNet在内的这些工具集集成了多种功能模块在缩短开发周期的同时显著提升了模型训练效率然而在内存管理和资源优化方面的不足仍是当前研究的重点

图1 CNN模型的训练过程

现有机器学习框架在处理DNN训练时, 为了提升性能效率, 在加速设备处理DNN时, 所有层所需的内存必须被容纳。然而, 因为各层之间存在数据依赖关系, 加速设备在任何时候只能处理单个计算层。因此, 神经网络的训练过程是分层次进行的。尽管如此, 整个神经网络的内存分配策略未能充分考虑DNN分层训练的特点, 这对内存资源造成了不必要的浪费。要使神经网络达到理想化的训练效果, 通常需要经过数百万甚至数亿次迭代。基于随机梯度下降算法实现的数据加载通常采用批处理形式以减少显存占用, 这有助于加快模型收敛速度但会增加显存压力随着深度和广度并重发展的现代深度学习架构对显存需求提出了更高要求

一些系统如DistBelief等尝试将神经网络模型进行分割以便将其分布在多个GPU上执行分布式训练。这种训练模式一般被称作模型并行它能有效地缓解单个加速设备的内存压力尽管多GPU之间频繁通信以更新模型参数其性能仍然较为低下。

因此,在为了解决现有内存分配策略导致的内存浪费问题的前提下,我们需要通过有效的内存管理技术来优化资源利用效率。这种优化将帮助我们以最大限度地利用加速设备提供的计算能力和受限的内存量来确保在单一加速设备上实现大规模神经网络的有效快速训练过程。

在训练过程中,加速设备中的内存主要由三个关键环节占用:一是正向传播阶段产生的特征映射存储需求;二是反向传播过程中所需的梯度映射存储量;三是卷积算法所需额外的内存空间。相比之下,在加速设备上使用的模型参数所占用的内存相对较少,并且这些参数通常处于长期运行状态,在当前计算完成之后仍能持续更新。对于这三个关键环节而言,在完成当前计算任务后即可释放前两个环节对应的临时缓存区域(即特征映射和梯度映射)。值得注意的是,在完成反向传播计算后才能释放对应层保存的特征映射占用的空间。参考文献[18]研究表明:特征映射以及卷积算法所需的空间占据了主要的缓存资源比例。因此,在当前研究领域内降低特征映射相关的内存消耗已成为一项重要课题;此外,在正向传播与反向传播这两个过程之间存在较大的时间差,在这期间如何有效管理缓存资源也带来了诸多挑战与研究价值。

在经过训练后通常部署于边缘计算设备中的神经网络模型,在进行推理阶段时可同时兼顾隐私保护和实时处理能力。然而由于多数边缘计算设备仅配备有限数量的计算资源以及内存空间,并且其中一些设备受限于能源供应,在应用过程中对能耗要求较高。与训练阶段相比,在推理阶段仅需执行正向传播运算过程这一环节无需存储中间结果数据因而对计算装置的内存需求主要集中在存储模型参数及临时运算空间上这些消耗已给边缘环境带来了较大的资源负担因此建立有效的内存管理机制亦为必要。当前研究的主要方向之一就是通过精简模型架构来降低资源消耗一方面能通过剔除冗余权重减少模型体积另一方面则能优化层与层之间的连接结构从而缩减运算流程最终实现降耗的目的

3 深度学习中内存管理的关键技术

已有诸多研究致力于减少单个设备训练神经网络时的内存占用。基于深度学习中内存管理所涉及的技术框架下,本文对若干具有代表性的研究工作进行了系统性地分类总结,并进一步分析其实现方案及其性能特点。

3.1 内存交换

该系统采用了一种称为"数据缓存机制"的技术,在GPU与主机之间实现数据交换。这种机制通过在无需使用临时变量的情况下将数据从GPU缓存空间转移至主机内存从而减少GPU缓存占用量;并将在下次访问该数据前及时将其移回GPU缓存空间以优化资源利用率。与之相比主机内存通常拥有较大的存储容量(如现代高性能服务器通常具备100GB甚至更大的主存储空间)。值得注意的是这种机制能够实现几乎所有类型的缓存操作因此显著减少了GPU缓存资源占用率并大幅提升了系统性能。特别是在理想情况下这些操作能够在计算过程中自然隐藏而不影响整体运行效率从而降低了数据传输带来的开销。

Rhu及其团队开发了一个运行时内存管理解决方案,并将其命名为虚拟深度神经网络(virtualized deep neural network, vDNN)。该方案通过将神经网络的内存使用虚拟化地分配到主存和GPU内存之间。特征映射作为中间数据体长期驻留在GPU内存中,并且消耗了大量的GPU内存资源。因此,在正向传播过程中,该系统将特征提取层输出的结果特征映射交换至主存位置以降低GPU内存量占用;而在反向传播阶段,则及时地将其交换至GPU内存量参与梯度计算过程。为了缩减传输时间开销,在实际运算中系统会将计算与数据传输操作并行执行从而有效隐藏数据移动所需时间。然而,在每一层末尾都会同时进行数据计算与传输操作即只有在两者的完成才允许系统进入下一层运算阶段这可能导致在开始下一层运算前必须等待传输操作完成这一现象可能会增加系统的整体延迟。此外由于主存与GPU内存量之间的数据交换存在固有限制速度这一限制因素可能导致两者之间的转移时间无法完全覆盖 GPU 的计算周期长度为此 researchers还注意到 卷积操作通常比激活函数与池化操作耗时更长 为了减少因频繁交换而带来的性能损失 vDNN 提供了一种优化策略即仅将 CONV 层次的操作特征映射转移至主存从而为后续的数据流动争取更多的时间窗口 以此尽可能减少由交换内存量所带来的通信延时影响 最终该方案目前仅限于基于分层架构的卷积神经网络设计

TensorFlow使用一个统一的数据流图来表示一个模型训练任务。图中的节点表示计算。在节点之间的边则保存张量信息。每个节点都由执行程序调度执行。可以将这个图看作训练任务的中间表示,因此对于模型来说,对这个图的优化是通用的和透明的。Chen等人通过修改数据流图的方式实现了内存交换的策略。根据对数据流图的分析,选择生命周期较长的特征映射作为交换到主机内存的目标,这有助于降低通信带来的开销。此外,过早地将其交换进来会加剧GPU内存的占用,而过晚地将其交换进来又会带来性能开销,因此需要选择合适的触发器来将交换出去的特征映射交换至GPU内存中。Chen等人评估了数据流图中每个节点的计算时间,以此为基础为每一个目标特征映射选择合适的触发器。优化后的数据流图可以直接在TensorFlow中运行。该方法适用于所有的神经网络模型。

Chen等人基于数据卸载与数据预取的思想开发了一种启发式调度机制来完成数据传输任务。此外作者指出不同CONV算法所需的内存空间大小存在差异因此设计了一种动态选择机制以根据当前设备内存占用情况自动选择最优配置从而实现内存占用与系统性能的双重优化。Jin等人则开发了一种基于CPU-GPU间数据迁移的层间内存复用技术该方法通过记录GPU中各层数据访问顺序并跟踪被引用频率较高的对象从而构建了训练过程中的细粒度内存访问序列以实现资源的有效利用。该方法通过动态管理内存资源提升了系统的整体性能表现

该研究团队构建了一个统一的张量存储池(...),实现了对分布资源的自动分配与回收机制。该系统还具备动态负载平衡能力,在处理大规模数据时表现出良好的扩展性。值得注意的是,在分布式环境下计算资源的时间成本具有固定性(...),因此在这种复杂场景下实现高效的算子优化仍面临诸多挑战。为此研究团队在GPU内存区域部署了一种自适应缓存机制(...)。通过引入这一机制能够在一定程度上缓解显存压力的同时显著提升整体系统的吞吐性能。

该研究团队提出了一种基于张量运算机制的GPU内存管理方案——Capuchin方案。研究表明,在现有主流机器学习框架均采用数据流图的形式执行深度神经网络模型训练过程中,计算过程主要依赖于张量运算。其中发现,在每个训练周期通常包含数百万次迭代计算任务中体现出明显的内存占用问题。进一步分析表明,在深度学习训练过程中存在以下两个典型特征:其特征表现为跨周期数据访问模式和局部性高反复数据调用特点。为此开发出一种动态自适应的内存管理算法——Capuchin算法,在主存与显卡显存之间实现了对张量对象卸载与预取操作的有效协调调度机制。通过这种机制实现对计算资源使用效率的有效提升,并在保证训练性能的同时显著降低了模型训练所需的内存占用规模。

在对神经网络训练过程中的某些特征进行观察后, 许多研究采用了内存交换的方式来处理内存管理问题, 从而使得有限的GPU内存得到充分 utilize, 并支持更为复杂的和广泛的神经网络模型进行训练的需求. 然而如何在内存交换过程中减少性能损失仍然是研究者们不断追求的目标之一, 最终实现了在保证训练性能的前提下显著降低了设备上的内存占用.

3.2 重计算

其核心理念在于将特征映射这样的中间结果在正向传播过程中及时释放,在反向传播所需的特征映射时重新进行计算以生成这些结果,并将其融入当前运算中。这种技术是一种通过减少内存消耗来提升计算效率的方法。目前有一些研究者针对神经网络训练中的内存管理问题进行了相关探索,在这一领域他们主要采用了以下策略:首先,在保证训练性能的前提下尽可能降低内存消耗,并将那些具有较低计算成本的关键中间结果作为重计算的目标点。

陈等人开发了一种称为GradientCheckpoint的方法。具体而言,该方法将神经网络划分为若干个模块,仅存储各模块对应的输出数据,舍弃了所有的中间计算结果。在反向传播过程中,若需要调用舍弃的结果,则可利用各模块保存的信息重新完成必要的计算步骤。从资源消耗角度来看,该算法所需的内存资源主要包括两方面的内容:第一是各模块输出数据所需的存储空间;第二是反向传播过程中每个模块所需的最大临时存储空间。值得注意的是,该方法通过一次额外前向运算就能显著降低整体占用内存的空间需求。在此基础上,研究者进一步探讨了如何进行神经网络的划分方案以及如何选择需要重算的目标数据,最终实现了一种优化方法:在原有算法基础上为每个模块添加一次额外前向运算就能显著降低整体占用内存的空间需求

内存开销的N层线性深度神经网络的目的。

Gruslys等将重计算技术与基于时间的反向传播算法相结合,在训练RNN时提供了一种降低内存消耗的技术方案。该方案采用动态规划策略来平衡缓存资源与重计算需求,在用户指定内存约束下实现神经网络训练。然而Chen等与Gruslys等研究者均建立在对线性计算图中各中间变量占用内存相近这一前提假设上,并未考虑不同张量的实际内存开销差异。通常存在以速度为导向与以内存为导向两种不同的重计算策略:前者选择存储所有可回溯张量以支持正向传播所需运算;后者则在每个反向传播阶段动态决定是否执行重算操作以释放部分中间结果空间。Wang团队开发的成本意识型重计算算法综合运用了这两种策略的独特优势,在保证最大内存占用情况下实现了与以内存为导向策略相当的额外运算开销。

该研究团队探讨了一种新型高效的重计算方案,并将其应用至更广泛的神经网络领域。通过运用图论的方法,在固定内存限制下最小化计算开销的问题被系统性地形式化,并采用动态规划策略找到了最优解。

在对张量访问模式进行深入分析的基础上

其有效性的高低则直接由其所遵循的具体规则所决定,在这种机制下需要明确需缓存哪些变量以及如何进行其他变量的重新计算。研究人员针对这一关键问题持续探索创新方案,在追求 lowest performance cost的同时力求实现 maximum memory capacity utilization.

3.3 内存共享

内存共享技术旨在通过分析各变量的生命周期,在多个变量间共享同一片连续的内存区域。

循环缓冲区技术则适用于那些具有非重叠生存周期的不同变量;

Chen等采用了内存共享的概念。研究者构建了一个基于变量冲突的关系图,并随后按照拓扑顺序遍历整个图结构。通过计数器来记录节点的生命历程,在当前操作的输入变量不受其他操作引用影响的情况下,则该操作的输出结果可借助置换机制实现;若节点的生命历程互不重叠,则可实现内存资源的有效复用;此外,在训练前采用静态内存分配策略以减少运行时垃圾回收开销的影响

Jin等人在处理各层次时采用了记忆复用技术。研究者提出了一个基于各层次内部独立性的记忆复用机制,在处理各层次时采用了记忆复用技术。通过分别利用正向传播与反向传播过程中的独立特性来实现资源的有效共享,在节点处的数据能够在梯度计算中被共享使用,并且这种机制使得当前处理层级所需的总存储量降低了约50%。特别适用于覆盖广泛层次分布的应用场景中采用该机制后不仅显著降低了总存储量而且还能提高整体效率进一步发现,在深度神经网络中计算资源与存储需求均呈现出逐级递增的特点因此对于来自不同层次的操作而言可以重复地使用相同的存储介质

通过对其张量生命周期的深入研究,王等人为其实现了一种新的设计思路:成功实现了不同时间段内使用的多个张量能够共享同一块显存资源

内存共享长期以来一直是降低内存占用的一种常用方法。在深入研究数据结构生命周期的基础上,能够较为有效地实施内存共享策略。当前主流的机器学习框架普遍采用了这一策略。

3.4 压缩

在深度学习中采用压缩算法实现变量存储的空间缩减是一种常用策略,在训练阶段通过这种方法有助于减少内存占用;而在推理阶段则需要将神经网络模型进行优化以适应内存受限的边缘设备需求为此研究者提出了模型剪枝和量化等技术

vDNN技术能够有效地解决深度神经网络在训练过程中占用GPU内存较高的问题,并使深度神经网络模型能够在单一GPU上实现训练过程。然而,在PCIe总线带宽有限的情况下,在CPU与GPU之间传输数据的时间往往超过反向传播算法所需的时间周期性导致系统性能出现显著瓶颈。针对这一挑战性问题,Rhu等研究者[28]成功开发了一个压缩直接内存访问引擎(compressing direct-memory-access, cDMA),该引擎通过降低交换数据结构大小的方式显著降低了PCIe带宽不足所导致的性能损失程度。研究者注意到,广泛应用于深度神经网络中的ReLU激活函数所产生的可交换数据具有明显的稀疏特性以及高度可压缩性特征;cDMA引擎正是利用了这种特性,实现了平均2.6倍(最大可达13.8倍)的数据压缩比值,从而将vDNN系统的性能提升了约53%(最高可达79%)。由于ReLU激活函数在卷积神经网络(CNN)中被广泛应用,cDMA引擎在提升CNN模型性能方面表现出色,但在其他类型的神经网络模型上的应用效果则较为一般

Jain等人基于训练过程中的特征映射开发了一种高效的分层编码机制以降低训练内存占用。研究者发现ReLU后池化层的输出数据可以用单一比特精确表示之前的32比特数据这种编码方案实现了32倍的数据压缩效果同时CONV层后的ReLU激活输出呈现高度稀疏特征从而实现了高效的稀疏格式存储以降低内存占用量在保持网络精度的前提下研究者通过对DNN数据流图进行静态分析筛选出最适合该压缩策略的编码方式并在原有数据流中嵌入相应的编解码函数构建了新型数据流架构

Han等学者提出了"深度压缩技术"及其具体实现方案,在神经网络优化领域取得了重要突破。该技术主要包含模型剪枝、参数量化以及哈夫曼编码三个关键步骤。首先进行模型剪枝,在正常的网络训练过程中学习并识别连接性特征,并删除权重值低于阈值的连接;随后对网络进行再训练以获取稀疏连接的关键权重值;接着实施参数量化策略缩减每个权值所需存储的二进制位数;此外通过权值共享机制减少有效存储的数量并配合微调优化保证训练精度;最后采用哈夫曼编码进一步优化网络模型的数据压缩效率。研究结果表明通过该方法可以使AlexNet数据量降至6.9 MB同时将VGG16的数据规模缩减至11.3 MB实现了神经网络在智能手机等边缘设备上的高效部署

采用的方法不仅适用于Rhu等人和Jain等人的研究方案,还广泛应用于多种场景,均能有效减少DNN在训练阶段所消耗的内存资源.然而,仅限于那些具备高稀疏度特征的数据进行压缩处理,这将限制其应用范围,通常需要结合其他优化策略才能达到理想效果.另一方面,Han等人的研究重点在于降低DNN在推理阶段所需的内存资源消耗,从而实现了将其部署至边缘计算设备的目标.尽管能够显著节省存储空间,但这些方法可能会不可避免地影响模型训练精度.尽管能够显著节省存储空间,却可能导致性能下降的问题一直受到关注.

这些解决方案应用了不同的内存管理技术,各有优点和缺点 ,具体见表1。

4 结束语

本文深入探讨了深度神经网络的核心特性及其内在机理,并对当前主流的深度学习训练方法进行了系统性研究。该文不仅指出了现有技术中存在的主要局限性与挑战,并且从理论层面提出了若干创新性的解决方案与优化方向。
在人工智能快速发展的背景下,
为了实现这些复杂且大规模的深度神经网络模型的训练和部署需求,
这一需求为系统的内存管理和计算资源分配带来了严峻考验。
为此,
本研究重点聚焦于优化系统级资源分配策略,
并在此基础上提出了一种新型的数据调度机制。
该机制通过动态平衡各参与环节间的负载分配,
从而显著提升了整体系统的运行效率与处理性能。
具体而言,
本研究主要针对的是多层嵌入式计算架构中的关键组件进行优化设计。
其中,
主要的技术创新点体现在以下几个方面:
一是提出了基于智能调度算法的数据预处理优化方法;
二是开发了一种新型分布式存储架构,
用于有效缓解大规模数据存储所带来的带宽瓶颈问题;
三是构建了一个实时反馈式的资源动态均衡机制,
从而实现了对系统运行状态的有效监控与快速响应能力提升。

综上所述,在深度学习中进行内存管理面临一些新的难题和机遇。作者进行了归纳总结。

基于虚拟内存实现的内存管理方案中采用了特殊的内存交换与共享技术。这些技术通过构建虚拟化后的物理内存空间来扩展加速设备固有内存资源容量的同时提升了整体资源利用率。在内存交换技术中采用交换单元大小作为关键性能指标发现页面级交换单元导致系统运行效率较低而张量级交换单元则能以更精细粒度进行管理从而显著提升了系统性能表现然而张量级交换单元并非最优选择未来研究仍需探索更为优化的交换单元划分策略以进一步提升系统运行效能此外系统的全局性管理策略同样具有重要影响它直接决定了系统内存在占用效率的最大化目前研究主要集中在这一领域但尚未找到一个既能平衡存在占用又能保证计算性能达到最佳水平的整体性解决方案

该系统采用压缩技术构建内存管理方案,在当前工作中仅限于特定层产生的数据结构应用范围。这类数据结构具有稀疏性及高度可压缩的特点,然而这类数据结构是由特定算法生成的结果。这对压缩技术的应用带来了诸多限制。随着深度神经网络的发展趋势显现,研究者们不断探索新的算法策略以期从数据中获取更多有价值的信息内容,并通过设计新型网络架构来提升模型性能水平

● 深度学习编译器优化。深度学习系统的编译器旨在提高系统性能、优化内存使用以及提高模型的可移植性。编译器框架有机会分析和调度内存的使用,消除许多中间变量产生的不必要的内存空间,优化内存使用。这为解决深度学习系统中的内存管理问题提供了新的思路。目前在这方面已经有了一些研究,比如谷歌公司提出的XLA编译框架,用于优化TenosrFlow中计算的子图,可提高计算性能,优化内存占用。但是现有的研究还有很多问题需要解决,距离实现理想的编译器框架构想还有很长的路要走。

**作者简介
**

某人(1996-):男性;该校计算机科学与技术学院的研究生;其主要研究领域集中在新架构下的深度学习系统优化方面

彭轩(1995年以后),男性身份者,在华中科技大学计算机科学与技术学院就读于在读博士学生阶段,并将主要研究领域集中在分布式深度学习系统平台方面。

熊倩(1997-),女性,在华中科技大学计算机科学与技术学院攻读硕士学位期间,则其主要研究领域集中在联邦学习这一前沿技术领域。

石宣化(b.1978),男性博士毕业于华中科技大学计算机科学与技术学院,在该校担任教授一职。他/她在大数据技术与系统国家地方联合工程研究中心担任副主任职务。他的主要研究领域集中在并行计算与分布式系统以及多核体系结构与系统软件的研究方面。目前的研究重点包括云计算与大数据处理技术以及异构并行计算等前沿领域。

男博士金海(1966-)教授职位由华中科技大学授予长江学者专项人才荣誉称号并被授予中国计算机学会终身会士国际计算机协会 fellow身份国际知名电气电子工程师协会 fellow头衔以及国际计算机协会终身会员身份。该院院长职位由武汉大学指定而其在任期间负责指导网络安全战略与发展研究院的工作。他同时担任着华中科技大学大数据技术与系统国家地方联合工程研究中心主任以及服务计算技术与系统教育部重点实验室主任等重要职务。在A.I.基础理论与应用研究方面他着重关注云计算大数据存储集群计算网络性能优化等前沿科技领域并取得了显著的研究成果

往期文章回顾

《大数据》期刊在第4期特别策划了"数据驱动创新"主题专辑
该期刊第4期推出了多篇与数据驱动创新相关的文章

学习指南:大数据异型并行处理体系综述文章

基于GPU的交易性内存技术分析

大规模异构数据并行处理系统的架构设计、开发实现及应用实践

面向大规模异构数据处理平台的神威并行存储架构

面向异构多核高性能计算平台的大规模稀疏运算性能提升研究


联系我们:

Tel: 010-81055448

010-81055490

010-81055534

E-mail: bdr@bjxintong.com.cn

bash
http://www.infocomm-journal.com/bdr
]
CN/2096-0271/home.shtml

http://www.j-bigdataresearch.com.cn/

转载、合作: 010-81055537

大数据期刊

《大数据(Big Data Research, BDR)》双月刊由中国工业和信息化部归口管理, 由中国计算机学会推荐, 并由北京信通传媒集团负责出版。该期刊经入选中文科技核心期刊等 prestigious platforms, 并荣获2018年国家哲学社会科学文献中心数据库‘综合性人文社会科学’学科最优排行榜位置。

关注《大数据》期刊微信公众号,获取更多内容

全部评论 (0)

还没有任何评论哟~