A task execution method, device, storage medium and electronic device

By splitting the model into sub-models and assigning them to appropriate computing nodes to execute tasks, the problem of server resource consumption was solved and task processing efficiency was improved.

CN116185629BActive Publication Date: 2026-04-14ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG LAB
Filing Date
2023-02-22
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In existing technologies, sending all tasks to the server for execution results in heavy server resource consumption and reduces task processing efficiency.

Method used

The target model is broken down into sub-models, and the data transmission links and target nodes are determined based on the task requirements. Sub-tasks are then assigned to the most suitable computing nodes for execution.

Benefits of technology

Make full use of the computing resources of terminal devices and servers to improve task execution efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116185629B_ABST
    Figure CN116185629B_ABST
Patent Text Reader

Abstract

The specification discloses a task execution method, device, storage medium and electronic equipment. A task request is received, a model used for executing a task corresponding to the task request is determined as a target model, and each network layer included in the target model is split to obtain each sub-model. According to each split sub-model, the task is split to obtain each sub-task. According to demand information of executing the task corresponding to the task request, each data transmission link used when each sub-task is processed is determined as each target link, and each target node is assigned to each sub-task according to the target link, so that the task corresponding to the task request is executed through each target node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of computer technology, and in particular to a method, apparatus, storage medium and electronic device for performing a task. Background Technology

[0002] With the development of artificial intelligence, the application of machine learning is expanding from breadth to depth, which places higher demands on both model training and application. Currently, as models become increasingly powerful, a common approach to model training is to deploy the model to the cloud. The terminal sends the data to be processed to the server, which then processes the data using the deployed model to obtain the results.

[0003] However, this method of sending all processing tasks to the server for execution not only consumes a lot of server resources, but also reduces the efficiency of task processing.

[0004] Therefore, how to fully utilize the computing resources of terminal devices and servers and allocate tasks to the most suitable computing nodes during task execution is an urgent problem to be solved. Summary of the Invention

[0005] This specification provides a method, apparatus, storage medium, and electronic device for performing tasks, in order to partially solve the aforementioned problems existing in the prior art.

[0006] The following technical solution is adopted in this specification:

[0007] This manual provides a method for task execution, including:

[0008] Receive task requests;

[0009] The model used to execute the task corresponding to the task request is determined as the target model;

[0010] The network layers contained in the target model are split into sub-models, wherein each sub-model contains a portion of the network layers in the target model.

[0011] Based on the derived sub-models, the task is further divided into sub-tasks.

[0012] Based on the requirement information of the task corresponding to the task request, each data transmission link used to process each sub-task is determined as a target link. Each target link contains a target node, and the target node is equipped with a sub-model required to execute the sub-task processed by the target link.

[0013] According to the target link, each subtask is assigned to each target node so that the task corresponding to the task request can be executed through each target node.

[0014] Optionally, a model for executing the task corresponding to the task request is determined as the target model, specifically including:

[0015] Based on the requirement information for executing the task corresponding to the task request, a model for executing the task corresponding to the task request is determined as the target model.

[0016] Optionally, the method further includes:

[0017] If it is determined that the requirement information has changed before executing the task corresponding to the task request, then a new model for executing the task corresponding to the task request is determined based on the changed requirement information.

[0018] Optionally, the method further includes:

[0019] If it is determined before executing the task corresponding to the task request that the model used to execute the task corresponding to the task request has been updated, then the updated model will be used as the target model.

[0020] Optionally, the network layers contained in the target model can be split into sub-models, specifically including:

[0021] Based on the pre-labeled decomposable network layers in the target model, each network layer in the target model is decomposed to obtain a sub-model.

[0022] Optionally, based on the requirement information of the task corresponding to the task request, the data transmission links used in processing each sub-task are determined as each target link, specifically including:

[0023] Based on the requirement information of the task corresponding to the task request, each candidate link is determined;

[0024] For each candidate link, if the candidate link contains an intermediate node, the link parameters of the candidate link are determined according to the node parameters of the intermediate node and the node parameters of the node in the candidate link that has a sub-model deployed for processing sub-tasks. The intermediate node is used to send the data required to perform the task through the candidate link to the node in the candidate link that has a sub-model deployed.

[0025] Based on the link parameters corresponding to each candidate link and the requirement information, the data transmission links used to process each subtask are determined from the candidate links and used as the target links.

[0026] Optionally, based on the link parameters corresponding to each candidate link and the requirement information, each data transmission link used in processing each subtask is determined from the candidate links as the target links, specifically including:

[0027] Based on the link parameters corresponding to each candidate link and the aforementioned requirement information, the transmission efficiency value corresponding to each candidate link is determined.

[0028] Each target link is determined based on the transmission efficiency value of each candidate link.

[0029] This specification provides a device for performing a task, comprising:

[0030] The receiving module is used to receive task requests;

[0031] The first determining module is used to determine the model for executing the task corresponding to the task request, as the target model;

[0032] The first splitting module is used to split the network layers contained in the target model to obtain sub-models, wherein each sub-model contains a portion of the network layers in the target model.

[0033] The second splitting module is used to split the task according to the split sub-models to obtain sub-tasks;

[0034] The second determining module is used to determine each data transmission link used when processing each sub-task based on the requirement information of the task corresponding to the task request, as each target link. Each target link contains a target node, and the target node is equipped with a sub-model required to execute the sub-task processed by the target link.

[0035] The allocation module is used to allocate each subtask to each target node according to the target link, so that the task corresponding to the task request can be executed through each target node.

[0036] Optionally, the first determining module is specifically used to determine, based on the requirement information of the task corresponding to the task request, a model for executing the task corresponding to the task request, as the target model.

[0037] Optionally, the first determining module is further configured to, if it is determined that the requirement information has changed before executing the task corresponding to the task request, re-determine the model for executing the task corresponding to the task request based on the changed requirement information.

[0038] Optionally, the first determining module is further configured to, if it is determined that the model used to execute the task corresponding to the task request has been updated before executing the task corresponding to the task request, then use the updated model as the target model.

[0039] Optionally, the first splitting module is specifically used to split each network layer contained in the target model according to the pre-labeled splittable network layer in the target model to obtain each sub-model.

[0040] Optionally, the second determining module is specifically used to: determine each candidate link based on the requirement information of the task corresponding to the task request; for each candidate link, if the candidate link contains an intermediate node, determine the link parameters of the candidate link based on the node parameters of the intermediate node and the node parameters of the node in the candidate link that deploys a sub-model for processing sub-tasks, wherein the intermediate node is used to send the data required to execute the task through the candidate link to the node that deploys the sub-model in the candidate link; and determine each data transmission link used to process each sub-task from the candidate links based on the link parameters corresponding to each candidate link and the requirement information, as each target link.

[0041] Optionally, the second determining module is specifically used to determine the transmission efficiency value corresponding to each candidate link based on the link parameters corresponding to each candidate link and the requirement information; and to determine each target link based on the transmission efficiency value of each candidate link.

[0042] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method for performing the above-described task.

[0043] This specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to perform the aforementioned tasks.

[0044] The above-mentioned technical solutions adopted in this specification can achieve the following beneficial effects:

[0045] The task execution method provided in this specification involves receiving a task request, determining the model used to execute the task corresponding to the task request as the target model, and then splitting the network layers contained in the target model into sub-models. Based on the split sub-models, the task is further divided into sub-tasks. According to the requirements information for executing the task corresponding to the task request, the data transmission links used to process each sub-task are determined as target links. Each sub-task is then assigned to a target node according to the target links, so that the task corresponding to the task request can be executed through each target node.

[0046] As can be seen from the above method, when executing a task, this application first splits the target model and task for task execution according to the requirement information corresponding to the task execution request, and then deploys each of the split sub-models and sub-tasks to each target node so that the task can be executed through each target node. This application allocates each sub-model to the most suitable target node to execute the task, making full use of the computing resources of each computing node and improving the efficiency of task execution. Attached Figure Description

[0047] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:

[0048] Figure 1 This is a flowchart illustrating a task execution method provided in this specification;

[0049] Figure 2 This is a schematic diagram illustrating some of the requirements for performing a certain task, as provided in this specification.

[0050] Figure 3 This is a schematic diagram of the candidate links provided in this specification;

[0051] Figure 4 This is a schematic diagram of a device structure for performing a task, as provided in this specification.

[0052] Figure 5 This specification provides a corresponding Figure 1 A schematic diagram of the structure of an electronic device. Detailed Implementation

[0053] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0054] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0055] Figure 1 This is a flowchart illustrating a task execution method provided in this specification, including the following steps:

[0056] S100: Receive task request.

