一种降低多模型任务排队时延的方法和装置制造方法及图纸

技术编号:36603601 阅读:20 留言:0更新日期:2023-02-04 18:22
本申请提供了一种降低多模型任务排队时延的方法和装置,包括:接收插入的新模型任务指令;继续执行当前的第一模型任务,直到遇到当前第一模型任务指令中的取消点后中断第一模型任务,取消点为预先在第一模型任务指令中编译的标记点;根据取消点,获取第一模型任务目标数据在芯片内部的目标存储地址;目标数据为取消点之前的指令执行处理数据;根据目标存储地址,将目标数据转存至外部存储器;执行新模型任务的指令;当新模型任务的指令执行完毕后,根据目标存储地址,将目标数据恢复存储至芯片内部,继续执行第一模型任务。采用本申请的技术方案,可以显著降低小模型等待大模型带来的延迟开销。来的延迟开销。来的延迟开销。

【技术实现步骤摘要】
一种降低多模型任务排队时延的方法和装置


[0001]本专利技术涉及机器学习领域,尤其涉及一种能降低多模型任务排队时延的方法和装置。

技术介绍

[0002]在使用机器学习加速器硬件的应用场景中,通常硬件厂商会提供一套工具链软件,应用开发者使用这套工具链来定义、训练、编译和部署机器学习模型,最终在嵌入式软件中实现对模型功能的调用。
[0003]对于目前常见的工具链,嵌入式软件环境中的机器学习模型是一个“黑箱”,软件调用模型的过程是“原子的”,一个模型一旦启动以后就不可中断,或者中断以后就不可恢复。这对于类似智能驾驶这样的延迟敏感型的应用场景来说会造成一些问题。当软件每次启动一个模型时,由于硬件正在处理其他任务,新的任务必须排队等待直到硬件进入空闲状态。排队会导致完整工作流的延迟显著延长,让关键场景的性能和可用性受到影响。例如智能驾驶场景中可能导致紧急情况下刹车反应时间变长,影响系统的安全性和用户体验。
[0004]如何根据运行时需求,以较小的代价实时切换和调度多个神经网络模型,避免指令依赖性分析带来的开销,减少硬件资源的闲置和浪费,目前尚未提出有效的解决方案。

技术实现思路

