CN116992966B - 用于人工智能模型推理平台的方法及计算设备 - Google Patents
用于人工智能模型推理平台的方法及计算设备 Download PDFInfo
- Publication number
- CN116992966B CN116992966B CN202311265671.6A CN202311265671A CN116992966B CN 116992966 B CN116992966 B CN 116992966B CN 202311265671 A CN202311265671 A CN 202311265671A CN 116992966 B CN116992966 B CN 116992966B
- Authority
- CN
- China
- Prior art keywords
- reasoning
- path
- data
- key
- inference
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 12
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 239000000758 substrate Substances 0.000 claims 2
- 239000000523 sample Substances 0.000 claims 1
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
Abstract
本申请提供一种用于人工智能模型推理平台的方法及计算设备。所述方法包括:获取用于第一推理任务的第一输入数据并执行所述第一推理任务;获取用于第二推理任务的第二输入数据并执行所述第二推理任务;如果所述第二输入数据与所述第一输入数据相同,且所述第二推理路径与所述第一推理路径相同,则所述第二推理任务复用所述第一推理路径的输出数据。根据本发明的技术方案,可以有效减少算法计算量,合理利用芯片的算力,避免资源浪费。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种用于人工智能模型推理平台的方法及计算设备。
背景技术
在人工智能模型推理平台中进行推理时,每个算法模型的输入是独立的,而推理任务通常由多个模型组成,多个推理任务可能会使用到相同的算法模型。当这两个推理任务同时在推理平台上运行时,对于同一个输入数据,需要复制成两份分别交到两个推理任务中进行推理运算,存在同一个数据需要同时计算两次的情形。
为此,需要一种技术方案,能够避免芯片算力的浪费,降低芯片的总体计算量。
发明内容
本申请旨在提供一种用于人工智能模型推理平台的方法及计算设备,能有效地减少总体的计算量,更合理地利用推理平台提供的算力。
根据本申请的一方面,提供一种用于人工智能模型推理平台的方法,所述方法包括:
构建第一推理任务,所述第一推理任务包括至少一个算法模型节点,所述至少一个算法模型节点的至少一部分构成以接收外部输入数据的算法模型节点为起始节点的第一推理路径,所述第一推理路径中的算法模型节点串联联接,所述第一推理路径中的末端算法模型节点的输出数据定义为所述第一推理路径的输出数据,所述第一推理任务还包括与所述第一推理路径关联的第一功能点以用于缓存所述第一推理路径的输出数据;
构建第二推理任务,所述第二推理任务包括至少一个算法模型节点,所述至少一个算法模型节点的至少一部分构成以接收外部输入数据的算法模型节点为起始节点的第二推理路径,所述第二推理路径中的算法模型节点串联联接,所述第二推理路径中的末端算法模型节点的输出数据定义为所述第二推理路径的输出数据,所述第二推理任务还包括与所述第二推理路径关联的第二功能点以用于缓存所述第二推理路径的输出数据;
获取用于第一推理任务的第一输入数据并执行所述第一推理任务;
获取用于第二推理任务的第二输入数据;
如果所述第二输入数据与所述第一输入数据相同,且所述第二推理路径与所述第一推理路径相同,则所述第二推理任务复用所述第一推理路径的输出数据。
根据一些实施例,所述第一推理路径包括一个或多个算法模型节点,所述第二推理路径包括一个或多个算法模型节点。
根据一些实施例,所述获取用于第一推理任务的第一输入数据并执行所述第一推理任务,包括:
从所述第一输入数据获得唯一标识所述第一输入数据的第一标记;
从所述第一标记和所述第一推理路径生成第一键,并存储所述第一键;
利用所述第一输入数据执行所述第一推理任务,所述第一功能点缓存所述第一推理路径的输出数据作为第一缓存数据;
关联所述第一键和所述第一缓存数据。
根据一些实施例,所述获取用于第二推理任务的第二输入数据,包括:
从所述第二输入数据获得唯一标识所述第二输入数据的第二标记;
从所述第二标记和所述第二推理路径生成第二键。
根据一些实施例,所述第二推理任务复用所述第一推理路径的输出数据,包括:
所述第二推理任务在执行计算前,检查所述缓存中是否存在与所述第二键相同的第一键;
如果检查到与所述第二键相同的所述第一键,则获取与所述第一键对应的第一缓存数据,省略所述第一推理路径的推理计算而利用所述第一缓存数据执行后续算法模型节点的推理计算。
根据一些实施例,所述第二推理任务复用所述第一推理路径的输出数据,还包括:
如果未获取到与所述第一键对应的第一缓存数据,则等待所述第一推理路径的推理计算完成,获得所述第一缓存数据,并利用所述第一缓存数据执行后续算法模型节点的推理计算。
根据一些实施例,所述第一标记和所述第二标记分别由所述第一输入数据和所述第二输入数据的来源定义。
根据一些实施例,如果未检查到与所述第二键相同的第一键,则利用所述第二输入数据执行所述第二推理任务,所述第二功能点缓存所述第二推理路径的输出数据作为第二缓存数据;关联所述第二键和与所述第二缓存数据。
根据一些实施例,所述第一推理任务和/或所述第二推理任务的每个算法模型节点关联一个用于缓存相应算法模型节点的输出数据的功能点。
根据一些实施例,所述第一推理任务和所述第二推理任务执行内容文本语义分析,所述第一输入数据和所述第二输入数据的消息摘要分别作为所述第一标记和所述第二标记。
根据一些实施例,关联所述第一键和所述第一缓存数据包括:将所述第一键和所述第一缓存数据的地址存储为键值对。关联所述第二键和所述第二缓存数据包括:将所述第二键和所述第二缓存数据的地址存储为键值对。
根据本申请的另一方面,提供一种计算设备,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如上任一项所述的方法。
根据本申请的另一方面,提供一种非瞬时性计算机可读存储介质,其上存储有计算机可读指令,当所述指令被处理器执行时,使得所述处理器执行如上任一项所述的方法。
根据本申请的实施例,针对推理平台运行推理任务时不同的推理任务数据彼此独立导致无法实现数据共享、对同一份数据可能存在多次计算而浪费芯片算力的问题,通过对输入数据进行标记并将其对应的推理结果进行缓存,从而当所述输入数据在其他算法中使用相同的算法模型时,可以直接复用缓存的结果,有效减少算法计算量,合理利用芯片的算力,避免资源浪费。此外,本申请的计算方案通过对推理路径的结果进行复用,而不是局限于单个节点,可以提高复用效率。
根据一些实施例,通过利用输入数据的唯一标记对输入数据进行标识,可以更易于快速判别推理结果是否可以复用,提高计算效率。
根据一些实施例,对于内容文本语义分析的任务,以消息摘要作为标记,提高了方案应用的灵活性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。
图1示出根据示例实施例的用于人工智能模型推理平台的方法流程图。
图2示出根据示例实施例的执行第一推理任务的方法流程图。
图3示出根据示例实施例的执行第二推理任务的方法流程图。
图4a-图4d示出根据示例实施例的推理任务示意图。
图5示出根据示例性实施例的计算设备的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本申请将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本申请概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本申请所必须的,因此不能用于限制本申请的保护范围。
目前在人工智能模型推理平台中,每个算法模型的输入是独立的,而推理任务通常由多个模型组成,多个推理任务可能会使用到相同的算法模型。当这两个推理任务同时在推理平台上运行时,对于同一个输入数据,也需要复制成两份分别交到两个推理任务中进行推理运算,存在同一个数据需要同时计算两次的情形,会使进行统一的管理和维护工作变的较为困难,缺少算法成果复用途径,当遇到相同场景分析时,总是要从头开始计算实现,从而耗费更多时间,导致工作效率大幅降低。
为此,本申请提出一种用于人工智能模型推理平台的方法,通过对输入数据进行标记并将其对应的推理结果进行缓存,当所述输入数据在其他算法中使用相同的算法模型时,可以直接复用缓存的结果,有效减少数据的重复计算,合理利用芯片的算力,避免资源浪费,提高推理效率和资源利用率。
下面结合附图对本申请的示例实施例进行说明。
图1示出根据示例实施例的用于人工智能模型推理平台的方法流程图。
根据示例实施例,在推理平台中通过对推理任务形式的规范化,将推理任务分成多个调用节点,通过从输入数据获取所赋予的唯一标记,并对在推理平台中推理的模型节点的结果进行缓存来实现在多任务(多个推理任务)高频率调用时推理结果的复用。
在S101,获取用于第一推理任务的第一输入数据并执行所述第一推理任务。
根据一些实施例,构建第一推理任务,所述第一推理任务至少包括一个算法模型节点。算法模型节点的至少一部分,构成以接收外部输入数据的算法模型节点为起始节点的第一推理路径。根据一些实施例,第一推理路径包括一个或多个算法模型节点。第一推理路径中的算法模型节点串联联接,第一推理路径中的末端算法模型节点的输出数据定义为第一推理路径的输出数据。第一推理任务还包括与第一推理路径关联的第一功能点以用于缓存第一推理路径的输出数据。也就是说,功能点为推理平台在节点间插入的一个功能,用来缓存上一个节点的结果(即关联推理路径的输出数据)以用于复用。
根据一些实施例,执行所述第一推理任务可包括:从所述第一输入数据获得唯一标识所述第一输入数据的第一标记;从所述第一标记和所述第一推理路径生成第一键并存储;利用所述第一输入数据执行所述第一推理任务,所述第一功能点缓存所述第一推理路径的输出数据作为第一缓存数据;关联所述第一键和所述第一缓存数据。
在S103,获取用于第二推理任务的第二输入数据。
根据一些实施例,构建第二推理任务,所述第二推理任务至少包括一个算法模型节点。算法模型节点的至少一部分,构成以接收外部输入数据的算法模型节点为起始节点的第二推理路径。根据一些实施例,第二推理路径包括一个或多个算法模型节点。第二推理路径中的算法模型节点串联联接,第二推理路径中的末端算法模型节点的输出数据定义为第二推理路径的输出数据。第二推理任务还包括与第二推理路径关联的第二功能点以用于缓存第二推理路径的输出数据。
根据一些实施例,所述获取用于第二推理任务的第二输入数据可包括:从所述第二输入数据获得唯一标识所述第二输入数据的第二标记;从所述第二标记和所述第二推理路径生成第二键。
在S105,如果第二输入数据与第一输入数据相同,且第二推理路径与第一推理路径相同,则第二推理任务复用第一推理路径的输出数据。
根据一些实施例,第一推理任务和第二推理任务的每个算法模型节点,会关联一个用于缓存相应算法模型节点的输出数据的功能点以缓存推理结果。
根据一些实施例,所述第二推理任务在执行计算前,检查所述缓存中是否存在与所述第二键相同的第一键。如果检查到与所述第二键相同的第一键,则获取与所述第一键对应的第一缓存数据,从而省略所述第一推理路径的推理计算而利用所述第一缓存数据执行第一推理路径的后续算法模型节点的推理计算。如果未检查到与所述第二键相同的所述第一键,则存储所述第二键和与所述第二键对应的所述第二功能点的第二缓存数据。
这样,根据示例实施例,通过对相同输入数据和相同推理路径的输出数据进行复用,可以有效地减少总体的计算量,更合理地利用推理平台提供的算力。
例如,在平台同时运行口罩检测A和安全帽检测B两个推理任务时,都需要用到yolov4模型先检测到头部。A对输入图像数据做yolov4检测,得到人头位置并抠出来,传递到resnet50模型进行分类,确认人脸上是否有戴口罩的特征。B 对输入图像数据做yolov4检测,得到人头位置并抠出来,传递到resnet18模型进行分类,确认人头上是否具备戴帽子的特征。
上述两个推理任务很可能来自同一个摄像头数据源。两个推理任务是独立的,正常的推理流程一个图像帧需要复制两份分别送到两个推理任务运行推理计算,则这个数据需要分别在A和B应用中经过yolov4计算,结果也会是完全一样的。如果使用推理平台,将图像数据交给推理平台,并生成一个数据id告诉平台需要进行A和B两个算法推理,则当A进行推理时,会在平台留下id正在推理yolov4的信息,而B使用同样的id要推理yolov4时,获得该信息,即了解同样的数据正在推理,不需要重复计算,只需要从结果缓存拿结果或者等待结果。
图2示出根据示例实施例的执行第一推理任务的方法流程图。
参见图2,在S201,从第一输入数据获得唯一标识第一输入数据的第一标记。
根据一些实施例,第一推理任务获取第一输入数据,从第一输入数据中取得标识数据的第一标记,通过算法模型进行推理计算后获得在算法模型节点得到的第一结果。
根据一些实施例,第一标记由所述第一输入数据的来源定义,例如数据的存储路径或数据区域来定义,并可作为输入数据的属性或作为输入数据结构的一部分,从而可更易于快速判别推理结果是否可以复用,提高计算效率。
根据一些实施例,针对推理任务的输入数据通常为图像数据,可以用图像路径和数据区域来命名图像数据。例如,利用图像来源的摄像头IP+时间戳+序号来唯一标记该输入数据,提高标识的方便性和易用性。
根据一些实施例,利用算法计算后的值作为数据的标记。例如,第一推理任务和第二推理任务执行内容文本语义分析时,可将第一输入数据和第二输入数据的消息摘要分别作为第一标记和第二标记,使得数据复用的判断具有更高灵活性。
在S203,从第一标记和第一推理路径生成第一键。
根据一些实施例,通过S201获取到第一标记后,从第一标记与第一推理路径生成第一键并存储,例如直接对二者进行字符串连接组合,但本申请不限于此。易于理解,对于不存在关联功能点以缓存中间结果的推理路径,由于不缓存结果,自然不复用结果,因此也无须从数据标记和推理路径生成键来存储。
在S205,将第一输入数据输入第一推理任务。
根据一些实施例,利用第一输入数据执行第一推理任务,所述第一功能点缓存所述第一推理路径的输出数据作为第一缓存数据。
在S207,关联第一键和第一缓存数据。
根据一些实施例,所述第一键和第一缓存数据的地址存储为键值对。
例如,推理任务T-A将第一输入数据D-A1输入到算法第一算法模型M-A中进行推理后,将第一结果R-A缓存在推理平台缓存Cache中作为第一缓存数据,相应的键值对为{D-A1-M-A:R-A}。
图3示出根据示例实施例的第二推理任务复用所述第一推理路径的输出数据的方法流程图。
参见图3,在S301,从第二输入数据获得唯一标识第二输入数据的第二标记。
根据一些实施例,第二标记由所述第二输入数据的来源定义,例如数据的存储路径或数据区域来定义。
根据一些实施例,所述标记还可以利用文件内容文本语义分析,可以将整个文件内容的信息摘要算法(MD5)计算出的值作为数据标记。
在S303,从第二标记和第二推理路径生成第二键。
根据一些实施例,通过S301获取到第二标记后,第二标记与第二推理路径生成第二键。例如,第二键为D-A2-M-A。
在S307,第二推理任务在执行计算前,检查所述缓存中是否存在与第二键相同的第一键。
根据一些实施例,第一输入数据通过算法模型的计算,获取第一缓存数据并缓存在平台cache中。当第二推理任务获取到第二输入数据的第二键后,首先检查判断第二键与平台cache中缓存的第一缓存数据的第一键是否相同。如果相同,则转至S311;否则,转至S309。
在S309,存储第二键并缓存所述第二推理路径的输出数据作为第二缓存数据。
根据一些实施例,当判断未检查到与第二键相同的第一键,则存储第二键,进行第二推理路径的推理计算,第二功能点缓存第二推理路径的输出数据作为第二缓存数据,关联所述第二键和与所述第二缓存数据。
在S311,判断第一推理路径的推理计算是否完成。
根据一些实施例,当判断缓存中存在与第二键相同的第一键,则对第一推理路径是否完成推理计算进行判断。例如,如果获取到与所述第一键对应的第一缓存数据不为空,则认为第一推理路径的推理计算完成,转至S313;否则,转至S315。
在S313,获取与第一键对应的第一缓存数据,省略第一推理路径的推理计算而利用第一缓存数据执行第一推理路径的后续算法模型节点的推理计算。
根据一些实施例,当检查到第二键与第一键相同且获取与第一键对应的第一缓存数据后,则省略第一推理路径的推理计算,直接复用第一缓存数据,利用第一缓存数据来执行第一推理路径的后续算法模型节点的推理计算。
在S315,等待所述第一推理路径的推理计算完成,获得所述第一缓存数据,并利用所述第一缓存数据执行第一推理路径的后续算法模型节点的推理计算。
根据一些实施例,当检测到第二键与第一键相同,但第一推理路径的推理计算未完成,则等待第一推理路径的推理计算完成,获得所述第一缓存数据后省略第一推理路径的推理计算,直接复用第一缓存数据,利用第一缓存数据来执行后续算法模型节点的推理计算。
图4a-图4d示出根据示例实施例的推理任务示意图。
参见图4a,平台中有推理任务T-A,其中,推理任务T-A由算法模型M-A组成,当数据D-A1经过算法模型M-A后,可得到推理结果并通过关联的功能点R-A缓存于平台。
参见图4b,平台中有推理任务T-B其中,推理任务T-B由算法模型M-A、算法模型M-B、算法模型M-E线性连结而成。当推理任务T-B推理时D-A2经过算法模型M-A后得到推理结果并通过关联的功能点R-A在推理平台中缓存。
参见图4c,平台中有推理任务T-C,其中,推理任务T-C由算法模型M-A、算法模型M-C线性连结而成。
参见图4d,平台中有推理任务T-D,其中,推理任务T-D由算法模型M-A、算法模型M-D线性连结而成。
推理任务T-C和推理任务T-D在推理数据D-A2时,发现功能点R-A处已经有缓存,则不需要经过算法模型M-A的推理,直接利用缓存结果从后续节点继续往后推理。
参见图4b,该推理任务T-B还具有与推理路径M-A-M-B关联的功能点R-B以缓存该路径的输出数据,以及与推理路径M-A-M-B-M-E关联的功能点R-E以缓存该路径的输出数据。
参见图4c,该推理任务T-C还具有与推理路径M-A-M-C关联的功能点R-C以缓存该路径的输出数据。
参见图4d,该推理任务T-D具有推理路径M-A关联的功能点R-A以缓存该路径的输出数据,但不具有与推理路径M-A-M-D关联的功能点,因此该推理路径的输出数据可不被缓存。根据一些实施例,每一算法模型节点,都关联一个功能点以缓存推理结果。
易于理解,推理任务不限于图中所示形式。根据一些实施例,推理任务可包括多个路径分支。
图5示出根据本申请示例实施例的计算设备的框图。
如图5所示,计算设备30包括处理器12和存储器14。计算设备30还可以包括总线22、网络接口16以及I/O接口18。处理器12、存储器14、网络接口16以及I/O接口18可以通过总线22相互通信。
处理器12可以包括一个或多个通用CPU(Central Processing Unit,处理器)、微处理器、或专用集成电路等,用于执行相关程序指令。根据一些实施例,计算设备30还可包括为处理器12进行加速的高性能显示适配器(GPU)20。
存储器14可以包括易失性存储器形式的机器系统可读介质,例如随机存取存储器(RAM)、只读存储器(ROM)和/或高速缓存存储器。存储器14用于存储包含指令的一个或多个程序以及数据。处理器12可读取存储在存储器14中的指令以执行上述根据本申请实施例的方法。
计算设备30也可以通过网络接口16与一个或者多个网络通信。该网络接口16可以是无线网络接口。
总线22可以为包括地址总线、数据总线、控制总线等。总线22提供了各组件之间交换信息的通路。
需要说明的是,在具体实施过程中,计算设备30还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)、网络存储设备、云存储设备,或适合于存储指令和/或数据的任何类型的媒介或设备。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种方法的部分或全部步骤。
本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列、集成电路等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上具体地展示和描述了本申请的示例性实施例。应可理解的是,本申请不限于这里描述的详细结构、设置方式或实现方法;相反,本申请意图涵盖包含在所附条款的精神和范围内的各种修改和等效设置。
Claims (9)
1.一种用于人工智能模型推理平台的方法,其特征在于,包括:
构建第一推理任务,所述第一推理任务包括至少一个算法模型节点,所述至少一个算法模型节点的至少一部分构成以接收外部输入数据的算法模型节点为起始节点的第一推理路径,所述第一推理路径中的算法模型节点串联联接,所述第一推理路径中的末端算法模型节点的输出数据定义为所述第一推理路径的输出数据,所述第一推理任务还包括与所述第一推理路径关联的第一功能点以用于缓存所述第一推理路径的输出数据;
构建第二推理任务,所述第二推理任务包括至少一个算法模型节点,所述至少一个算法模型节点的至少一部分构成以接收外部输入数据的算法模型节点为起始节点的第二推理路径,所述第二推理路径中的算法模型节点串联联接,所述第二推理路径中的末端算法模型节点的输出数据定义为所述第二推理路径的输出数据,所述第二推理任务还包括与所述第二推理路径关联的第二功能点以用于缓存所述第二推理路径的输出数据;
获取用于第一推理任务的第一输入数据并执行所述第一推理任务,包括:
从所述第一输入数据获得唯一标识所述第一输入数据的第一标记;
从所述第一标记和所述第一推理路径生成第一键,并存储所述第一键;
利用所述第一输入数据执行所述第一推理任务,所述第一功能点缓存所述第一推理路径的输出数据作为第一缓存数据;
关联所述第一键和所述第一缓存数据;
获取用于第二推理任务的第二输入数据,包括:
从所述第二输入数据获得唯一标识所述第二输入数据的第二标记;
从所述第二标记和所述第二推理路径生成第二键;
如果所述第二输入数据与所述第一输入数据相同,且所述第二推理路径与所述第一推理路径相同,则所述第二推理任务复用所述第一推理路径的输出数据,包括:
所述第二推理任务在执行计算前,检查所述缓存中是否存在与所述第二键相同的第一键;
如果检查到与所述第二键相同的第一键,则获取与所述第一键对应的第一缓存数据,省略所述第一推理路径的推理计算而利用所述第一缓存数据执行所述第一推理路径的后续算法模型节点的推理计算。
2.根据权利要求1所述的方法,其特征在于,所述第一推理路径包括一个或多个算法模型节点,所述第二推理路径包括一个或多个算法模型节点。
3.根据权利要求1所述的方法,其特征在于,所述第二推理任务复用所述第一推理路径的输出数据,还包括:
如果未获取到与所述第一键对应的第一缓存数据,则等待所述第一推理路径的推理计算完成,获得所述第一缓存数据,并利用所述第一缓存数据执行所述第一推理路径的后续算法模型节点的推理计算。
4.根据权利要求1所述的方法,其特征在于,所述第一标记和所述第二标记分别由所述第一输入数据和所述第二输入数据的来源定义。
5.根据权利要求1所述的方法,其特征在于,
如果未检查到与所述第二键相同的所述第一键,则存储所述第二键,利用所述第二输入数据执行所述第二推理任务,所述第二功能点缓存所述第二推理路径的输出数据作为第二缓存数据;
关联所述第二键和与所述第二缓存数据。
6.根据权利要求1所述的方法,其特征在于,
所述第一推理任务和/或所述第二推理任务的每个算法模型节点关联一个用于缓存相应算法模型节点的输出数据的功能点。
7.根据权利要求1所述的方法,其特征在于,所述第一推理任务和所述第二推理任务执行内容文本语义分析,所述第一输入数据和所述第二输入数据的消息摘要分别作为所述第一标记和所述第二标记。
8.根据权利要求5所述的方法,其特征在于,
关联所述第一键和所述第一缓存数据,包括:将所述第一键和所述第一缓存数据的地址存储为键值对;
关联所述第二键和所述第二缓存数据,包括:将所述第二键和所述第二缓存数据的地址存储为键值对。
9.一种计算设备,其特征在于,包括:
处理器;以及
存储器,存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265671.6A CN116992966B (zh) | 2023-09-28 | 2023-09-28 | 用于人工智能模型推理平台的方法及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311265671.6A CN116992966B (zh) | 2023-09-28 | 2023-09-28 | 用于人工智能模型推理平台的方法及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116992966A CN116992966A (zh) | 2023-11-03 |
CN116992966B true CN116992966B (zh) | 2024-01-16 |
Family
ID=88528748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311265671.6A Active CN116992966B (zh) | 2023-09-28 | 2023-09-28 | 用于人工智能模型推理平台的方法及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116992966B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015535A (zh) * | 2020-08-28 | 2020-12-01 | 苏州科达科技股份有限公司 | 任务处理方法、装置、电子设备、存储介质 |
CN112529169A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 数据处理方法、模型优化装置和模型执行装置 |
CN113313244A (zh) * | 2021-06-17 | 2021-08-27 | 东南大学 | 面向加法网络的近存储神经网络加速器及其加速方法 |
CN113608881A (zh) * | 2021-10-09 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 内存分配方法、装置、设备、可读存储介质及程序产品 |
CN115860066A (zh) * | 2022-12-19 | 2023-03-28 | 南京大学 | 一种基于批处理的神经网络推理流水线复用的方法 |
-
2023
- 2023-09-28 CN CN202311265671.6A patent/CN116992966B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112529169A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 数据处理方法、模型优化装置和模型执行装置 |
CN112015535A (zh) * | 2020-08-28 | 2020-12-01 | 苏州科达科技股份有限公司 | 任务处理方法、装置、电子设备、存储介质 |
CN113313244A (zh) * | 2021-06-17 | 2021-08-27 | 东南大学 | 面向加法网络的近存储神经网络加速器及其加速方法 |
CN113608881A (zh) * | 2021-10-09 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 内存分配方法、装置、设备、可读存储介质及程序产品 |
CN115860066A (zh) * | 2022-12-19 | 2023-03-28 | 南京大学 | 一种基于批处理的神经网络推理流水线复用的方法 |
Non-Patent Citations (1)
Title |
---|
智能环境下基于雾计算的推理节点优化分配研究;汪成亮等;《电子学报》(第01期);第38-46页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116992966A (zh) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111694840B (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN112653760B (zh) | 跨服务器的文件传输方法、装置、电子设备及存储介质 | |
WO2021189855A1 (zh) | 基于ct序列的图像识别方法、装置、电子设备及介质 | |
CN111666415A (zh) | 话题聚类方法、装置、电子设备及存储介质 | |
CN111950621B (zh) | 基于人工智能的目标数据检测方法、装置、设备及介质 | |
CN111797351A (zh) | 页面数据管理方法、装置、电子设备及介质 | |
CN112396547B (zh) | 基于无监督学习的课程推荐方法、装置、设备及介质 | |
CN111949708A (zh) | 基于时序特征提取的多任务预测方法、装置、设备及介质 | |
CN112131002A (zh) | 数据管理方法及装置 | |
CN114077841A (zh) | 基于人工智能的语义提取方法、装置、电子设备及介质 | |
CN113806434A (zh) | 大数据处理方法、装置、设备及介质 | |
CN111814045A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN112597752B (zh) | 投诉文本的处理方法、装置、电子设备及存储介质 | |
CN113434542B (zh) | 数据关系识别方法、装置、电子设备及存储介质 | |
Fang et al. | SIFO: secure computational infrastructure using FPGA overlays | |
CN113157739B (zh) | 跨模态检索方法、装置、电子设备及存储介质 | |
CN112256472B (zh) | 分布式数据调取方法、装置、电子设备及存储介质 | |
CN113204698A (zh) | 新闻主题词生成方法、装置、设备及介质 | |
CN116992966B (zh) | 用于人工智能模型推理平台的方法及计算设备 | |
CN113326867A (zh) | 一种流量检测方法、装置、设备及介质 | |
CN111930963A (zh) | 知识图谱生成方法、装置、电子设备及存储介质 | |
CN116842290A (zh) | 数据缓存方法、装置、设备及计算机可读存储介质 | |
CN112017763A (zh) | 医疗影像数据传输方法、装置、设备及介质 | |
CN115002062B (zh) | 消息处理方法、装置、设备及可读存储介质 | |
CN114201466B (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 |