[0057] S102: Determine the model used to execute the task corresponding to the task request, as the target model.

[0058] The executing entity of this application can be a server or an electronic device such as a tablet computer, laptop computer, or desktop computer. For ease of explanation, the following description uses a server as the executing entity to illustrate the task execution method provided in this application.

[0059] After receiving a task request from a terminal device, the server can obtain the task execution requirements information in the task request, and then determine the model to be used to execute the task based on the task execution requirements information, which serves as the target model.

[0060] For example, in the task of facial recognition of a target object, after receiving a task request, the server can obtain the requirement information for performing the task, such as the model accuracy, the number of model parameters, or the parameter precision. Based on the requirement information corresponding to the task request, the server can determine the target model from the model pool that meets the requirements for performing the facial recognition task. Here, model accuracy represents the accuracy of the model's output, and parameter precision represents the precision of the model parameters, such as 32-bit or 8-bit.

[0061] In this specification, the target model can be a smaller model after model compression or an updated model after parameter aggregation. This specification does not restrict the form of the target model.

[0062] Furthermore, after identifying the target model that meets the task requirements, the server can determine whether the target model can be deployed to the local terminal device based on the remaining storage space. If there is sufficient remaining storage space, the server can send the target model to the local terminal device, and the task can then be executed through the terminal device with the target model deployed. If the target model cannot be deployed to the terminal device, the server can split the target model and send the split target model to various computing nodes for task execution. The computing nodes include the terminal devices.

[0063] It should be noted that after the server sends the target model to the terminal device, if the task requirements change before the execution of the task request, such as changes in the precision of the task request parameters, or changes in the business environment or wireless communication environment during task execution, the server can re-determine the model to be used for executing the task request based on the changed requirements. Furthermore, when the server resends the determined target model to the terminal device, the time interval for model distribution should exceed the preset minimum update interval.

[0064] For example, when performing facial recognition on a target image, if the target image changes from daytime to nighttime, the server needs to redetermine the model for nighttime facial recognition as the target model for the task. Furthermore, assuming the minimum update interval for model distribution is 2 seconds, if the server has already distributed model A for daytime facial recognition during the day, and the business environment has changed, the server needs to send the newly determined model B for nighttime facial recognition to the terminal. The server can send model B after the minimum update interval of 2 seconds.

[0065] Similarly, if it is determined before executing the task corresponding to the task request that the model used to execute the task has been updated, the server can use the updated model as the target model, and then determine whether the target model can be deployed to the terminal device based on the remaining storage space of the local terminal device.

[0066] S104: The network layers contained in the target model are split into sub-models, wherein each sub-model contains a portion of the network layers in the target model.

[0067] After determining the target model for executing the task request, in order to fully utilize the computing resources of each computing node and improve the efficiency of task execution, the server can decompose the network layers contained in the target model to obtain sub-models. Subsequently, the server can deploy each sub-model to each computing node to execute the task. Each sub-model contains a portion of the network layers from the target model, and the computing nodes include terminal devices or remote computing devices, such as servers.

[0068] Specifically, the server can split the network layers contained in the target model according to the pre-annotated labels of the splittable network layers in the target model to obtain sub-models. For example, assuming that the target model has twenty network layers, if the fifth network layer of the target model contains the pre-annotated labels of the splittable network layers, the server can split the target model into two sub-models according to the labels. One sub-model contains the first five network layers of the target model, and the other sub-model contains the last fifteen network layers of the target model.

[0069] The server can deploy sub-models containing the first five network layers of the target model to local terminal devices, and sub-models containing the last fifteen network layers of the target model to nearby terminal devices or remote computing devices. Furthermore, the server can obtain the size and computational load of the output data corresponding to each sub-model, such as the number of parameters contained in each sub-model.

[0070] S106: Based on the split sub-models, the task is further split to obtain sub-tasks.

[0071] After the target model is broken down into sub-models, the server can further break down the task based on the sub-models to obtain sub-tasks.

[0072] For example, in the task of facial recognition of a target object, assuming the server splits the target model into two sub-models, the server can further divide the task into two sub-tasks based on these sub-models. Specifically, the server can split the task into one sub-task: identifying the target object from the target image, and another sub-task: performing facial recognition on the identified target object for further confirmation. Subsequently, the server can send each sub-model and each sub-task to the respective target nodes for execution, thereby improving the efficiency of task execution.

[0073] S108: Based on the requirement information of the task corresponding to the task request, determine the data transmission links used to process each sub-task as each target link. Each target link contains a target node, and the target node is equipped with a sub-model required to execute the sub-task processed by the target link.

[0074] After obtaining the split subtasks, the server can determine the candidate links based on the task execution requirements when sending each sub-model and sub-task to each computing node for execution.

[0075] Specifically, the server can obtain the computing power requirements for executing a task, such as computing power, storage throughput, and energy consumption, as well as the network requirements for executing the task, such as latency, bandwidth, and transmission throughput, based on the task's requirements information.

[0076] For ease of understanding, Figure 2 This manual provides partial requirements information for performing a specific task (i.e., network requirements). Different identifiers are pre-set on the server for different types of requirements. For example... Figure 2 As shown, executing this task requires 2 TFLOPS of computing power and 200 µs of latency. If the computing power requirement for executing this task is greater than the latency requirement, then the weight of computing power is greater than the weight of latency.

[0077] The server can obtain the computing and network resources (i.e. computing-network resources) of existing transmission links, and determine each transmission link that meets the computing-network requirements for executing the task from the existing transmission links as candidate links. Each candidate link has a computing node deployed in the sub-model for processing sub-tasks.

[0078] For each candidate link, if it contains intermediate nodes, the server can determine the link parameters based on the node parameters of the intermediate nodes and the node parameters of the computing nodes in the candidate link that are deployed with sub-models for processing sub-tasks. The intermediate nodes are used to send the data required to execute the task through the candidate link to the nodes in the candidate link that have deployed sub-models.

[0079] Figure 3 This is a schematic diagram of a candidate link provided in this specification. If the candidate link contains intermediate nodes, such as network devices like base stations, routers, and switches, the server can determine the link parameters of the candidate link based on the parameters of the network devices contained in the candidate link and the parameters of the computing nodes.

[0080] It's worth noting that the number of computing nodes required to execute a task can be the same as the number of sub-models. Continuing with the previous example, when performing facial recognition on a target object, the server splits the target model into two sub-models and the task into two sub-tasks. The server can then deploy each sub-model to a separate computing node, which will execute the task accordingly. Furthermore, the execution order of the two computing nodes depends on the execution order of the two sub-tasks. After a computing node completes the sub-task of identifying the target object from the target image, it can send the intermediate output data to another computing node via a candidate link, enabling that node to complete the sub-task of facial recognition on the identified target object.

[0081] For different candidate links, the intermediate nodes or compute nodes with deployed sub-models included in each candidate link are not entirely the same. For example, different candidate links may contain the same compute nodes, but different intermediate nodes; or, candidate links may contain the same intermediate nodes, but different compute nodes. It should be noted that an intermediate node can be a node between two compute nodes with deployed sub-models, used to forward the output data of one compute node to another, or it can be a node deployed between a terminal device and a compute node.

[0082] Furthermore, the server can determine the transmission efficiency value corresponding to each candidate link based on the link parameters corresponding to each candidate link and the requirement information, and then determine each target link based on the transmission efficiency value of each candidate link, and take each computing node in each target link as the target node.

[0083] When determining the transmission efficiency value for each candidate link, the server can use the following formula:

[0084]

[0085] Among them, a i t represents the index value of the i-th computing network requirement. i The identifier representing the i-th computing network requirement. w represents the index value of the i-th computing network resource in the s-th transmission path. i This represents the weight value of the computing network requirement; if this value is missing, it defaults to 1. For example, assuming there are M computing network requirements, including computing power, latency, distance, etc., when the i-th computing network requirement is latency, a i The latency indicator is 200µs, t i The identifier corresponding to the delay is 1.

[0086] S110: According to the target link, each subtask is assigned to each target node so that the task corresponding to the task request is executed through each target node.

[0087] Using the above formula, the server can determine the transmission efficiency value for each candidate link based on its link parameters and requirements. Furthermore, the server can select the candidate links with the highest transmission efficiency values ​​used in processing each subtask as the target links.

[0088] The transmission efficiency value is used to characterize the overall performance of tasks executed through this link. The higher the transmission efficiency value, the better the task execution, such as faster processing speed of computing nodes on the candidate link and higher storage throughput.

[0089] After identifying each target link, the server can assign each subtask to each target node according to the target link, so that the task corresponding to the task request can be executed through each target node.