[0005]为了解决上述技术问题,本专利技术提供了一种降低多模型任务排队时延的方法和装置。
[0006]本专利技术提供的技术方案如下:
[0007]一方面,本方案提出一种降低多模型任务排队时延的方法,包括:
[0008]接收插入的新模型任务指令及暂停执行指令;
[0009]在接收到所述暂停执行指令后,继续执行当前的第一模型任务,直到遇到当前第一模型任务指令中的取消点后中断所述第一模型任务,所述取消点为预先在所述第一模型任务指令中编译的标记点;
[0010]根据所述取消点,获取所述第一模型任务目标数据在芯片内部的目标存储地址;所述目标数据为所述取消点之前的指令执行处理数据;
[0011]根据所述目标存储地址,将所述目标数据转存至外部存储器;
[0012]执行所述新模型任务的指令;
[0013]当所述新模型任务的指令执行完毕后,根据所述目标存储地址,将存储在外部存储器中的目标数据恢复存储至所述芯片内部,继续执行所述第一模型任务。
[0014]在一些实施方式中,在所述第一模型任务启动执行之前,还包括:
[0015]将第一模型及其参数编译为硬件可识别的二进制指令序列;
[0016]在所述二进制执行序列中插入若干取消点,生成第一模型任务指令。
[0017]在一些实施方式中,在二进制指令序列中插入若干取消点,生成第一模型指令具
体包括:
[0018]获取所述二进制指令序列中的转储位置;所述转储位置为临时数据总量超出第一数据量时将数据转储到外部存储介质的位置,所述第一数据量小于芯片内部存储介质容量;
[0019]在所述转储位置设置取消点。
[0020]在一些实施方式中,在所述二进制指令序列中插入若干取消点,生成第一模型指令具体包括;
[0021]在所述二进制指令执行序列中,每隔预设的执行时间间隔插入一个取消点。
[0022]在一些实施方式中,所述降低多模型任务排队时延的方法还包括:
[0023]当未接收到暂停执行指令时,继续执行当前的所述第一模型任务,且在遇到所述第一模型任务指令中的取消点后仍执行后续的指令序列。
[0024]另一方面,本专利技术提出一种降低多模型任务排队时延的装置,包括:
[0025]命令接收模块,用于接收插入的新模型任务指令及暂停执行指令;
[0026]任务执行模块,用于在接收到所述暂停执行指令后,继续执行当前的第一模型任务,直到遇到当前第一模型任务指令中的取消点后中断所述第一模型任务,所述取消点为预先在所述第一模型任务指令中编译的标记点;
[0027]地址获取模块:用于根据所述取消点,获取所述第一任务目标数据在芯片内部的目标存储地址;所述目标数据为所述取消点之前的指令执行处理数据;
[0028]数据转储模块,根据所述目标存储地址,将所述目标数据转存至外部存储器;
[0029]所述任务执行模块,还用于执行所述新模型任务的指令;
[0030]数据恢复模块,用于当所述新模型任务的指令执行完毕后,根据所述目标存储地址,将存储在外部存储器中的目标数据恢复存储至所述芯片内部,继续执行所述第一模型任务。
[0031]在一些实施方式中,所述降低多模型任务排队时延的装置还包括:
[0032]编译模块,用于将第一模型及其参数编译为硬件可识别的二进制指令序列;
[0033]指令生成模块,用于在所述二进制执行序列中插入若干取消点,生成第一模型任务指令。
[0034]在一些实施方式中,所述指令生成模块具体包括:
[0035]数据设置子模块,用于获取所述二进制指令序列中的转储位置;所述转储位置为临时数据总量超出第一数据量时将数据转储到外部存储介质的位置,所述第一数据量小于芯片内部存储介质容量;在所述转储位置设置取消点。
[0036]时间设置子模块,用于在所述二进制指令执行序列中,每隔预设的执行时间间隔插入一个取消点。
[0037]在一些实施方式中,所述降低多模型任务排队时延的装置还包括:
[0038]所述任务执行模块,还用于当未接收到暂停执行指令时,继续执行当前的所述第一模型任务,且在遇到所述第一模型任务指令中的取消点后仍执行后续的指令序列。
[0039]最后,本申请还提供了一种电子设备,包括一个或多个处理器,以及存储器,存储有计算机指令,所述计算机指令在被所述处理器运行时使所述处理器执行上述任意一种降低多模型任务排队时延的方法。
[0040]由于采用了上述技术方案,本专利技术至少具有以下有益效果:
[0041]1)在多模型工作流中,由于在指令序列中插入了若干个取消点,使得大模型执行期间可以被打断并且可以优先执行耗时较小的模型,显著降低了小模型需要等待大模型带来的延迟开销,降低了系统的整体时延。
[0042]2)在芯片正常执行任务的过程中,也会发生数据的转储与恢复,把发生这种情况的点设置为取消点,能够同时满足任务中数据转储与恢复与中断任务的要求,即减小了硬件资源抢占带来的时间开销。
[0043]3)由于“取消点”的设置,芯片可以转储和恢复芯片内部存储介质中的关键数据,能够保证被打断的任务在不影响执行结果下恢复执行。
附图说明
[0044]下面将以明确易懂的方式,结合附图说明优选实施方式,对一种降低多模型任务排队时延的方法和装置的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0045]图1是本专利技术降低多模型任务排队时延的方法的一个实施例流程图;
[0046]图2是本专利技术降低多模型任务排队时延的方法的另一实施例的流程图;
[0047]图3是现有技术的多模型任务的时序示意图;
[0048]图4是采用本申请的降低多模型任务排队时延方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种降低多模型任务排队时延的方法,其特征在于,包括:接收插入的新模型任务指令及暂停执行指令;在接收到所述暂停执行指令后,继续执行当前的第一模型任务,直到遇到当前第一模型任务指令中的取消点后中断所述第一模型任务,所述取消点为预先在所述第一模型任务指令中编译的标记点;根据所述取消点,获取所述第一模型任务目标数据在芯片内部的目标存储地址;所述目标数据为所述取消点之前的指令执行处理数据;根据所述目标存储地址,将所述目标数据转存至外部存储器;执行所述新模型任务的指令;当所述新模型任务的指令执行完毕后,根据所述目标存储地址,将存储在外部存储器中的目标数据恢复存储至所述芯片内部,继续执行所述第一模型任务。2.根据权利要求1所述的降低多模型任务排队时延的方法,其特征在于,在所述第一模型任务启动执行之前,还包括:将第一模型及其参数编译为硬件可识别的二进制指令序列;在所述二进制执行序列中插入若干取消点,生成第一模型任务指令。3.根据权利要求2所述的降低多模型任务排队时延的方法,其特征在于,在所述二进制指令序列中插入若干取消点,生成第一模型指令具体包括:获取所述二进制指令序列中的转储位置;所述转储位置为临时数据总量超出第一数据量时将数据转储到外部存储介质的位置,所述第一数据量小于芯片内部存储介质容量;在所述转储位置设置取消点。4.根据权利要求2所述的降低多模型任务排队时延的方法,其特征在于,在所述二进制指令序列中插入若干取消点,生成第一模型指令具体包括:在所述二进制指令执行序列中,每隔预设的执行时间间隔插入一个取消点。5.根据权利要求1所述的降低多模型任务排队时延的方法,其特征在于,还包括:当未接收到暂停执行指令时,继续执行当前的所述第一模型任务,且在遇到所述第一模型任务指令中的取消点后仍执行后续的指令序列。6.一种降低多模型任务排队时延的装置,其特征在于,包括:命令接收模块,用于接收插入的新模型任务指令及...

【专利技术属性】
技术研发人员:曹博陈韫韬赵季
申请(专利权)人:辉羲智能科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1