CN116663644A - 一种多压缩版本的云边端dnn协同推理加速方法 - Google Patents

一种多压缩版本的云边端dnn协同推理加速方法 Download PDF

Info

Publication number
CN116663644A
CN116663644A CN202310675653.9A CN202310675653A CN116663644A CN 116663644 A CN116663644 A CN 116663644A CN 202310675653 A CN202310675653 A CN 202310675653A CN 116663644 A CN116663644 A CN 116663644A
Authority
CN
China
Prior art keywords
model
dnn
representing
resource allocation
decision
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.)
Pending
Application number
CN202310675653.9A
Other languages
English (en)
Inventor
邓晓衡
任芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Central South University
Original Assignee
Central South University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Central South University filed Critical Central South University
Priority to CN202310675653.9A priority Critical patent/CN116663644A/zh
Publication of CN116663644A publication Critical patent/CN116663644A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本公开实施例中提供了一种多压缩版本的云边端DNN协同推理加速方法,属于计算技术领域,具体包括:步骤1,利用已有数据集对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,对多个版本的DNN模型分类准确率、各层的输出特征图大小以及计算开销进行量化表示,从而计算出在选择分割点后本地和边缘端分别需要的计算总开销,构建量化模型;步骤2,根据量化模型建立计算卸载和资源分配模型;步骤3,利用深度强化学习算法对计算卸载和资源分配模型进行优化,根据任务的服务需求对延迟和准确率进行均衡。通过本公开的方案,提高了推理效率、精准度、适应性和安全性。

Description