[0090] As can be seen from the above method, when executing a task, this application first splits the target model and task for task execution according to the requirement information corresponding to the task execution request. Then, it deploys each of the split sub-models and sub-tasks to each target node. Each target node can include other computing nodes or local terminal devices. When deploying the split sub-models to each target node, this application can deploy each sub-model to computing nodes other than terminal devices, or deploy some sub-models to terminal devices and others to other computing nodes. This not only makes full use of the computing resources of each target node, but also enables local terminal devices to collaborate with other computing nodes to execute tasks, further improving the efficiency of task execution.

[0091] The above describes one or more implementations of the methods described in this specification. Based on the same idea, this specification also provides corresponding task execution devices, such as... Figure 4 As shown.

[0092] Figure 4 A schematic diagram of a task execution apparatus provided in this specification includes:

[0093] Receiver module 400 is used to receive task requests;

[0094] The first determining module 402 is used to determine the model for executing the task corresponding to the task request, as the target model;

[0095] The first splitting module 404 is used to split the network layers contained in the target model to obtain sub-models, wherein each sub-model contains a portion of the network layers in the target model.

[0096] The second splitting module 406 is used to split the task according to the split sub-models to obtain sub-tasks;

[0097] The second determining module 408 is used to determine each data transmission link used when processing each sub-task based on the requirement information of the task corresponding to the task request, as each target link. Each target link contains a target node, and the target node is equipped with a sub-model required to execute the sub-task processed by the target link.

[0098] The allocation module 410 is used to allocate each subtask to each target node according to the target link, so as to execute the task corresponding to the task request through each target node.

[0099] Optionally, the first determining module 402 is specifically used to determine, based on the requirement information of the task corresponding to the task request, a model for executing the task corresponding to the task request, as the target model.

[0100] Optionally, the first determining module 402 is further configured to, if it is determined that the requirement information has changed before executing the task corresponding to the task request, re-determine the model for executing the task corresponding to the task request based on the changed requirement information.

[0101] Optionally, the first determining module 402 is further configured to, if it is determined that the model used to execute the task corresponding to the task request has been updated before executing the task corresponding to the task request, use the updated model as the target model.

[0102] Optionally, the first splitting module 404 is specifically used to split each network layer contained in the target model according to the pre-labeled splittable network layer in the target model to obtain each sub-model.

[0103] Optionally, the second determining module 408 is specifically used to: determine each candidate link based on the requirement information of the task corresponding to the task request; for each candidate link, if the candidate link contains an intermediate node, determine the link parameters of the candidate link based on the node parameters of the intermediate node and the node parameters of the node in the candidate link that deploys a sub-model for processing sub-tasks, wherein the intermediate node is used to send the data required to execute the task through the candidate link to the node that deploys the sub-model in the candidate link; and determine each data transmission link used to process each sub-task from the candidate links based on the link parameters corresponding to each candidate link and the requirement information, as each target link.

[0104] Optionally, the second determining module 408 is specifically used to determine the transmission efficiency value corresponding to each candidate link based on the link parameters corresponding to each candidate link and the requirement information; and to determine each target link based on the transmission efficiency value of each candidate link.

[0105] This specification also provides a computer-readable storage medium storing a computer program that can be used to execute the above-described... Figure 1 This provides a method for task execution.

[0106] This instruction manual also provides Figure 5 One of the corresponding Figure 1 A schematic diagram of the structure of an electronic device. (e.g.) Figure 5As shown, at the hardware level, this electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then runs it to achieve the above. Figure 1 The method for executing the task.

[0107] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0108] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0109] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0110] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0111] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware.

[0112] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0113] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0114] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0115] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0116] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0117] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0118] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0119] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0120] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0121] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0122] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0123] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A method for task execution, characterized in that, include: Receive task requests; The model used to execute the task corresponding to the task request is determined as the target model; The network layers contained in the target model are split into sub-models, wherein each sub-model contains a portion of the network layers in the target model. Based on the derived sub-models, the task is further divided into sub-tasks. Based on the requirement information corresponding to the task request, each data transmission link used to process each subtask is determined as a target link. Specifically, candidate links are determined based on the requirement information corresponding to the task request. For each candidate link, if it contains an intermediate node, the link parameters are determined based on the node parameters of the intermediate node and the node parameters of the node in the candidate link that deploys the sub-model for processing the subtask. Different candidate links contain different intermediate nodes, including nodes between two computing nodes that deploy the sub-model. The intermediate node is used to send the data required to execute the task through the candidate link to the node that deploys the sub-model in the candidate link. Based on the link parameters corresponding to each candidate link and the requirement information, each data transmission link used to process each subtask is determined from the candidate links as a target link. Each target link contains a target node, and the target node deploys the sub-model required to execute the subtask processed by the target link. According to the target link, each subtask is assigned to each target node so that the task corresponding to the task request can be executed through each target node.

