CN112199189A - 深度学习模型对资源受限边缘设备的适应 - Google Patents
深度学习模型对资源受限边缘设备的适应 Download PDFInfo
- Publication number
- CN112199189A CN112199189A CN202010649975.2A CN202010649975A CN112199189A CN 112199189 A CN112199189 A CN 112199189A CN 202010649975 A CN202010649975 A CN 202010649975A CN 112199189 A CN112199189 A CN 112199189A
- Authority
- CN
- China
- Prior art keywords
- models
- model
- generating
- performance
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013136 deep learning model Methods 0.000 title claims abstract description 16
- 230000006978 adaptation Effects 0.000 title description 2
- 238000013135 deep learning Methods 0.000 claims abstract description 166
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000006870 function Effects 0.000 claims abstract description 55
- 230000003864 performance function Effects 0.000 claims abstract description 40
- 238000012549 training Methods 0.000 claims abstract description 29
- 239000013598 vector Substances 0.000 claims abstract description 24
- 238000003860 storage Methods 0.000 claims description 23
- 238000012360 testing method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000001052 transient effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 17
- 238000011156 evaluation Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- IAXXETNIOYFMLW-UHFFFAOYSA-N (4,7,7-trimethyl-3-bicyclo[2.2.1]heptanyl) 2-methylprop-2-enoate Chemical compound C1CC2(C)C(OC(=O)C(=C)C)CC1C2(C)C IAXXETNIOYFMLW-UHFFFAOYSA-N 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008094 contradictory effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
描述了用于生成深度学习(DL)模型的集合的技术。示例方法包括使用训练数据来训练DL模型的初始集合,其中基于参数向量来确定DL模型中的每一个的拓扑。该方法还包括基于边缘相关度量的集合为初始集合中的DL模型中的每一个生成估计性能函数的集合,以及基于估计性能函数的集合生成多个目标函数。该方法还包括基于目标函数生成最终DL模型集合,接收对从最终DL模型集合中选择的DL模型的用户选择,并将所选择的DL模型部署到边缘设备。
Description
背景技术
本公开涉及用于生成深度学习模型的技术。更具体地,本公开描述了用于生成深度学习(Deep Learning,DL)模型以部署到资源受限边缘设备的技术。
发明内容
根据本文描述的实施例,一种用于生成深度学习(DL)模型的集合的系统包括存储设备,用于存储包括训练数据、参数向量和边缘相关度量的集合的训练语料库。该系统还包括处理器,用于使用训练数据来训练DL模型的初始集合,其中基于参数向量来确定DL模型中的每一个的拓扑。处理器还基于边缘相关度量的集合为初始集合中的DL模型中的每一个生成估计性能函数的集合,基于估计性能函数的集合生成多个目标函数,并基于目标函数生成最终DL模型集合。所述处理器还被配置为接收对从最终DL模型集合中选择的DL模型的用户选择,并将所选择的DL模型部署到边缘设备。
在一些实施例中,一种生成深度学习(DL)模型的集合的方法包括在训练数据上训练深度学习(DL)模型的初始集合,其中基于参数向量来确定DL模型中的每一个的拓扑。该方法还包括基于边缘相关度量的集合为初始集合中的DL模型中的每一个生成估计性能函数的集合,基于估计性能函数的集合生成多个目标函数,以及基于目标函数生成最终DL模型集合。该方法还包括接收对从最终DL模型集合中选择的DL模型的用户选择,并将所选择的DL模型部署到边缘设备。
在又一实施例中,一种用于生成深度学习(DL)模型的集合的计算机程序产品包括具有体现在其中的程序指令的计算机可读存储介质,其中计算机可读存储介质本身不是瞬态信号,并且其中程序指令可由处理器执行。程序指令使得处理器使用训练数据来训练DL模型的初始集合,其中基于参数向量来确定DL模型中的每一个的拓扑,该参数向量为DL模型的初始集合中的每个模型指定层数和每层的节点数。程序指令还使得处理器基于包括推理时间、模型大小和测试准确度的边缘相关度量的集合,为初始集合中的DL模型中的每一个生成估计性能函数的集合,基于估计性能函数的集合生成多个目标函数,并基于目标函数生成最终DL模型集合。程序指令使得处理器接收对从最终DL模型集合中选择的DL模型的用户选择,并将所选择的DL模型部署到边缘设备。
附图说明
图1是示出根据本文描述的实施例的生成用于在资源受限边缘设备上部署的DL模型的集合的示例方法的过程流程图;
图2是根据本文描述的实施例的示例计算设备的框图,该示例计算设备被配置为生成用于在资源受限边缘设备上的部署而优化的DL模型的集合;
图3是根据本文描述的实施例的生成用于在资源受限边缘设备上部署的DL模型的集合的示例方法的过程流程图;
图4描绘了根据本文描述的实施例的说明性云计算环境;和
图5描绘了根据本文描述的实施例的由云计算环境提供的功能抽象层的集合。
具体实施方式
由于物联网(IoT)和智能边缘设备的快速发展,对在有限存储器和计算能力的资源受限边缘设备上实现深度学习(DL)算法的需求日益增加。对存储器存储和计算能力的巨大需求阻碍了深度学习模型在这种资源受限设备上的部署。传统的深度学习方法聚焦于单个目标设置,其中学习算法根据单个性能标准(例如损失函数)或启发式函数进行优化。这些方法的基本假设是,对单个目标的优化可以提高模型分类的整体性能,并满足各种应用的需求。
在资源受限设备上加速DL模型的一种常见方法是压缩模型,以减少其资源和计算需求。然而,这种方法可能会导致精度损失。其他方法涉及将一些或全部计算卸载(offloading)到云服务器。然而,由于隐私限制,这并不总是可能的,诸如当通过网络发送敏感数据是禁止的,以及延迟,其中快速和可靠的网络连接并不总是得到保证。此外,这两种方法都没有考虑不同资源相关目标之间的不同权衡(trade-off),仅限于神经网络体系结构,并且通常忽略一些基本的超参数(hyper-parameter)优化问题,因为它们专注于复制原始模型的性能,而不管什么是捕获与预测结果相关的相关数据模式的最重要的超参数,以及什么是超参数的好值。例如,压缩相关方法聚焦于寻找最小的可能的神经网络,该网络能够最准确地表示它应该学习的东西,而涉及将计算卸载到云服务器的方法旨在适应深度模型的划分点以获得最佳延迟和能量消耗。此外,这些方法并不使模型结构适应给定边缘设备的特性,而是试图通过寻找作为全局优化问题的单个解(solution),以准确度或延迟的最小成本来操纵模型结构。
本公开描述了用于生成具有DL模型结构的最佳拓扑的DL模型的技术,该技术在给定边缘上就其资源限制而言产生最佳性能。本文描述的技术通过在边缘处提供对有限计算和资源的更有效利用来提高学习性能。这使得能够在具有有限存储器和计算能力的资源受限边缘设备上部署诸如深度神经网络(DNN)的DL模型,同时平衡多个不一致目标之间的权衡,这样,在提高准确度的同时减小模型大小。
根据本技术,针对给定的训练和测试集,相对于DL模型的参数的不同值,评估感兴趣的模型性能度量(Si)。那些感兴趣的度量是指边缘设备的不同资源限制,诸如DL模型大小、推理时间、准确性等等。DL模型的性能在涉及感兴趣的度量的多个目标上被优化(多目标优化),从而使模型适应给定的边缘。在多目标优化过程中,每个目标对应最优解。因为优化目标可能是不一致的,甚至是冲突的,所以不能识别在所有目标上都是最优的单个的解。因此,不同的权衡被并入多个目标之中。这产生了非支配的(non-dominated)DL模型解的集合,根据多个目标之间的不同权衡,每个解都是最优的。然后,考虑到资源限制,用户可以从给定边缘的解集中灵活地构建各种预测模型。
本文描述的技术使得能够开发DL模型,该模型通过结合关于模型属性的先验知识,在适合给定边缘的各种不同权衡之间提供了良好的权衡,其中该模型属性在给定特定边缘约束的情况下非常适合给定分类任务。减小搜索空间的大小和简化搜索是通过执行实验的集合来快速找到性能良好的模型体系结构来完成的,而收敛到最优模型体系结构的区域是通过将多目标优化应用于用于DL模型的估计性能函数的集合来实现的。
图1是示出了生成用于在资源受限边缘设备上部署的DL模型的集合的示例方法的过程流程图。该过程可以在任何合适的计算系统中执行,诸如服务器、台式计算机、云计算节点等。该过程可以从框102开始。
在框102,DL模型的集合被训练和评估。使用训练数据集104和测试数据集106来训练DL模型。DL模型中的每一个的拓扑由参数向量108确定,参数向量108确定DL模型中的每一个的特征,诸如层数、每层的节点数等。DL模型中的每一个还与边缘相关度量的集合110相关联。边缘相关度量110用于估计性能函数。例如,可以通过在给定的DL模型上运行实验的集合来估计性能函数,以估计作为模型参数的函数的边缘相关度量行为。
训练数据集104包括向量x和标量y,向量x被视为DL模型的输入,标量y是模型的期望输出。为了便于学习,每个模型在其参数向量w上为每个数据集定义了损失函数。损失函数捕捉模型在训练数据上的误差,并且模型学习过程是最小化训练数据样本集合上的损失函数。在本技术的实施例中,通过考虑多个不一致目标之间的权衡,模型结构适合于给定的边缘设备,这些目标与该边缘的资源限制内在相关,同时最小化训练模型的损失函数。对于给定的边缘相关度量的集合,Si,优化了以下向量函数:
w=(w1,w2,…,wn)
总的来说,多个目标是相互矛盾的。因此,可以计算所有可能的权衡的帕累托前沿(Pareto front),以在考虑所有多个目标的情况下识别最优DL模型。问题的表述涵盖两个空间:n维决策空间,表示为Ω,其中决策变量共存,并且其中每个坐标轴对应不同的模型参数;和m维目标空间,表示为Λ,其中目标函数共存,并且其中每个坐标轴对应于不同的资源限制相关的性能函数,例如,向量F(w)的不同分量。例如,对于m=4,我们的问题可以表述如下:
最小化{floss(w)}
最小化{ftest_inf(w)}
最小化{fmodel_size(w)}
最小化{ftest_acc(w)}
受制条件是{w∈Ω:w1<w<w2}。其中floss(w)是损失函数,ftest_inf(w)是测试集推断时间,fmodel_size(w)是模型大小,ftest_acc(w)是对于给定的参数值w的集合的测试集的准确度。然后学习问题是找到最小化F(w),其中w是参数向量(即w*=arg min F(w))。由于目标可能相互矛盾,没有单个值的集合同时达到所有目标的最优值。在求解这个多目标优化问题之后,可以根据帕累托最优来定义目标之间的最佳权衡。保持多样性的多目标优化问题的好的解被期望收敛到帕累托前沿。在模型选择阶段,可以将用户偏好作为多优化问题的约束条件或附加目标函数来考虑。
该过程的第一步在学习和评估框102执行。框的输入包括训练集Ds、测试集Dt、参数向量wi和边缘相关度量Sm。DL模型的训练是迭代过程,通过该迭代过程,在每次迭代之后,DL模型的权重将被调整,以最小化损失函数。测试集是数据的集合,用于在训练完成后对DL模型进行验证。参数向量描述n个DL模型中的每一个的参数。例如,参数向量可以指示DL模型中的每一个的层数和每个层的节点数。在学习和评估框102,将训练n个DL模型的集合,其中DL模型中的每一个在为该DL模型定义的参数向量方面是不同的。另外,可以根据每个参数值的边缘相关度量来评估每个模型,例如,推断时间对不同的内核(kernel)大小值,或者模型大小对不同的层数值。
接下来在框112,为每个训练的DL模型计算m个估计性能函数的集合。每个性能函数是为每个边缘相关度量(例如,推理时间、模型大小等)计算的值的集合。例如,可以训练三个DL模型,一个使用两层,一个使用四层,以及一个使用六层。估计性能函数描述了根据感兴趣的边缘相关度量,这些DL模型的性能如何在整个参数范围内改变。因此,估计性能函数可用于识别用于给定目标的最佳DL模型参数,诸如最小化推理时间、最小化模型大小。由学习和评估框执行的过程的伪代码示例如下所示。
输入:
Dt:训练数据集
Ds:测试数据集
wn:参数向量
n′:采样点数量
Sm:边缘相关度量
输出
Ψ:模型集合
yw:性能函数
过程:
在框114,在框112计算的性能函数估计被用于执行多目标优化。在框114,处理估计性能函数以识别最优DL模型。为了识别DL模型,性能函数估计被处理以识别最优模型参数,受制条件是用于训练DL模型的约束的集合。对于每个边缘相关度量,基于为DL模型计算的估计性能函数来计算目标函数的集合,并且处理目标函数以识别最优DL模型。例如,可以基于由目标函数计算的DL模型参数对DL性能的图来计算帕累托前沿,并且可以通过识别帕累托前沿上的目标函数的最大值或最小值来识别最优DL模型。由学习和评估框执行的过程的伪代码示例如下所示。
输入:
f(w):目标函数(f(w)={y(w)}s)
Ψ:模型集合
输出:
Ψ(P)
过程:
通过考虑基数度量(C)、准确度度量(A)和多样性度量(D)来选择帕累托最优模型集合Ψ(P*)。
返回Ψ(P)
在上述过程中,基数度量是指存在的MOP(多目标优化,Multi-Objectiveoptimization)解的数量,准确度度量是指解的收敛性,其可以通过解与理论帕累托最优前沿的距离来估计,并且多样性度量是指解的分布和扩散,而扩散是指解所覆盖的值的范围。在框114执行的多目标优化(MOP)产生优化的DL模型的集合116。优化模型是非支配解,根据多个目标之间的权衡,其是最佳的。可以存储DL模型,用于进一步评估和最终选择,以便在边缘设备中使用。
在框118,评估在框114识别的DL模型,以确定得到的DL模型相对于预期性能函数的性能。例如,在框114执行的目标函数的分析可以指示具有三层的模型提供最低的推断时间。然而,这可能基于在两层和四层采样的性能函数。因此,可以验证三层DL模型的性能,以确保得到的DL模型的实际性能接近估计的性能。如果实际性能与估计的性能相差指定的阈值,则性能函数被校正,并且MOP再次运行,从而产生对DL模型的参数的更准确的估计。
为了评估DL模型,使用新的DL模型参数来训练DL模型中的每一个。对于每个新的DL模型,为每个边缘相关度量计算新的估计性能函数。然后,在框114,将新的估计性能函数与为DL模型计算的相应目标函数进行比较。如果新的估计性能函数和得到的DL模型性能函数之间的差超过阈值(本文称为边缘相关误差标准),则性能函数被修改,并且MOP再次运行。因此,生成了新的DL模型的集合,取代了先前得到的DL模型的集合。根据多个MOP目标之间的不同权衡,新得到的DL模型的参数更优。然后可以重复在框114执行的过程。任何新的更新的DL模型都可以被存储并代替DL模型的先前版本。由学习和评估框执行的过程的伪代码示例如下所示。
输入:
Dt:训练数据集
Ds:测试数据集
Ψ(P):模型集合
N:参数向量
N:模型数量
l:标签
Sm:边缘相关度量
ζm:边缘相关误差标准
输出
过程:
在框120,用户可以从得到的DL模型解集116中选择一个或多个DL模型来部署在计算设备中,包括资源受限边缘设备。为DL模型计算的性能函数也可以与DL模型中的每一个相关联地存储,以便用户能够识别哪些DL模型满足用户的需求。然后,用户能够根据用户偏好的一些客观标准(诸如大小、准确度或DL模型的推理时间)来选择模型。在一些实施例中,用户可以基于优选目标选择单个DL模型。在一些实施例中,用户可以指定客观标准,并且可以根据指定的客观标准对DL模型进行排序,以便于识别要部署的合适的DL模型。
边缘设备可以是任何合适的计算设备,并且DL模型可以用于任何合适的机器学习应用。例如,DL模型可以用作分类器,其监测从麦克风或图像捕捉设备接收的输入,以识别音频或视频信号图像中特定特征的存在。边缘设备也可以是被配置用于面部识别的智能电话,并且DL模型被用作分类器,该分类器从智能电话相机接收图像以识别图像是否包括面部,包括被识别用户的面部。作为另一个示例,边缘设备可以是物联网(IoT)设备,诸如用于监测电气设备特性的IoT设备,并且DL模型可以用作识别电气设备故障模式的分类器。边缘设备也可以是在生产设施中使用的监测站,并且DL模型可以用作识别制造产品中的机械缺陷的分类器。上面提供的示例并不是穷举的,因为若干其他实现也是可能的。
在一些实施例中,DL模型的集成将被部署在边缘设备上,并且最终预测基于投票方案。例如,可以选择所有的DL模型进行部署,或者用户可以选择已经根据指定的客观标准进行了排名的多个排名靠前的模型。如果部署了DL模型的集成,则DL模型中的每一个可以基于相同的DL模型输入进行预测,并且最终预测可以根据投票方案来确定,诸如多数投票或其他。这种模型选择方法为用户提供了为用户的应用选择优选目标的灵活性,并且还可以通过集成学习提高泛化性能。
图2是示例计算设备的框图,该示例计算设备被配置为生成用于在资源受限边缘设备上的部署而优化的DL模型的集合。计算设备200可以是例如服务器、台式计算机、膝上型计算机、平板计算机或智能手机。在一些示例中,计算设备200可以是云计算节点。计算设备200可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算设备200可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算设备200可以包括适于执行存储的指令的处理器202、在操作期间为所述指令的操作提供临时存储空间的存储设备204。处理器可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器204可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器202可以通过系统互连206(例如,等)连接到适于将计算设备200连接到一个或多个I/O设备210的输入/输出(I/O)设备接口208。I/O设备210可以包括例如键盘和指示设备,其中指示设备可以包括触摸板或触摸屏等等。I/O设备210可以是计算设备200的内置组件,或者可以是外部连接到计算设备200的设备。
处理器202也可以通过系统互连206链接到适于将计算设备200连接到显示设备214的显示接口212。显示设备214可以包括作为计算设备200的内置组件的显示屏。显示设备214还可以包括外部连接到计算设备200的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)216可以适于通过系统互连206将计算设备200连接到网络218。在一些实施例中,NIC 216可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络218可以是蜂窝网络、无线电网络、广域网(WAN)、局域网(LAN)或因特网等等。远程设备220可以通过网络218连接到计算设备200。
在一些示例中,处理器202可以通过系统互连206链接到存储设备222,存储设备222可以包括训练语料库224、学习和评估模块226、多目标优化模块228、模型评估模块230、模型集合232和用户选择界面234。训练语料库224包括结合图1描述的训练数据集104、测试数据集106、参数向量108和边缘相关度量110。学习和评估模块226生成DL模型的初始集合,并对应于如上关于图1的框102描述的估计性能函数112。多目标优化模块228基于性能函数生成目标函数的集合,并评估目标函数以生成DL模型集合232,如上文关于图1的框114所述。模型评估模块230评估DL模型集合232,以验证DL模型的性能,并且如果实际性能不同于预期性能,则细化DL模型,如上文关于图1的框118所述。用户选择界面234使得用户能够根据结合图1描述的技术选择一个或多个用于部署在边缘设备上的DL模型。在一些实施例中,边缘设备可以作为远程设备220通信地耦合到计算设备。
应当理解,图2的框图并不旨在指示计算设备200将包括图2所示的所有组件。相反,计算设备200可以包括图2中未示出的更少或附加的组件(例如,附加的存储器组件、嵌入式控制器、模块、附加的网络接口等)。此外,学习和评估模块226、多目标优化模块228、模型评估模块230和用户选择界面234的任何功能部分或全部在硬件和/或处理器202中实现。例如,该功能可以用专用集成电路、嵌入式控制器中实现的逻辑或者处理器202中实现的逻辑等来实现。在一些实施例中,该功能用逻辑来实现,其中本文所指的逻辑可以包括任何合适的硬件(例如,处理器等)、软件(例如,应用等)、固件或硬件、软件和固件的任何合适的组合。
图3是生成DL模型的集合的示例方法的过程流程图。方法300可以用任何合适的计算设备来实现,诸如图2的计算设备200。
在框302,使用训练数据的集合来训练深度学习(DL)模型的初始集合。基于参数向量来确定DL模型中的每一个的拓扑,该参数向量指定DL模型的属性,诸如DL模型的初始集合中每个模型的层数和每层的节点数。
在框304,为初始集合中的DL模型中的每一个计算估计性能函数的集合。估计性能函数是基于边缘相关度量(诸如推理时间、模型大小和测试准确度)的集合来计算的。估计性能函数提供用于计算多个目标函数的采样的性能值。
在框306,基于估计性能函数的集合来计算多个目标函数。估计性能函数提供用于计算多个目标函数的采样的性能值。目标函数描述DL模型的性能特性如何由于DL模型中的每一个拓扑的改变而改变,例如层数、每层的节点数等。
在框308,基于目标函数生成最终DL模型集合。可以通过识别导致特定目标的模型参数,诸如最小化推理时间、最大化准确度等,来确定DL模型的最终集合。在一些实施例中,生成最终DL模型集合包括计算与由目标函数计算的DL模型参数对DL模型性能的图相对应的帕累托前沿。
在框310,评估最终DL模型集合中的DL模型的性能,以确定由目标函数预测的性能是否与DL模型的实际性能一致。如果由相应的目标函数预测的DL模型之一的性能与DL模型的实际性能相差阈值误差标准,则可以通过调整DL模型的拓扑并重新训练DL模型来用新的DL模型替换该DL模型。
在框312,用户可以从最终DL模型集合中选择一个或多个DL模型,用于部署到边缘设备。例如,用户界面可以使用户能够指定目标并生成排名靠前的DL模型的排名列表,这些模型根据指定的目标来排名。排名靠前的模型可以显示给用户,允许用户选择一个或多个DL模型进行部署。如果多个DL模型被部署到边缘设备,则DL模型中的每一个基于公共DL模型输入进行预测,并且最终预测基于投票方案来确定。
图3的过程流程图并不旨在指示方法300的操作将以任何特定的顺序执行,或者方法300的所有操作都包括在每种情况下。此外,方法300可以包括附加操作。在所述主题的范围内,可以对上述方法300进行附加的变化。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
现在参考图4,描绘了说明性云计算环境400。如图所示,云计算环境400包括一个或多个云计算节点402,云消费者使用的本地计算设备,诸如例如个人数字助理(PDA)或蜂窝电话404A、台式计算机404B、膝上型计算机404C和/或汽车计算机系统404N可以与该云计算节点通信。节点402可以彼此通信。它们可以被物理地或虚拟地分组(未示出),在一个或多个网络中,诸如上文所述的私有、社区、公共或混合云,或其组合。这允许云计算环境400提供基础设施、平台和/或软件即服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图4中所示的计算设备404A-N的类型仅仅是说明性的,并且计算节点402和云计算环境400可以通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备通信。
现在参考图5,示出了由云计算环境400(图4)提供的功能抽象层的集合。应该预先理解,图5中所示的组件、层和功能仅是说明性的,并且本发明的实施例不限于此。如图所示,提供了以下层和相应的功能。
硬件和软件层500包括硬件和软件组件。硬件组件的示例包括大型机,在一个示例中为系统;基于RISC(Reduced Instruction Set Computer,精简指令集计算机)体系结构的服务器;在一个示例中为IBM系统;IBM系统;IBM系统;存储设备;网络和联网组件。软件组件的示例包括网络应用服务器软件,在一个示例中是IBM应用服务器软件;和数据库软件,在一个示例中是IBM数据库软件。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere和DB2是国际商业机器公司的商标,在世界各地的许多管辖区注册)。
虚拟化层502提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器;虚拟存储;虚拟网络,包括虚拟专用网;虚拟应用和操作系统;和虚拟客户端。在一个示例中,管理层504可以提供下面描述的功能。资源供应提供计算资源和其他资源的动态采购,这些资源用于在云计算环境中执行任务。随着资源在云计算环境中的利用,计量和定价提供了成本跟踪,以及对这些资源的消费进行计费或开票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,并保护数据和其他资源。用户门户为消费者和系统管理员提供对云计算环境的访问。服务级别管理提供云计算资源分配和管理,以满足所需的服务级别。服务水平协议(Service Level Agreement,SLA)的规划和实施为为根据SLA预计未来需求的云计算资源提供预先安排和购买。
工作负载层506提供了云计算环境可用于的功能的示例。可从该层提供的工作负载和功能示例包括:映射和导航;软件开发和生命周期管理;虚拟课堂教学;数据分析处理;交易处理;和执行自然语言处理(natural language processing,NLP)技术。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种生成深度学习(DL)模型的集合的方法,所述方法包括:
在训练数据上训练深度学习(DL)模型的初始集合,其中基于参数向量确定DL模型中的每一个的拓扑;
基于边缘相关度量的集合为所述初始集合中的DL模型中的每一个生成估计性能函数的集合;
基于所述估计性能函数的集合生成多个目标函数;
基于所述目标函数生成最终DL模型集合;
接收对从所述最终DL模型集合中选择的DL模型的用户选择;和
将所选择的DL模型部署到边缘设备。
2.根据权利要求1所述的方法,包括评估所述最终DL模型集合中的DL模型的性能,以确定由所述目标函数预测的性能是否与所述最终DL模型集合中的DL模型的实际性能一致。
3.根据权利要求2所述的方法,包括在确定由所述目标函数预测的DL模型的性能与所述DL模型的实际性能相差阈值误差标准时,调整所述最终DL模型集合中的模型之一的拓扑。
4.根据权利要求1所述的方法,其中接收所述用户选择包括生成用户界面,所述用户界面使得用户能够指定目标,并且在所述用户界面处显示根据指定目标排序的排名靠前的DL模型的排序列表。
5.根据权利要求1所述的方法,包括将多个DL模型部署到所述边缘设备,并且其中所述DL模型中的每一个基于公共DL模型输入进行预测,并且最终预测基于投票方案来确定。
6.根据权利要求1所述的方法,其中基于所述目标函数生成所述最终DL模型集合包括计算由所述目标函数计算的DL模型参数对DL性能的图的帕累托前沿。
7.根据权利要求1所述的方法,其中所述边缘相关度量包括推断时间、模型大小和测试准确度。
8.根据权利要求1所述的方法,其中所述参数向量包括描述DL模型的初始集合中每个模型的层数和每层节点数的值。
9.根据权利要求1所述的方法,其中所选择的DL模型是分类器。
10.一种用于生成深度学习(DL)模型的集合的系统,包括:
存储设备,用于存储包括训练数据、参数向量和边缘相关度量的集合的训练语料库;和
处理器,用于执行根据权利要求1-9中的任一项所述的方法。
11.一种用于生成深度学习(DL)模型的集合的计算机程序产品,包括具有体现在其中的程序指令的计算机可读存储介质,其中所述计算机可读存储介质本身不是瞬态信号,并且其中所述程序指令可由处理器执行,以使所述处理器执行根据权利要求1-9中任一项所述的方法。
12.一种用于生成深度学习(DL)模型的集合的系统,所述系统包括分别用于执行根据权利要求1-9中任一项所述的方法的步骤的模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/504,353 US11928583B2 (en) | 2019-07-08 | 2019-07-08 | Adaptation of deep learning models to resource constrained edge devices |
US16/504,353 | 2019-07-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112199189A true CN112199189A (zh) | 2021-01-08 |
CN112199189B CN112199189B (zh) | 2024-09-06 |
Family
ID=74006089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010649975.2A Active CN112199189B (zh) | 2019-07-08 | 2020-07-08 | 深度学习模型对资源受限边缘设备的适应 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11928583B2 (zh) |
CN (1) | CN112199189B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022151579A1 (zh) * | 2021-01-13 | 2022-07-21 | 清华大学 | 边缘计算场景下后门攻击主动防御方法及装置 |
CN115393652A (zh) * | 2022-09-20 | 2022-11-25 | 北京国电通网络技术有限公司 | 基于对抗网络的人工智能模型更新方法、识别方法和设备 |
CN117806838A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021054614A1 (en) * | 2019-09-16 | 2021-03-25 | Samsung Electronics Co., Ltd. | Electronic device and method for controlling the electronic device thereof |
US20230177405A1 (en) * | 2019-11-07 | 2023-06-08 | Cortica Ltd. | Ensemble of narrow ai agents |
US11310141B2 (en) * | 2019-12-11 | 2022-04-19 | Cisco Technology, Inc. | Anomaly detection of model performance in an MLOps platform |
US20220171971A1 (en) * | 2020-11-30 | 2022-06-02 | Getac Technology Corporation | Artificial intelligence (ai) trained data model selection |
CN112906870B (zh) * | 2021-03-17 | 2022-10-18 | 清华大学 | 一种基于小样本的网络模型压缩云端服务方法和装置 |
WO2024069845A1 (ja) * | 2022-09-29 | 2024-04-04 | 三菱電機株式会社 | プログラマブルロジックコントローラ、推論実行システム、推論実行方法、および、プログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100057410A1 (en) * | 2008-09-04 | 2010-03-04 | Fujitsu Limited | Optimal solution relation display apparatus and optimal solution relation display method |
CN108334949A (zh) * | 2018-02-11 | 2018-07-27 | 浙江工业大学 | 一种优化深度卷积神经网络结构的快速进化方法 |
CN109325541A (zh) * | 2018-09-30 | 2019-02-12 | 北京字节跳动网络技术有限公司 | 用于训练模型的方法和装置 |
CN109711548A (zh) * | 2018-12-26 | 2019-05-03 | 歌尔股份有限公司 | 超参数的选取方法、使用方法、装置及电子设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990587B2 (en) | 2015-01-22 | 2018-06-05 | Preferred Networks, Inc. | Machine learning heterogeneous edge device, method, and system |
CN111367187B (zh) | 2015-08-27 | 2023-10-24 | 江森自控泰科知识产权控股有限责任公司 | 用于改进对分布式网络中的传感器流数据的处理的方法 |
CA3056755A1 (en) * | 2016-03-18 | 2017-09-21 | Alivia Capital LLC | Analytics engine for detecting medical fraud, waste, and abuse |
US10936969B2 (en) * | 2016-09-26 | 2021-03-02 | Shabaz Basheer Patel | Method and system for an end-to-end artificial intelligence workflow |
US10942767B2 (en) * | 2018-02-27 | 2021-03-09 | Microsoft Technology Licensing, Llc | Deep neural network workload scheduling |
WO2020040829A1 (en) * | 2018-08-20 | 2020-02-27 | Landmark Graphics Corporation | Hybrid physics-based and machine learning models for reservoir simulations |
US11200461B2 (en) * | 2018-12-21 | 2021-12-14 | Capital One Services, Llc | Methods and arrangements to identify feature contributions to erroneous predictions |
US11763154B1 (en) * | 2019-01-30 | 2023-09-19 | Amazon Technologies, Inc. | Machine learning services with pre-trained models |
-
2019
- 2019-07-08 US US16/504,353 patent/US11928583B2/en active Active
-
2020
- 2020-07-08 CN CN202010649975.2A patent/CN112199189B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100057410A1 (en) * | 2008-09-04 | 2010-03-04 | Fujitsu Limited | Optimal solution relation display apparatus and optimal solution relation display method |
CN108334949A (zh) * | 2018-02-11 | 2018-07-27 | 浙江工业大学 | 一种优化深度卷积神经网络结构的快速进化方法 |
CN109325541A (zh) * | 2018-09-30 | 2019-02-12 | 北京字节跳动网络技术有限公司 | 用于训练模型的方法和装置 |
CN109711548A (zh) * | 2018-12-26 | 2019-05-03 | 歌尔股份有限公司 | 超参数的选取方法、使用方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
刘慧;姚金阳;赵荣彩;: "基于集成学习的编译优化参数选择方法研究", 信息工程大学学报, no. 03, 15 June 2019 (2019-06-15) * |
贾嘉;慕德俊;: "基于粒子群优化的云计算低能耗资源调度算法", 西北工业大学学报, no. 02, 15 April 2018 (2018-04-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022151579A1 (zh) * | 2021-01-13 | 2022-07-21 | 清华大学 | 边缘计算场景下后门攻击主动防御方法及装置 |
CN115393652A (zh) * | 2022-09-20 | 2022-11-25 | 北京国电通网络技术有限公司 | 基于对抗网络的人工智能模型更新方法、识别方法和设备 |
CN117806838A (zh) * | 2024-02-29 | 2024-04-02 | 浪潮电子信息产业股份有限公司 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
CN117806838B (zh) * | 2024-02-29 | 2024-06-04 | 浪潮电子信息产业股份有限公司 | 基于异构数据的设备分簇方法、装置、设备、系统及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20210012187A1 (en) | 2021-01-14 |
US11928583B2 (en) | 2024-03-12 |
CN112199189B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199189B (zh) | 深度学习模型对资源受限边缘设备的适应 | |
US11836576B2 (en) | Distributed machine learning at edge nodes | |
CN110827925B (zh) | 智能个性化化学合成规划 | |
US10585718B2 (en) | Hybrid acceleration in a processing environment | |
WO2021224720A1 (en) | Determining multivariate time series data dependencies | |
US11574254B2 (en) | Adaptive asynchronous federated learning | |
US11488014B2 (en) | Automated selection of unannotated data for annotation based on features generated during training | |
CN114667507A (zh) | 使用基于应用的剖析的机器学习工作负载的弹性执行 | |
US20210064981A1 (en) | Controlling performance of deployed deep learning models on resource constrained edge device via predictive models | |
US11829496B2 (en) | Workflow for evaluating quality of artificial intelligence (AI) services using held-out data | |
WO2022235414A1 (en) | Generating confidence scores for machine learning model predictions | |
CN112330519A (zh) | 一种数据处理的方法和装置 | |
US20230259117A1 (en) | Asset health identification from multi-modality data analysis | |
US11392803B2 (en) | Decision boundary enhancement for learning models | |
US20220292390A1 (en) | Uniform artificial intelligence model conversion | |
US11816550B1 (en) | Confidence score generation for boosting-based tree machine learning models | |
WO2022079517A1 (en) | Distributed resource-aware training of machine learning pipelines | |
WO2022227860A1 (en) | Fair simultaneous comparison of parallel machine learning models | |
US20230186074A1 (en) | Fabricating data using constraints translated from trained machine learning models | |
US20230137184A1 (en) | Incremental machine learning for a parametric machine learning model | |
US11907711B2 (en) | Fast porting of projects | |
CN117716373A (zh) | 基于期望的度量值提供机器学习模型 | |
US20230408726A1 (en) | Weather forecasting using teleconnections | |
US20220180253A1 (en) | Communication-efficient data parallel ensemble boosting | |
TWI822290B (zh) | 相關於用於訓練機器學習模型之聯合學習之電腦實施方法、電腦系統及電腦程式產品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |