CN111783952B - 配置方法、装置、系统、电子设备以及存储介质 - Google Patents

配置方法、装置、系统、电子设备以及存储介质 Download PDF

Info

Publication number
CN111783952B
CN111783952B CN202010613892.8A CN202010613892A CN111783952B CN 111783952 B CN111783952 B CN 111783952B CN 202010613892 A CN202010613892 A CN 202010613892A CN 111783952 B CN111783952 B CN 111783952B
Authority
CN
China
Prior art keywords
model
target
target model
configuration information
calculation
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
Application number
CN202010613892.8A
Other languages
English (en)
Other versions
CN111783952A (zh
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010613892.8A priority Critical patent/CN111783952B/zh
Publication of CN111783952A publication Critical patent/CN111783952A/zh
Application granted granted Critical
Publication of CN111783952B publication Critical patent/CN111783952B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了配置方法、装置、系统、电子设备和存储介质,涉及人工智能、深度学习技术领域。具体实现方案为:获取目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索;其中,计算路径包括基于目标模型拆分的多个计算任务以及运行各个计算任务的硬件;根据多条计算路径的计算速度,确定目标模型的目标计算路径,以基于目标计算路径得到目标优化模型。本申请实施例大幅降低用户部署模型的时间成本和使用门槛。

Description

配置方法、装置、系统、电子设备以及存储介质
技术领域
本申请涉及人工智能技术领域,尤其涉深度学习技术领域。
背景技术
深度学习推理技术是对深度学习模型的前向计算过程,通常用于训练阶段的模型评估和实际部署阶段的快速推理。由于存在多种形态的异构计算设备,使得深度学习模型的部署复杂度提高。
发明内容
本申请提供了一种配置方法、装置、设备以及存储介质。
根据本申请的一方面,提供了一种配置方法,包括:
获取目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索;其中,计算路径包括基于目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
根据多条计算路径的计算速度,确定目标模型的目标计算路径,以基于目标计算路径得到目标优化模型。
根据本申请的另一方面,提供了一种配置装置,包括:
配置信息获取模块,用于获取目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
计算路径搜索模块,用于根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索;其中,计算路径包括基于目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
目标计算路径确定模块,用于根据多条计算路径的计算速度,确定目标模型的目标计算路径,以基于目标计算路径得到目标优化模型。
根据本申请的另一方面,提供了一种数据处理系统,包括:
接口装置,用于接收目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
预处理装置,用于获取目标输入数据;
调度装置,用于根据目标模型和硬件列表,确定目标优化模型,调度装置采用本申请提供的一种调度装置;
计算装置,用于根据目标优化模型对目标输入数据的计算,得到计算结果。
根据本申请的技术大幅降低用户部署模型的时间成本和使用门槛。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请实施例的配置方法的流程图一;
图2是根据本申请实施例的配置方法的流程图二;
图3是根据本申请实施例的配置装置的结构图;
图4是根据本申请实施例的系统的结构图;
图5是根据本申请实施例的推理框架的示例图一;
图6是根据本申请实施例的推理框架的示例图二;
图7是根据本申请实施例的推理框架的示例图三;
图8是根据本申请实施例的推理框架的示例图四;
图9是用来实现本申请实施例的推理方法的电子设备的框图;
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
参见图1,本申请实施例提供一种配置方法,涉及计算机、云计算、人工智能、深度学习和图像处理等技术领域,配置方法包括:
S101、获取目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
S102、根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索;其中,计算路径包括基于目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
S103、根据多条计算路径的计算速度,确定目标模型的目标计算路径,以基于目标计算路径得到目标优化模型。
其中,上述方法可以运用于深度学习的推理框架中,可以实现推理框架对硬件的自动调度功能。此外,推理框架中还可以包括接口、预处理装置、推理引擎、后处理装置、硬件层等多种结构。
本申请实施例,用户输入目标模型和相应的配置信息,配置信息中配置的硬件列表,尝试不同的目标模型计算拆分方案以及不同硬件的搭配方案,为目标模型的计算找到最优方案。例如,目标模型的计算拆分为任务(A1,A2,A3)而硬件列表中有硬件(X、Y、Z),假设是将(A1,A2,A3)和(X、Y、Z)搭配,可以得到6种方案。此外,还需要考虑目标模型的计算可以拆分不同任务方式,例如可以拆分成(B1,B2,B3,B4)和(C1,C2)等等,因此,可以得到不同计算任务拆分方案和不同硬件的组合方式的数量是十分大的。
本申请实施例能大幅降低用户部署模型的时间成本和使用门槛,实现对硬件的自动调度,并且利用目标计算路径可以大大提高模型计算效率。此外,由于本申请实施例已经可以制定硬件的分配方案,用户输入配置时无需再编写分配方案,减少了用户配置的工作量。
在一种实施方式中,还包括:获取目标模型的标识符信息;可选地,标识符信息可以为模型的序列化位置信息。
参见图2,在步骤S102之前,还包括:
S201、在与标识符信息对应的存储位置,检索与目标模型对应的历史优化模型;其中,与目标模型对应的历史优化模型为已基于目标计算路径完成优化且存储于存储位置下的模型;S202、如果检索成功,则将检索到的历史优化模型作为目标模型的目标优化模型;
S203、如果检索失败,则执行步骤S102的根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索。
将历史优化模型存储于对应的序列位置,那么下次用户输入同样的目标模型和序列位置时,可以直接基于序列位置找到目标优化模型,大大减少工作量。
在一种实施方式中,在步骤S102的计算路径搜索中对于计算任务的确定可以包括模型算子融合策略、算子拆分策略和计算核函数选择策略的搜索等,即找到如何实现模型运算的最优方案。其中,模型融合策略指将模型的部分计算进行融合,例如“卷积(Covolution)+批归一化(Batch Normalization)”的运算可以融合为“卷积(Covolution)”的运算,算子拆分策略指的是可以将部分运算进行拆分并行计算,可以大大提高计算效率,计算核函数指的是为目标模型找到合适的核函数进行计算。
在一种实施方式中,标识符信息存储目标模型的历史优化模型存在多个,各个历史优化模型的模型配置信息不同;则,
步骤S201,包括:在标识符信息对应的存储位置,检索与目标模型的目标模型配置信息相匹配的历史优化模型。
由于历史产出可能存在多个目标模型的优化模型,此时可以根据目标配置信息唯一索引到对应的历史优化模型。
例如,模型配置信息包括数据并行数、模型并行硬件列表、模型并发数、运行精度、硬件类型、模型加密选项和模型版本等,对应的,利用上述配置信息作为历史优化模型的文件名。当通过标识符信息找到该目标模型的历史优化模型存放位置,可以找到与当前目标模型配置信息相匹配的文件名所对应的历史优化模型。
如果此时不存在序列化位置文件、搜索不到与目标配置信息匹配的文件名或者是无法加载历史优化模型,则执行步骤S102的目标模型计算路径搜索。
在一种实施方式中,存储的历史优化模型已做加密处理,因此,本申请实施例的目标模型配置信息还包括:模型加密选项。步骤S202在获取目标优化模型后,可以根据模型加密选项,解密目标模型,以保证目标优化模型可以正常加载和使用。
在一种实施方式中,目标模型配置信息包括模型并发数;
方法还包括:根据模型并发数,创建目标优化模型的多个执行实例。
其中,模型并发数指的是需要创建的模型的执行计算实例的个数。用户输入模型并发数,以实现目标优化模型可以并发执行多次计算。
在一种实施方式中,目标模型存在多个,各个目标模型均有对应的目标模型配置信息。
用户可以输入多个目标模型以及对应的目标模型配置信息,从而可以在一个机器上部署多个目标模型,并且各个目标模型可以同时加载,且各个目标模型同时进行计算路径搜索,大大提高了部署效率。
在一种实施方式中,目标配置信息还可以配置多个模型,每个模型都有对应的目标配置信息。
在一种实施方式中,在路径搜索完成后,还可以包括:根据序列化位置和模型加密选项将模型编译结果加密并存储到序列化位置。存储名由模型配置参数决定,以便后续使用的直接索引加载。
在一种实施方式中,方法还可以包括:根据配置硬件类型,根据配置的硬件类型选择推理引擎核心。推理引擎核心根据硬件类型不同可能为PaddleLite、TensorRT、OpenVINO、NNIE、Matrix等。
在一种实施方式中,方法还可以包括:根据配置硬件类型,选择使用硬件加速的核函数处理,以提升计算速度。
本申请实施例提供非常丰富的部署能力,能大幅降低用户部署模型的时间成本和使用门槛;提供完善的安全机制,保障模型安全;提供多模型、多硬件和并发的自动调度支持。
对应的,参见图3,本申请实施例提供一种配置装置,包括:
配置信息获取模块301,用于获取目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
计算路径搜索模块302,用于根据硬件列表中的多个硬件,对目标模型的进行多条计算路径搜索;其中,计算路径包括基于目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
目标计算路径确定模块303,用于根据多条计算路径的计算速度,确定目标模型的目标计算路径,以基于目标计算路径得到目标优化模型。
在一种实施方式中,还包括:序列位置获取模块,用于获取目标模型的标识符信息;
装置还包括:
检索模块,用于根据标识符信息,检索与目标模型对应的历史优化模型;其中,与目标模型对应的历史优化模型为已基于目标计算路径完成优化且存储于标识符信息下的模型;
如果检索成功,则将检索到的历史优化模型作为目标模型的目标优化模型;
如果检索失败,则执行计算路径搜索模块。
在一种实施方式中,标识符信息存储目标模型的历史优化模型存在多个,各个历史优化模型的模型配置信息不同;则,
检索模块,用于在标识符信息下,检索与目标模型的目标模型配置信息相匹配的历史优化模型。
在一种实施方式中,目标模型配置信息包括模型并发数;
装置还包括:并发创建模块,用于根据模型并发数,创建目标优化模型的多个执行实例。
在一种实施方式中,目标模型存在多个,各个目标模型均有对应的目标模型配置信息。
对应的,参见图4,本申请实施例提供一种数据处理系统,该系统可以应用于推理框架,该系统包括:
接口装置401,用于接收目标模型和目标模型的目标模型配置信息,其中,目标模型配置信息包括硬件列表;
预处理装置402,用于获取目标输入数据;
调度装置403,用于根据目标模型和目标模型的目标模型配置信息,确定目标优化模型,调度装置采用本申请实施例提供的一种调度装置;
计算装置,用于根据目标优化模型对目标输入数据的计算,得到计算结果。
在一种实施方式中,接口装置还用于接收输入配置信息和预处理参数,目标模型配置信息还包括数据并行数;
预处理装置用于根据输入配置信息,获取目标数据;获取预处理参数;根据预处理参数,对目标数据进行预处理;以及,根据数据并行数,对预处理得到的数据进行分组组装,得到目标输入数据。
在一种实施方式中,系统还可以包括硬件层,包括多种硬件,以供调度装置调度,实现目标优化模型的计算。
在一种实施方式中,系统还可以包括推理引擎装置,用于执行目标优化模型。调度装置可以根据目标模型配置信息中的配置硬件类型,从推理引擎装置中选取合适的推理引擎。
在一种实施方式中,系统还可以包括后处理装置,用于对计算结果进行后续处理,包括将计算结果实时显示在输入图片或视频上并且可保存为本地结果图片或结果视频文件,将计算结果以文本的形式保存为本地,将识别效果较差的图片或视频帧存储或上传至云服务器上作为增量数据集持续迭代模型提升效果。
如图5所示,本申请实施例提供的一种示例如下。
(1)接口装置,用于接收资源文件和配置(config)文件。
其中,模型资源文件,提供了用户的模型、对应模型的标签列表,模型的格式可以为PaddlePaddle、TensorFlow、Caffe、PyTorch或ONNX中的一种。
配置文件,提供了输入输出配置列表、模型配置列表、运行配置列表。
输入输出配置列表,用于配置图片或本地视频路径、包含图片或本地视频的文件夹路径、视频流;输入输出配置支持配置为包含图片或视频的文件夹,意思是支持批量图片或多路视频的输入。
预处理配置列表,用于配置对模型输入数据的预处理参数;
模型配置列表,用于配置模型对应的数据并行数、模型并行的硬件列表、模型并发数、运行精度、硬件类型、序列化位置、模型加密选项、模型版本。模型配置列表也可以称为运行配置列表。
(2)预处理装置,参见图6所示,用于解码视频或图片,并按照配置文件中配置的预处理参数对视频帧或图片进行图像处理,再根据运行配置中的数据并行数分组组装视频帧或图片作为后续执行前向计算的输入数据。
预处理装置,可以提供丰富的图像处理相关操作,包括但不限于视频的解码与抽帧、图片的解码,图像的裁剪、旋转、镜像、尺寸变换,及分组组装等。结合底层硬件特点,提供多种图像处理方案,使用底层硬件和针对性的调优库加速图像处理。用户可以通过配置文件快速使用相关能力。
(3)调度装置,也可称为调度层。参见图7所示,调度装置用于实现推理框架对硬件的调度。
调度装置可以根据配置的硬件类型选择最优推理引擎核心。推理引擎核心根据硬件类型不同可以为PaddleLite、TensorRT、OpenVINO、NNIE和Matrix等。
调度装置可以根据硬件类型,为预处理装置的预处理操作选择使用硬件加速的核函数处理以提升计算速度。
调度装置还可以实现对模型的编译,编译的过程包括了为模型计算配置合适的硬件。具体内容如下:
首先,根据配置文件的序列化位置,寻找序列化位置下的历史编译产出的优化模型,即图7的反序列化,该序列化位置下可以包括多个优化模型。然后,根据数据并行数、模型并行硬件列表、模型并发数、运行精度、硬件类型、模型加密选项和模型版本可以唯一索引到对应的历史产出文件。如果可以唯一索引到历史产出文件,若序列化位置文件不存在或加载失败,则重新加载并编译模型。加载过程会根据模型加密选项解密模型。
重新加载并编译模型的过程包括:
第一,根据配置文件的对应模型的模型并行硬件列表,将模型加载到一个或多个硬件,并根据配置的运行精度设置为对应精度。
第二,如果硬件列表是多个硬件,调度层会把模型的计算拆分到多个硬件并行计算,并会经过多轮计算路径搜索,选择最快的计算路径。这里所说的计算路径搜索包括了模型算子的融合策略、算子拆分策略、计算核函数选择策略的搜索等。
调度装置还用于根据模型并发数,将加载好的模型创建为多个实例。
这里的配置文件可以配置多个模型,每个模型都有对应的输入输出配置列表、预处理配置列表和模型配置列表。
一旦计算路径搜索完成,调度装置可以根据配置文件中的序列化位置和模型加密选项将模型编译结果加密并存储到序列化位置。存储名由模型配置参数决定,以便后续使用的直接索引加载。
(4)推理引擎装置,提供多种核心推理引擎,可支持的核心推理引擎包括但不限于PaddlePaddle、TensorRT、OpenVINO、PaddleLite、Matrix、NNIE、PaddleMobile、TVM等。提供扩展库延伸,互补各类核心推理引擎短板,主要包括对各类算子的补充支持。
(5)计算装置,用于对模型和硬件的调度完成后,会执行对模型的前向计算。
(6)后处理装置,参见图8所示,用于对计算结果会进行一些后处理操作,包括:将计算结果实时显示在输入图片或视频上并且可保存为本地结果图片或结果视频文件,将计算结果以文本的形式保存为本地,将识别效果较差的图片或视频帧存储或上传至云服务器上作为增量数据集持续迭代模型提升效果,即图8所示的负例收集。其中,图片或视频的可视化可以根据输入的数据并行配置有多路实时显示。
(6)硬件层。该框架支持了众多硬件,包括但不限于中央处理器(CPU,centralprocessing unit)、图形处理器(Graphics Processing Unit,GPU)、ARM-CPU、ARM-GPU、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、嵌入式神经网络处理器(Neural-network Processing Unit,NPU)、XPU、Ascend、Movidius等。
本申请实施例所提出的推理框架包括支持各种异构计算设备(非CPU的硬件)的核心推理引擎、算子扩展模块、图像处理模块、模型管理模块、模型和硬件调度模块和后处理模块等,具有下述优点:
1)本推理框架支持非常丰富的硬件形态,且可以最大限度发挥各种形态的硬件性能,提供更优的推理速度;
2)结合硬件特性,自动选择最优推理核心,自动计算最优计算路径,提升推理速度。
3)提供对硬件和模型的自动调度机制,对多模型多硬件的数据并行和模型并行的自动调度机制大大提高复杂场景模型部署的效率,降低用户部署难度;
4)为用户隔离硬件层、底层推理框架层的调度,只需通过配置文件即可实现复杂调度,大大降低用户开发成本;
5)提供算子扩展支持众多模型算子,提供模型加密等安全机制;
6)丰富的图像处理和可视化组件降低部署复杂度并可获得良好的效果展示。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图9所示,是根据本申请实施例的配置方法的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。
存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本申请所提供的配置方法的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的配置方法的方法。
存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的配置方法的方法对应的程序指令/模块(例如,附图3所示的配置信息获取模块301、计算路径搜索模块302和目标计算路径确定模块303)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的配置方法的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据配置方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至配置方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
配置方法的方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。
输入装置903可接收输入的数字或字符信息,以及产生与配置方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,提供一种基于多种推理引擎的前向推理框架。该框架内置多种可插拔式的核心推理引擎,提供了对各种异构计算设备推理加速的支持,针对预处理,前向计算,后处理,模型管理提供友好的接口,提供了对模型和硬件的自动调度功能,大大降低了模型部署的复杂度,使得用户可以简单快速部署模型并能最大化发挥计算设备的能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种配置方法,包括:
获取目标模型和所述目标模型的目标模型配置信息,其中,所述目标模型配置信息包括硬件列表;
获取所述目标模型的标识符信息;
在与所述标识符信息对应的存储位置,检索与所述目标模型对应的历史优化模型;其中,所述与所述目标模型对应的历史优化模型为已基于目标计算路径完成优化且存储于所述存储位置下的模型;在所述标识符信息对应的存储位置存储所述目标模型的历史优化模型存在多个的情况下,所述在与所述标识符信息对应的存储位置,检索与所述目标模型对应的历史优化模型,包括:在所述标识符信息对应的存储位置,检索与所述目标模型配置信息相匹配的历史优化模型,各个所述历史优化模型的模型配置信息不同;
如果检索成功,则将所述检索到的历史优化模型作为所述目标模型的目标优化模型;
如果检索失败,则根据所述硬件列表中的多个硬件,对所述目标模型的进行多条计算路径搜索;其中,所述计算路径包括基于所述目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
根据多条所述计算路径的计算速度,确定所述目标模型的目标计算路径,以基于所述目标计算路径得到目标优化模型。
2.根据权利要求1所述的方法,其中,所述目标模型配置信息包括模型并发数;
所述方法还包括:根据所述模型并发数,创建所述目标优化模型的多个执行实例。
3.根据权利要求1所述的方法,其中,所述目标模型存在多个,各个所述目标模型均有对应的目标模型配置信息。
4.一种配置装置,包括:
配置信息获取模块,用于获取目标模型和所述目标模型的目标模型配置信息,其中,所述目标模型配置信息包括硬件列表;
序列位置信息获取模块,用于获取所述目标模型的标识符信息;
检索模块,用于在与所述标识符信息对应的存储位置,检索与所述目标模型对应的历史优化模型;其中,所述与所述目标模型对应的历史优化模型为已基于目标计算路径完成优化且存储于所述标识符信息对应的存储位置的模型;在所述标识符信息对应的存储位置存储所述目标模型的历史优化模型存在多个的情况下,所述检索模块,具体用于在所述标识符信息对应的存储位置,检索与所述目标模型配置信息相匹配的历史优化模型,各个所述历史优化模型的模型配置信息不同;
如果检索成功,则将所述检索到的历史优化模型作为所述目标模型的目标优化模型;如果检索失败,则执行计算路径搜索模块;
计算路径搜索模块,用于根据所述硬件列表中的多个硬件,对所述目标模型的进行多条计算路径搜索;其中,所述计算路径包括基于所述目标模型拆分的多个计算任务以及运行各个计算任务的硬件;
目标计算路径确定模块,用于根据多条所述计算路径的计算速度,确定所述目标模型的目标计算路径,以基于所述目标计算路径得到目标优化模型。
5.根据权利要求4所述的装置,所述目标模型配置信息包括模型并发数;
所述装置还包括:根据所述模型并发数,创建所述目标优化模型的多个执行实例。
6.根据权利要求4所述的装置,其中,所述目标模型存在多个,各个所述目标模型均有对应的目标模型配置信息。
7.一种数据处理系统,包括:
接口装置,用于接收目标模型和所述目标模型的目标模型配置信息,其中,所述目标模型配置信息包括硬件列表;
预处理装置,用于获取目标输入数据;
调度装置,用于根据所述目标模型和所述硬件列表,确定目标优化模型,所述调度装置采用权利要求4-6任一项所述的调度装置;
计算装置,用于根据所述目标优化模型对所述目标输入数据的计算,得到计算结果。
8.根据权利要求7所述的系统,其中,
所述接口装置还用于接收输入配置信息和预处理参数,所述目标模型配置信息还包括数据并行数;
所述预处理装置用于根据所述输入配置信息,获取目标数据;获取预处理参数;根据所述预处理参数,对所述目标数据进行预处理;以及,根据所述数据并行数,对所述预处理得到的数据进行分组组装,得到所述目标输入数据。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-3中任一项所述的方法。
CN202010613892.8A 2020-06-30 2020-06-30 配置方法、装置、系统、电子设备以及存储介质 Active CN111783952B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010613892.8A CN111783952B (zh) 2020-06-30 2020-06-30 配置方法、装置、系统、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010613892.8A CN111783952B (zh) 2020-06-30 2020-06-30 配置方法、装置、系统、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN111783952A CN111783952A (zh) 2020-10-16
CN111783952B true CN111783952B (zh) 2023-07-14

Family

ID=72759954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010613892.8A Active CN111783952B (zh) 2020-06-30 2020-06-30 配置方法、装置、系统、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111783952B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688992B (zh) * 2021-10-25 2021-12-28 中电云数智科技有限公司 一种模型优化系统和方法
CN114020465A (zh) * 2021-11-08 2022-02-08 中兴通讯股份有限公司 模型的推理优化方法、系统、电子设备和存储介质
CN114492737B (zh) * 2021-12-31 2022-12-09 北京百度网讯科技有限公司 数据处理方法、装置及电子设备、存储介质及程序产品
CN114661571A (zh) * 2022-03-30 2022-06-24 北京百度网讯科技有限公司 模型评测方法、装置、电子设备和存储介质
CN114911465B (zh) * 2022-05-19 2023-01-10 北京百度网讯科技有限公司 算子的生成方法、装置、设备以及存储介质
CN116362316B (zh) * 2023-05-29 2023-12-12 成都阿加犀智能科技有限公司 一种模型转换方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833368A (zh) * 2010-04-13 2010-09-15 杭州电子科技大学 一种软硬件协调处理的局部动态可重构系统能量管理方法
CN111309479A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046755B2 (en) * 2005-12-30 2011-10-25 Sap Ag Deploying software based on a calculated deployment risk level

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833368A (zh) * 2010-04-13 2010-09-15 杭州电子科技大学 一种软硬件协调处理的局部动态可重构系统能量管理方法
CN111309479A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 一种任务并行处理的实现方法、装置、设备和介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
人工智能计算与数据服务平台的研究与应用;王彦棡;王珏;曹荣强;;数据与计算发展前沿(第06期);第90-101页 *

Also Published As

Publication number Publication date
CN111783952A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111783952B (zh) 配置方法、装置、系统、电子设备以及存储介质
US11475007B2 (en) Dynamic self-reconfiguration of nodes in a processing pipeline
JP7393357B2 (ja) 陽性パターンマッチング例および陰性パターンマッチング例に基づく正規表現生成
EP3889830A1 (en) Cross-modality processing method and apparatus, electronic device and computer storage medium
CN111931591B (zh) 用于构建关键点学习模型的方法、装置、电子设备及可读存储介质
CN110806923B (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
JP7317879B2 (ja) 映像を認識するための方法及び装置、電子機器、記憶媒体並びにコンピュータプログラム
JP7222040B2 (ja) モデル訓練、画像処理方法及びデバイス、記憶媒体、プログラム製品
CN111930521A (zh) 用于部署应用的方法、装置、电子设备及可读存储介质
CN111967568A (zh) 深度学习模型的适配方法、装置及电子设备
US20200183664A1 (en) User interface code re-use based upon machine learning of design documents
US11307984B2 (en) Optimized sorting of variable-length records
CN111158666A (zh) 实体归一化处理方法、装置、设备及存储介质
CN111061743B (zh) 数据加工方法、装置和电子设备
CN111563253B (zh) 智能合约运行方法、装置、设备及存储介质
CN111767149B (zh) 调度方法、装置、设备及存储设备
WO2023169193A1 (zh) 用于生成智能合约的方法和装置
CN111767059A (zh) 深度学习模型的部署方法、装置、电子设备和存储介质
US11461314B2 (en) Techniques for generating a boolean switch interface for logical search queries
JP7493462B2 (ja) 正規表現コード上で最長共通サブシーケンスアルゴリズムを用いた正規表現生成
US11055091B2 (en) Project adoption documentation generation using machine learning
CN112148279B (zh) 日志信息处理方法、装置、电子设备和存储介质
CN112560460B (zh) 抽取结构化信息的方法、装置、电子设备和可读存储介质
CN112101570A (zh) 一种模型训练和使用方法、装置、设备及存储介质
Zuo Design and Implementation of Online Translation Service Based on Mobile Cloud Computing Scheme

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