2. The method as described in claim 1, characterized in that, The model used to execute the task corresponding to the task request is determined as the target model, specifically including: Based on the requirement information for executing the task corresponding to the task request, a model for executing the task corresponding to the task request is determined as the target model.

3. The method as described in claim 2, characterized in that, The method further includes: If it is determined that the requirement information has changed before executing the task corresponding to the task request, then a new model for executing the task corresponding to the task request is determined based on the changed requirement information.

4. The method as described in claim 2, characterized in that, The method further includes: If it is determined before executing the task corresponding to the task request that the model used to execute the task corresponding to the task request has been updated, then the updated model will be used as the target model.

5. The method as described in claim 1, characterized in that, The target model is split into its network layers to obtain sub-models, specifically including: Based on the pre-labeled decomposable network layers in the target model, each network layer in the target model is decomposed to obtain a sub-model.

6. The method as described in claim 1, characterized in that, Based on the link parameters corresponding to each candidate link and the requirement information, the data transmission links used in processing each subtask are determined from the candidate links as target links, specifically including: Based on the link parameters corresponding to each candidate link and the required information, the transmission efficiency value corresponding to each candidate link is determined respectively; Each target link is determined based on the transmission efficiency value of each candidate link.

7. A device for performing a task, characterized in that, include: The receiving module is used to receive task requests; The first determining module is used to determine the model for executing the task corresponding to the task request, as the target model; The first splitting module is used to split the network layers contained in the target model to obtain sub-models, wherein each sub-model contains a portion of the network layers in the target model. The second splitting module is used to split the task according to the split sub-models to obtain sub-tasks; The second determining module is used to determine each data transmission link used in processing each subtask based on the requirement information of the task corresponding to the task request, as each target link. Specifically, it determines each candidate link based on the requirement information of the task request; for each candidate link, if the candidate link contains an intermediate node, it determines the link parameters of the candidate link based on the node parameters of the intermediate node and the node parameters of the node in the candidate link that deploys the sub-model for processing the subtask; wherein the intermediate nodes in different candidate links are not completely identical, and the intermediate node includes a node between two computing nodes that deploy the sub-model, the intermediate node being used to send the data required to execute the task through the candidate link to the node that deploys the sub-model in the candidate link; and based on the link parameters corresponding to each candidate link and the requirement information, it determines each data transmission link used in processing each subtask from the candidate links, as each target link. Each target link contains a target node, and the target node deploys the sub-model required to execute the subtask processed by the target link. The allocation module is used to allocate each subtask to each target node according to the target link, so that the task corresponding to the task request can be executed through each target node.

8. The apparatus as claimed in claim 7, characterized in that, The first determining module is specifically used to determine, based on the requirement information of the task corresponding to the task request, a model for executing the task corresponding to the task request, as the target model.

9. The apparatus as claimed in claim 8, characterized in that, The first determining module is further configured to, if it is determined that the requirement information has changed before executing the task corresponding to the task request, re-determine the model for executing the task corresponding to the task request based on the changed requirement information.

10. The apparatus as claimed in claim 8, characterized in that, The first determining module is further configured to, if it is determined that the model used to execute the task corresponding to the task request has been updated before executing the task corresponding to the task request, then use the updated model as the target model.

11. The apparatus as claimed in claim 7, characterized in that, The first splitting module is specifically used to split each network layer contained in the target model according to the pre-labeled splittable network layer in the target model to obtain each sub-model.

12. The apparatus as claimed in claim 7, characterized in that, The second determining module is specifically used to determine the transmission efficiency value corresponding to each candidate link based on the link parameters corresponding to each candidate link and the requirement information; and to determine each target link based on the transmission efficiency value of each candidate link.

13. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1 to 6.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Training method and device of personal loan amount evaluation model based on block chain

    CN114298817A

  • Model training method, device and equipment

    CN114548255A