一种多压缩版本的云边端DNN协同推理加速方法
技术领域
本公开实施例涉及计算技术领域,尤其涉及一种多压缩版本的云边端DNN协同推理加速方法。
背景技术
目前,深度神经网络(DNN)由于其强大的表征能力,被广泛应用于众多智能应用中,如自动驾驶、人脸识别、信息检索等。同时,物联网的普及,大量便携式智能移动终端设备和嵌入式设备进入人们的生活。可以设想,将DNN应用部署在移动设备上,将人工智能能力推向网络边缘,实现边缘智能将是大势所趋。
边缘智能通过将人工智能算法和模型部署在网络边缘设备上,使得设备端能够自主进行数据处理和决策,大大减少数据传输和处理延迟,提高了应用的效率和实时性,同时也可以增强数据的安全性和隐私性。
这些智能应用的基本需求是高效准确的响应用户的查询。因此,最大限度地减少延迟并提升准确率,以保证用户体验质量事关重要。然而,基于DNN的应用程序本质上来说是计算密集型和资源急需型的。而移动设备由于尺寸和成本的限制,通常仅配备小型计算单元。这也导致了任务难以高效灵活地在资源受限的移动设备上执行。
传统的云计算通过将移动设备产生的输入数据传输到资源丰富的远程云服务中心来处理DNN推理任务,以满足严格的响应性要求。然而,由于移动设备和远程云之间不可靠的广域网连接和严重的延迟,服务质量(QoS)仍然会很差,不能令人满意。更糟糕的是,对于许多智能应用来说,他们的数据可能包含敏感和私人信息,将这些数据传输到云数据中心会引起用户的隐私和安全问题。边缘计算技术作为云计算的补充,旨在将高性能服务器部署在网络边缘,靠近移动设备。边缘计算方法无疑增强了基于DNN的应用的QoS和隐私保护。然而,随着任务推理请求的增加,边缘服务器的有限资源会导致更多的带宽和计算资源使用,最终导致边缘服务器的服务质量下降。
一个流行的、可行的解决方案是在边缘计算环境中引入协作推理。在边缘端协作推理下,一个复杂的DNN可以被分为两个部分,浅层部分在移动设备上进行本地处理,深层部分则卸载到边缘服务器上完成剩余的推理任务。对于DNN来说,中间数据有可能比源数据尺寸更小。在这种情况下,一方面,通过对DNN模型进行分区,将中间特征卸载到边缘,可以减少数据传输量。另一方面,在本地执行浅层分区可以有效利用移动设备的资源,减少服务器的资源占用。因此,边缘智能享有实时响应,以及通过协作推理保护隐私。
然而,这种模式仍然带来了几个需要解决的关键挑战:(1)如何在复杂的异构环境中确定DNN分区的部署,(2)如何根据不同的服务要求平衡任务延迟和模型精度,以及(3)如何在边缘设备协作推理中合理分配计算和通信资源。
可见,亟需一种推理效率、适应性和安全性高的多压缩版本的云边端DNN协同推理加速方法。
发明内容
有鉴于此,本公开实施例提供一种多压缩版本的云边端DNN协同推理加速方法,至少部分解决现有技术中存在推理效率、适应性和安全性较差的问题。
本公开实施例提供了一种多压缩版本的云边端DNN协同推理加速方法,包括:
步骤1,利用已有数据集对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,对多个版本的DNN模型分类准确率、各层的输出特征图大小以及计算开销进行量化表示,从而计算出在选择分割点后本地和边缘端分别需要的计算总开销,构建量化模型;
步骤2,根据量化模型建立计算卸载和资源分配模型;
步骤3,利用深度强化学习算法对计算卸载和资源分配模型进行优化,根据任务的服务需求对延迟和准确率进行均衡。
根据本公开实施例的一种具体实现方式,所述步骤1具体包括:
步骤1.1,在计算资源丰富的云服务器上,利用一种通道剪枝和张量分解的协同压缩方式,通过同时学习模型稀疏性和低秩性对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,用表示,其中m为压缩模型个数;
步骤1.2,根据DNN模型的特性将其任意两个相邻的卷积层之间的间隔作为可选的分区点;
步骤1.3,针对各个版本的DNN模型,计算出在公共数据集中对应的准确率;
步骤1.4,根据DNN模型结构计算各层输出特征图的大小Dj,k,其中表示DNN模型版本,/>表示模型分区点;
步骤1.5,根据DNN模型中的全连接层、卷积层、池化层、relu层和softmax层的内部结构以及数量,得到各层的计算开销
步骤1.6,根据各层的计算开销求出第j个DNN模型版本在第k个分区点的本地计算开销/>以及边缘计算开销/>并据此构建量化模型。
根据本公开实施例的一种具体实现方式,所述步骤2具体包括:
步骤2.1,当移动设备接收到推理任务,对推理任务进行模型选择和模型分区,形成联合决策结果;
步骤2.2,根据联合决策结果进行本地推理计算,得到本地执行延迟;
步骤2.3,在分割点将中间特征图数据传输至边缘服务器,并计算网络传输延迟;
步骤2.4,当边缘服务器收到第i个移动设备上传的中间数据时,利用分配的计算资源来完成任务的剩余推理,根据边缘服务器的总计算资源F、分配给第i个移动设备的资源比例fi以及边缘服务器执行推理任务的预期计算开销计算边缘推理任务延迟;
步骤2.5,根据本地执行延迟、网络传输延迟和边缘推理任务延迟计算总时延;
步骤2.6,根据模型压缩率计算每个移动设备在推理任务中的模型准确率;
步骤2.7,根据总时延和模型准确率建立计算卸载和资源分配模型。
根据本公开实施例的一种具体实现方式,所述计算卸载和资源分配模型的表达式为
subject to
C1:bi≥0
C2:
C3:
C4:fi≥0
C5:
C6:
C7:
C8:
其中, 分别表示所有移动设备关于DNN版本选择、分区点选择、带宽资源和计算资源分配的决定,Acci表示模型准确率,Ti表示总时延,ω1和ω2分别是根据不同服务需求对延迟和精度进行加权的系数,ω12∈[0,1],ω12=1,约束条件C1、C2和C3表示所有带宽资源都分配给移动设备用于数据传输,约束条件C4、C5和C6表示所有计算资源都分配给移动设备用于计算,约束条件C7表示压缩率是从可用的压缩率中选择的,约束条件C8表示分区点不超过DNN的最大层数。
根据本公开实施例的一种具体实现方式,所述步骤3具体包括:
步骤3.1,定义状态空间,其中,所述状态空间包括系统变量和优化变量;
步骤3.2,定义动作空间,其中,所述动作空间包括卸载决策和资源分配决策,所述卸载决策包括压缩率决策和分割点决策,所述资源分配决策包括带宽资源分配决策和服务器计算资源决策;
步骤3.3,定义奖励函数;
步骤3.4,利用深度强化学习策略求解计算卸载和资源分配模型,生成最优策略对延迟和准确率进行均衡。
根据本公开实施例的一种具体实现方式,所述步骤3.2具体包括:
定义压缩率决策向量表示第i个移动设备选择的DNN模型版本;
定义分割点决策向量表示第i个移动设备选择的分割点;
定义带宽资源分配决策向量表示第i个移动设备能够分配到的带宽资源占比;
定义计算资源分配决策向量表示第i个移动设备能够分配到的计算资源占比。
根据本公开实施例的一种具体实现方式,所述步骤3.4具体包括:
步骤3.4.1,在采样阶段,采用近端策略优化算法在采样阶段通过环境中的旧策略网络收集轨迹,将轨迹中的状态动作对提交给环境,以获得相应的奖励信号和下一个状态将将其存储在重放缓冲区;
步骤3.4.2,在优化阶段,近端策略优化算法利用存储在重放缓冲区的数据来训练策略网络和价值函数网络,在重放缓冲区被填满后,对网络进行K次更新,对于第k次更新,从重放缓冲区中抽取一组数据来更新策略π的梯度;
步骤3.4.3,重复迭代步骤3.4.1和步骤3.4.2直至达到预设条件,得到最优策略对延迟和准确率进行均衡。
根据本公开实施例的一种具体实现方式,所述步骤3.4.2具体包括:
采用广义优势估计法计算优势函数
其中,δt=rt+γV(st+1)-V(st)表示t时间的TD-误差,V(st)和V(st+1)分别对应于状态st和st+1的状态值,并通过价值函数网络获得,γ表示贴现因子,λ表示平衡优势函数的方差和偏差的超参数;
根据优势函数计算优势估计值
其中,表示轨迹τ的概率;
根据优势估计值计算当前策略产生的样本,采用预设的剪切策略计算策略梯度并更新策略网络的参数,更新策略π的梯度表示为:
其中,pθ和pθ′分别代表目标和旧策略的分布函数,表示新旧概率分布的比率。
根据本公开实施例的一种具体实现方式,所述步骤3.4.2之前,所述方法还包括:
利用预设损失函数,根据当前状态的价值函数估计值V(st)和衰减的奖励Vt target之间的平均平方误差更新价值函数网络的参数,其中,预设损失函数的表达式为
其中,
本公开实施例中的多压缩版本的云边端DNN协同推理加速方案,包括:步骤1,利用已有数据集对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,对多个版本的DNN模型分类准确率、各层的输出特征图大小以及计算开销进行量化表示,从而计算出在选择分割点后本地和边缘端分别需要的计算总开销,构建量化模型;步骤2,根据量化模型建立计算卸载和资源分配模型;步骤3,利用深度强化学习算法对计算卸载和资源分配模型进行优化,根据任务的服务需求对延迟和准确率进行均衡。
本公开实施例的有益效果为:通过本公开的方案,通过对原始DNN模型进行不同尺度的压缩,设计了多个不同版本的DNN模型。该方法在减少模型计算量的同时,也减少了中间特征图的大小,在通信和计算时延方面同时进行优化;充分考虑到任务的多样性服务需求,以平衡时延和准确率为目标,建立了一个多维优化问题模型,通过联合优化模型版本选择、模型划分和资源分配来进行DNN协同推理;考虑到这个优化问题具有极大的解空间和NP-hard的性质,提出了一种基于深度强化学习的算法来求解。该算法能够与复杂的动态环境交互,对模型版本选择、模型分区和资源分配做出端到端的智能决策,提高了推理效率、适应性和安全性。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本公开实施例提供的一种多压缩版本的云边端DNN协同推理加速方法的流程示意图;
图2为本公开实施例提供的一种多压缩版本的云边端DNN协同推理加速方法的系统模型示意图;
图3为本公开实施例提供的一种多压缩版本的云边端DNN协同推理加速方法的部分流程示意图;
图4为本公开实施例提供的另一种多压缩版本的云边端DNN协同推理加速方法的部分流程示意图;
图5为本公开实施例提供的一种训练性能结果图;
图6为本公开实施例提供的一种不同时延和准确率权重结果对比图。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
本公开实施例提供一种多压缩版本的云边端DNN协同推理加速方法,所述方法可以应用于物联网场景的数据处理过程中。
参见图1,为本公开实施例提供的一种多压缩版本的云边端DNN协同推理加速方法的流程示意图。如图1所示,所述方法主要包括以下步骤:
步骤1,利用已有数据集对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,对多个版本的DNN模型分类准确率、各层的输出特征图大小以及计算开销进行量化表示,从而计算出在选择分割点后本地和边缘端分别需要的计算总开销,构建量化模型;
进一步的,所述步骤1具体包括:
步骤1.1,在计算资源丰富的云服务器上,利用一种通道剪枝和张量分解的协同压缩方式,通过同时学习模型稀疏性和低秩性对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,用表示,其中m为压缩模型个数;
步骤1.2,根据DNN模型的特性将其任意两个相邻的卷积层之间的间隔作为可选的分区点;
步骤1.3,针对各个版本的DNN模型,计算出在公共数据集中对应的准确率;
步骤1.4,根据DNN模型结构计算各层输出特征图的大小Dj,k,其中表示DNN模型版本,/>表示模型分区点;
步骤1.5,根据DNN模型中的全连接层、卷积层、池化层、relu层和softmax层的内部结构以及数量,得到各层的计算开销
步骤1.6,根据各层的计算开销求出第j个DNN模型版本在第k个分区点的本地计算开销/>以及边缘计算开销/>并据此构建量化模型。
本公开实施例考虑了一个多用户、多任务的DNN推理加速场景,如图2所示。充分考虑到任务服务要求的多样性,建立了一个多维联合优化问题的模型,包括模型版本、模型分区和资源分配。提出了一个基于云边缘协作的DNN推理加速框架。在本方法中中,DNN自适应地进行版本选择和分区卸载,并利用MD的计算能力,由边缘分配资源进行协作推理,从而加速DNN推理,并根据任务的服务要求平衡延迟和精度。
具体实施时,构建量化模型可以包括以下步骤:
步骤101,在计算资源丰富的云服务器上,利用一种通道剪枝和张量分解的协同压缩方式,通过同时学习模型稀疏性和低秩性来对深度神经网络进行多个尺度的压缩,从而得到多个不同大小版本的DNN模型,用表示,其中m为压缩模型个数。同时,这些模型将同时部署在移动设备和边缘服务器上以便后续进行边端协同推理。
步骤102,根据DNN模型的特性,我们将任何两个相邻的卷积层之间的间隔作为可选的分区点。值得注意的是,一些具有非级联连接的层,如残差块,被整合到一个层单元中。分区点可以将模型分为两部分,分区点之前的部分在移动设备上执行,移动设备执行完的中间特征图输出随后通过无线网络传输到边缘,并在边缘端完成剩余的推理。可选分区点集合其中n是可选分区点的数量。当分区点为1时,表示整个推理任务将被卸载到边缘服务器完成;而分区点为n时,意味着整个推理任务将在本地进行。
步骤103,针对各个版本的DNN模型,计算出在公共数据集中对应的准确率,表示为分别用于评估这些DNN模型的推理准确性能。
步骤104,根据模型结构,计算出各层输出特征图的大小Dj,k,其中表示DNN模型版本,/>表示模型分区点。
步骤105,DNN的计算开销可以通过考虑神经网络层所需的FLOPs数量来估计。通过分析DNN模型中的全连接层、卷积层、池化层、relu层和softmax层的内部结构以及数量,可以得到各层的计算开销fl j
步骤106,根据步骤105中的各层计算开销fl j,求出第j个DNN模型版本在第k个分区点的本地计算开销以及边缘计算开销/>
步骤2,根据量化模型建立计算卸载和资源分配模型;
在上述实施例的基础上,所述步骤2具体包括:
步骤2.1,当移动设备接收到推理任务,对推理任务进行模型选择和模型分区,形成联合决策结果;
步骤2.2,根据联合决策结果进行本地推理计算,得到本地执行延迟;
步骤2.3,在分割点将中间特征图数据传输至边缘服务器,并计算网络传输延迟;
步骤2.4,当边缘服务器收到第i个移动设备上传的中间数据时,利用分配的计算资源来完成任务的剩余推理,根据边缘服务器的总计算资源F、分配给第i个移动设备的资源比例fi以及边缘服务器执行推理任务的预期计算开销计算边缘推理任务延迟;
步骤2.5,根据本地执行延迟、网络传输延迟和边缘推理任务延迟计算总时延;
步骤2.6,根据模型压缩率计算每个移动设备在推理任务中的模型准确率;
步骤2.7,根据总时延和模型准确率建立计算卸载和资源分配模型。
进一步的,所述计算卸载和资源分配模型的表达式为
subject to
C1:bi≥0
C2:
C3:
C4:fi≥0
C5:
C6:
C7:
C8:
其中, 分别表示所有移动设备关于DNN版本选择、分区点选择、带宽资源和计算资源分配的决定,Acci表示模型准确率,Ti表示总时延,ω1和ω2分别是根据不同服务需求对延迟和精度进行加权的系数,ω12∈[0,1],ω12=1,约束条件C1、C2和C3表示所有带宽资源都分配给移动设备用于数据传输,约束条件C4、C5和C6表示所有计算资源都分配给移动设备用于计算,约束条件C7表示压缩率是从可用的压缩率中选择的,约束条件C8表示分区点不超过DNN的最大层数。
具体实施时,如图3所示,根据量化模型建立计算卸载和资源分配模型的步骤可以包括以下步骤:
步骤201,如图3中①所示,当移动设备接收到任务,需要对推理任务进行模型选择和模型分区。在模型选择步骤中,可选择较小的模型进行推理,以达到减少时延的目的,但同时小模型也不可避免的带来了精度的损失。在模型分区阶段,一个选择好的已压缩模型将被分成两段,分割点前部分模型部署于本地,后部分模型部署至边缘服务器。在各异构终端设备之间,选择的压缩模型和卸载分区比例可能有很大的不同。因此,边缘服务器需要对计算资源(图3中②所示)、带宽资源(图3中③所示)进行自适应分配。如图3中④⑤⑥所示,当获得联合决策结果后,协同推理将从移动设备开始进行推理,并在分割点将中间数据传输至边缘服务器完成之后的推理。推理完成后,边缘服务器将结果返回给移动设备。
步骤202,本地推理计算。当移动设备接收任务后,会先在本地进行计算推理。第i个移动设备的推理任务所产生的本地推理时间成本由其本地计算能力Fi和本地执行的推理任务的预期计算开销决定。因此,第i个MD的本地执行延迟Ti l可以表示为:
步骤203,中间特征图传输。如果任务分区点不为n,即不选择任务全在本地执行,则会将分区点之前的网络层产生的中间特征图传输至边缘服务器,已完成之后的推理任务。对于通信,由于每个设备的任务具有相同的优先级,因此任务将会同时进行卸载。我们忽略了排队等待时延。移动设备和边缘服务器之间通过无线网络连接,在任务到达时,我们将在动态环境下自适应的给每个设备分配网络资源。第i个移动设备的传输速率为:
其中,σ表示背景噪声功率,bi表示第i个移动设备所分配的带宽资源占比,B表示信道中总带宽资源,ui表示第i个移动设备上传数据的传输功率,hi表示第i个移动设备与边缘服务器ES之间的无线信道增益,其值与第i个移动设备与边缘服务器ES之间的通信距离有关,第i个移动设备与ES之间的信道增益表示如下:disti表示第i个移动设备与边缘服务器ES之间的通信距离,/>表示路径损失指数。
因此,根据中间特征图数据大小和传输速率r,网络传输延迟Ti c可以表示
如下:
步骤204,边缘推理计算。当ES收到第i个MD上传的中间数据时,它利用分配的计算资源来完成任务的剩余推理。根据ES的总计算资源F,分配给第i个MD的资源比例fi,以及ES执行推理任务的预期计算开销边缘推理任务的延迟Ti e可以定义如下:/>
步骤205,总时延计算。显而易见,第i个MD的推理的总时间成本Ti为:
Ti=Ti l+Ti c+Ti e
步骤206,模型准确率计算。在推理任务中,第i个MD的模型准确率Acci仅与
模型的压缩率有关,其结果可表示为:
步骤207,问题公式化。为了提高QoS,必须设计一个有效的计算卸载和资源分配策略。我们的多维优化问题的目标是,考虑到所有移动设备的并发请求,根据任务的服务需求,在准确性和延迟之间找到一个最佳平衡点,使系统的综合性能最大化。为了实现这一目标,我们考虑了几个因素,如模型版本的选择、模型分割点的选择、以及带宽和计算资源的分配。具体优化目标表示为:
subject to
C1:bi≥0
C2:
C3:
C4:fi≥0
C5:
C6:
C7:
C8:
其中 分别表示所有MD关于DNN版本选择、分区点选择、带宽资源和计算资源分配的决定。ω1和分别是根据不同服务需求对延迟和精度进行加权的系数,ω12∈[0,1],ω12=1,约束条件C1、C2和C3表示所有带宽资源都分配给MD用于数据传输,而约束条件C4、C5和C6表示所有计算资源都分配给MD用于计算。约束条件C7表明,压缩率是从可用的压缩率中选择的,约束条件C8表示分区点不超过DNN的最大层数。
显然,P1是一个非凸的混合整数编程问题,有离散变量和/>以及连续变量/>我们的目标是开发一种优化策略,使系统性能最大化,同时确保任务服务要求的高准确性和低延迟性。为了实现这一目标,我们提出了一种基于深度强化学习的整体端到端优化方法。
步骤3,利用深度强化学习算法对计算卸载和资源分配模型进行优化,根据任务的服务需求对延迟和准确率进行均衡。
在上述实施例的基础上,所述步骤3具体包括:
步骤3.1,定义状态空间,其中,所述状态空间包括系统变量和优化变量;
步骤3.2,定义动作空间,其中,所述动作空间包括卸载决策和资源分配决策,所述卸载决策包括压缩率决策和分割点决策,所述资源分配决策包括带宽资源分配决策和服务器计算资源决策;
步骤3.3,定义奖励函数;
步骤3.4,利用深度强化学习策略求解计算卸载和资源分配模型,生成最优策略对延迟和准确率进行均衡。
进一步的,所述步骤3.2具体包括:
定义压缩率决策向量表示第i个移动设备选择的DNN模型版本;
定义分割点决策向量表示第i个移动设备选择的分割点;
定义带宽资源分配决策向量表示第i个移动设备能够分配到的带宽资源占比;
定义计算资源分配决策向量表示第i个移动设备能够分配到的计算资源占比。
进一步的,所述步骤3.4具体包括:
步骤3.4.1,在采样阶段,采用近端策略优化算法在采样阶段通过环境中的旧策略网络收集轨迹,将轨迹中的状态动作对提交给环境,以获得相应的奖励信号和下一个状态将将其存储在重放缓冲区;
步骤3.4.2,在优化阶段,近端策略优化算法利用存储在重放缓冲区的数据来训练策略网络和价值函数网络,在重放缓冲区被填满后,对网络进行K次更新,对于第k次更新,从重放缓冲区中抽取一组数据来更新策略π的梯度;
步骤3.4.3,重复迭代步骤3.4.1和步骤3.4.2直至达到预设条件,得到最优策略对延迟和准确率进行均衡。
进一步的,所述步骤3.4.2具体包括:
采用广义优势估计法计算优势函数
其中,δt=rt+γV(st+1)-V(st)表示t时间的TD-误差,V(st)和V(st+1)分别对应于状态st和st+1的状态值,并通过价值函数网络获得,γ表示贴现因子,λ表示平衡优势函数的方差和偏差的超参数;
根据优势函数计算优势估计值
其中,表示轨迹τ的概率;
根据优势估计值计算当前策略产生的样本,采用预设的剪切策略计算策略梯度并更新策略网络的参数,更新策略π的梯度表示为:
其中,pθ和pθ′分别代表目标和旧策略的分布函数,表示新旧概率分布的比率。
进一步的,所述步骤3.4.2之前,所述方法还包括:
利用预设损失函数,根据当前状态的价值函数估计值V(st)和衰减的奖励Vt target之间的平均平方误差更新价值函数网络的参数,其中,预设损失函数的表达式为
其中,
具体实施时,对计算卸载和资源分配模型进行优化的过程可以如以下步骤所示:
步骤301,定义状态空间。
在DRL的背景下,状态空间需要包含足够的信息以实现智能决策。为此,我们将状态分为两部分:系统变量和优化变量。前者包括我们系统环境中的相关参数设置,包括而后者包括系统总延迟和总精度,用{Ti,Acci}表示。延迟Ti和精度Acci引导算法在这两个方面取得平衡,并达到最佳目标。因此,我们将状态定义为:
步骤302,定义动作空间。
动作空间分为卸载决策和资源分配决策两部分。卸载决策包括压缩率决策和分割点决策。资源分配决策包括带宽资源分配决策和服务器计算资源决策。我们定义压缩率决策向量表示第i个移动设备选择的DNN模型版本;分割点决策向量表示第i个移动设备选择的分割点;带宽资源分配决策向量表示第i个移动设备能够分配到的带宽资源占比;计算资源分配决策向量/>表示第i个移动设备能够分配到的计算资源占比。在第t次迭代中,行动的具体决定可以表示为:
步骤303,定义奖励函数。
奖励函数在强化学习中扮演着非常严重的角色,它是智能体在执行动作后从环境中获取的信号,用来评估当前智能体的行为是否正确,目标是让智能体学会在每个时间步尽可能地最大化长期累计的奖励值。考虑到我们任务的优化目标,我们应该利用奖励函数引导策略π朝着增大准确率且降低时延的优化目标进行。设rt为t时刻智能体可获得的奖励,其可表示为:
其中ω1和ω2分别是根据不同服务需求对延迟和精度进行加权的系数。和/>分别是总系统延迟和精度的标准化值。
步骤304,利用深度强化学习策略求解
深度强化学习是一种将深度学习和强化学习相结合的方法。其核心思想是通过智能体与环境进行交互,并使用深度神经网络作为智能体的函数逼近器,让智能体在未知的环境中自主探索学习并掌握最优策略π*。近端策略优化(PPO)是我们的方法使用的深度强化学习原型,其避免了人工设置特征的繁琐过程,能够处理高维连续的状态动作空间和复杂的决策问题,并且通过重要性抽样具有较高的样本利用率。
PPO是一种critic-actor结构的基于策略的DRL算法,包含两个策略网络--新旧策略,以及一个价值函数网络。新策略网络πθ由一组网络参数θ表征,而旧策略网络πθ′由组网络参数θ′表征,具有与新策略网络相同的结构,通过多次迭代更新差异,基于θ进行初始化和更新。价值函数网络πφ由一组网络参数φ表征。策略网络输出智能代理在特定状态下可能采取的行动的概率分布,而价值函数网络通过计算代理在该状态下获得的预期长期奖励来估计当前状态的价值。具体算法流程如图4所示。
在PPO算法中,有两个主要阶段,即采样阶段和优化阶段。在采样阶段,算法通过环境中的旧策略网络收集一系列轨迹,表示为τ={s1,a1,s2,s2,...,sT,aT}。然后,它将这些轨迹中的状态动作对提交给环境,以获得相应的奖励信号和下一个状态,并将这些数据<st,at,rt>存储在重放缓冲区。在优化阶段,PPO算法利用存储在重放缓冲区的数据来训练策略网络和价值函数网络。在重放缓冲区被填满后,对网络进行K次更新。对于第k次更新,我们将从重放缓冲区中抽取一组数据来更新π的梯度。为了计算优势函数,采用了GAE(广义优势估计法):
其中δt=rt+γV(st+1)-V(st)表示t时间的TD-误差。V(st)和V(st+1)分别对应于状态st和st+1的状态值,并通过价值函数网络获得。贴现因子γ决定了未来奖励的重要性。此外,λ是平衡优势函数的方差和偏差的超参数。GAE函数是通过在时间步骤中以递减的权重来计算优势函数的。这使得优势估计对未来奖励的重要性逐渐降低。这在数学上可以表示为:其中/>表示轨迹τ的概率。
在计算出优势估计值后,PPO算法利用它们来计算策略梯度并更新策略网络的参数。这里,pθ和pθ′分别代表目标和旧策略的分布函数。用于更新的梯度可以表示为:
其中表示新旧概率分布的比率。在训练的初始阶段,Rt=1,因为θ和θ′是一致的,分布也一致。
为了更新策略,我们需要由当前策略产生的样本。然而,在使用这些样本的同时更新策略会导致当前策略和更新策略之间的不一致,最终影响更新的有效性。为了解决这个问题,PPO算法采用了一种剪切的策略。网络损失的计算方法如下:
其中∈是一个超参数,控制新策略可以偏离旧策略的程度。PPO算法中使用的clip(.)函数限制了新策略相对于旧策略的变化幅度。剪切确保新策略不会严重偏离旧策略,并确保更新以稳定的方式进行。
此外,为了提高策略网络更新期间状态值预测的准确性,PPO算法训练了一个价值函数网络。在价值函数网络的训练过程中,使用当前状态的价值函数估计值V(st)和衰减的奖励Vt target之间的平均平方误差更新网络参数。这有助于网络更好地预测未来奖励的累积值,反过来,也有助于策略网络选择最大化长期奖励的行动。损失函数的计算方法如下:
随着模型的不断迭代采样阶段和优化阶段,算法不断收敛,最优策略π*被学习。
如图5所示,通过在异构设备上进行模拟实验,本方案随着迭代次数的增多,生成的最优策略根据任务的服务需求对延迟和准确率进行均衡的效果更好。同时,设置不同时延和准确率权重时,生成最优策略对延迟和准确率进行均衡的结果如图6所示。
通过在异构设备上进行模拟实验,并与多种基线方法进行比较,结果如表1所示,证实了本方案的方法的卓越性能。
表1
本实施例提供的多压缩版本的云边端DNN协同推理加速方法,通过对原始DNN模型进行不同尺度的压缩,设计了多个不同版本的DNN模型。该方法在减少模型计算量的同时,也减少了中间特征图的大小,在通信和计算时延方面同时进行优化;充分考虑到任务的多样性服务需求,以平衡时延和准确率为目标,建立了一个多维优化问题模型,通过联合优化模型版本选择、模型划分和资源分配来进行DNN协同推理;考虑到这个优化问题具有极大的解空间和NP-hard的性质,提出了一种基于深度强化学习的算法来求解。该算法能够与复杂的动态环境交互,对模型版本选择、模型分区和资源分配做出端到端的智能决策,提高了推理效率、适应性和安全性。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (9)

1.一种多压缩版本的云边端DNN协同推理加速方法,其特征在于,包括:
步骤1,利用已有数据集对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,对多个版本的DNN模型分类准确率、各层的输出特征图大小以及计算开销进行量化表示,从而计算出在选择分割点后本地和边缘端分别需要的计算总开销,构建量化模型;
步骤2,根据量化模型建立计算卸载和资源分配模型;
步骤3,利用深度强化学习算法对计算卸载和资源分配模型进行优化,根据任务的服务需求对延迟和准确率进行均衡。
2.根据权利要求1所述的方法,其特征在于,所述步骤1具体包括:
步骤1.1,在计算资源丰富的云服务器上,利用一种通道剪枝和张量分解的协同压缩方式,通过同时学习模型稀疏性和低秩性对深度神经网络进行多个尺度的压缩,得到多个不同大小版本的DNN模型,用表示,其中m为压缩模型个数;
步骤1.2,根据DNN模型的特性将其任意两个相邻的卷积层之间的间隔作为可选的分区点;
步骤1.3,针对各个版本的DNN模型,计算出在公共数据集中对应的准确率;
步骤1.4,根据DNN模型结构计算各层输出特征图的大小Dj,k,其中表示DNN模型版本,/>表示模型分区点;
步骤1.5,根据DNN模型中的全连接层、卷积层、池化层、relu层和softmax层的内部结构以及数量,得到各层的计算开销
步骤1.6,根据各层的计算开销求出第j个DNN模型版本在第k个分区点的本地计算开销/>以及边缘计算开销/>并据此构建量化模型。
3.根据权利要求2所述的方法,其特征在于,所述步骤2具体包括:
步骤2.1,当移动设备接收到推理任务,对推理任务进行模型选择和模型分区,形成联合决策结果;
步骤2.2,根据联合决策结果进行本地推理计算,得到本地执行延迟;
步骤2.3,在分割点将中间特征图数据传输至边缘服务器,并计算网络传输延迟;
步骤2.4,当边缘服务器收到第i个移动设备上传的中间数据时,利用分配的计算资源来完成任务的剩余推理,根据边缘服务器的总计算资源F、分配给第i个移动设备的资源比例fi以及边缘服务器执行推理任务的预期计算开销计算边缘推理任务延迟;
步骤2.5,根据本地执行延迟、网络传输延迟和边缘推理任务延迟计算总时延;
步骤2.6,根据模型压缩率计算每个移动设备在推理任务中的模型准确率;
步骤2.7,根据总时延和模型准确率建立计算卸载和资源分配模型。
4.根据权利要求3所述的方法,其特征在于,所述计算卸载和资源分配模型的表达式为
subject to
C1:bi≥0
C2:
C3:
C4:fi≥0
C5:
C6:
C7:
C8:
其中, 分别表示所有移动设备关于DNN版本选择、分区点选择、带宽资源和计算资源分配的决定,Acci表示模型准确率,Ti表示总时延,ω1和ω2分别是根据不同服务需求对延迟和精度进行加权的系数,ω12∈[0,1],ω12=1,约束条件C1、C2和C3表示所有带宽资源都分配给移动设备用于数据传输,约束条件C4、C5和C6表示所有计算资源都分配给移动设备用于计算,约束条件C7表示压缩率是从可用的压缩率中选择的,约束条件C8表示分区点不超过DNN的最大层数。
5.根据权利要求4所述的方法,其特征在于,所述步骤3具体包括:
步骤3.1,定义状态空间,其中,所述状态空间包括系统变量和优化变量;
步骤3.2,定义动作空间,其中,所述动作空间包括卸载决策和资源分配决策,所述卸载决策包括压缩率决策和分割点决策,所述资源分配决策包括带宽资源分配决策和服务器计算资源决策;
步骤3.3,定义奖励函数;
步骤3.4,利用深度强化学习策略求解计算卸载和资源分配模型,生成最优策略对延迟和准确率进行均衡。
6.根据权利要求5所述的方法,其特征在于,所述步骤3.2具体包括:
定义压缩率决策向量表示第i个移动设备选择的DNN模型版本;
定义分割点决策向量表示第i个移动设备选择的分割点;
定义带宽资源分配决策向量表示第i个移动设备能够分配到的带宽资源占比;
定义计算资源分配决策向量表示第i个移动设备能够分配到的计算资源占比。
7.根据权利要求6所述的方法,其特征在于,所述步骤3.4具体包括:
步骤3.4.1,在采样阶段,采用近端策略优化算法在采样阶段通过环境中的旧策略网络收集轨迹,将轨迹中的状态动作对提交给环境,以获得相应的奖励信号和下一个状态将将其存储在重放缓冲区;
步骤3.4.2,在优化阶段,近端策略优化算法利用存储在重放缓冲区的数据来训练策略网络和价值函数网络,在重放缓冲区被填满后,对网络进行K次更新,对于第k次更新,从重放缓冲区中抽取一组数据来更新策略π的梯度;
步骤3.4.3,重复迭代步骤3.4.1和步骤3.4.2直至达到预设条件,得到最优策略对延迟和准确率进行均衡。
8.根据权利要求7所述的方法,其特征在于,所述步骤3.4.2具体包括:
采用广义优势估计法计算优势函数
其中,δt=rt+γV(st+1)-V(st)表示t时间的TD-误差,V(st)和V(st+1)分别对应于状态st和st+1的状态值,并通过价值函数网络获得,γ表示贴现因子,λ表示平衡优势函数的方差和偏差的超参数;
根据优势函数计算优势估计值
其中,表示轨迹τ的概率;
根据优势估计值计算当前策略产生的样本,采用预设的剪切策略计算策略梯度并更新策略网络的参数,更新策略π的梯度表示为:
其中,pθ和pθ′分别代表目标和旧策略的分布函数,表示新旧概率分布的比率。
9.根据权利要求8所述的方法,其特征在于,所述步骤3.4.2之前,所述方法还包括:
利用预设损失函数,根据当前状态的价值函数估计值V(st)和衰减的奖励Vt target之间的平均平方误差更新价值函数网络的参数,其中,预设损失函数的表达式为
其中,
CN202310675653.9A 2023-06-08 2023-06-08 一种多压缩版本的云边端dnn协同推理加速方法 Pending CN116663644A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310675653.9A CN116663644A (zh) 2023-06-08 2023-06-08 一种多压缩版本的云边端dnn协同推理加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310675653.9A CN116663644A (zh) 2023-06-08 2023-06-08 一种多压缩版本的云边端dnn协同推理加速方法

Publications (1)

Publication Number Publication Date
CN116663644A true CN116663644A (zh) 2023-08-29

Family

ID=87725951

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310675653.9A Pending CN116663644A (zh) 2023-06-08 2023-06-08 一种多压缩版本的云边端dnn协同推理加速方法

Country Status (1)

Country Link
CN (1) CN116663644A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117114113A (zh) * 2023-10-24 2023-11-24 南京邮电大学 一种基于排队论的协同推理加速方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117114113A (zh) * 2023-10-24 2023-11-24 南京邮电大学 一种基于排队论的协同推理加速方法
CN117114113B (zh) * 2023-10-24 2023-12-29 南京邮电大学 一种基于排队论的协同推理加速方法

Similar Documents

Publication Publication Date Title
CN111556461B (zh) 一种基于深度q网络的车载边缘网络任务分发卸载方法
CN111800828B (zh) 一种超密集网络的移动边缘计算资源分配方法
CN113543176B (zh) 基于智能反射面辅助的移动边缘计算系统的卸载决策方法
CN113873022A (zh) 一种可划分任务的移动边缘网络智能资源分配方法
CN112105062B (zh) 时敏条件下移动边缘计算网络能耗最小化策略方法
CN113395654A (zh) 一种边缘计算系统的多无人机任务卸载和资源分配的方法
WO2021036414A1 (zh) 一种低轨移动卫星星座下星地下行链路同频干扰预测方法
CN113254188B (zh) 调度优化方法和装置、电子设备及存储介质
CN116260871A (zh) 一种基于本地和边缘协同缓存的独立任务卸载方法
CN116663644A (zh) 一种多压缩版本的云边端dnn协同推理加速方法
CN115134242B (zh) 一种基于深度强化学习策略的车载计算任务卸载方法
CN116489712B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN114528987A (zh) 一种神经网络边缘-云协同计算分割部署方法
Ebrahim et al. A deep learning approach for task offloading in multi-UAV aided mobile edge computing
CN113573363A (zh) 基于深度强化学习的mec计算卸载与资源分配方法
Jeong et al. Deep reinforcement learning-based task offloading decision in the time varying channel
CN113946423A (zh) 基于图注意力网络的多任务边缘计算调度优化方法
CN114051252A (zh) 无线接入网中多用户智能发射功率控制方法
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法
CN115756873B (zh) 一种基于联邦强化学习的移动边缘计算卸载方法和平台
CN111930435A (zh) 一种基于pd-bpso技术的任务卸载决策方法
CN116405493A (zh) 一种基于mogwo策略的边缘云协同任务卸载方法
CN115766478A (zh) 一种空地协同边缘计算服务器的卸载方法
CN114025359B (zh) 基于深度强化学习的资源分配与计算卸载方法、系统、设备及介质
CN113157344B (zh) 移动边缘计算环境下基于drl的能耗感知任务卸载方法

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