Combination model optimization method and device and storage medium

By decomposing AI models into sub-functions and combining them, candidate combined models are generated for evaluation and scheduling. This solves the problems of low versatility and high marginal cost of AI models, and improves the reusability and execution efficiency of the models.

CN121001102APending Publication Date: 2025-11-21CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410621240.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-20
Publication Date
2025-11-21

AI Technical Summary

Technical Problem

The low versatility of existing AI models leads to the need for repeated data collection and labeling during model updates, resulting in high marginal costs. Furthermore, the various intelligent applications are isolated from each other, lacking a unified coordination solution.

Method used

The target function is decomposed into multiple sub-functions, the model used to implement each sub-function is obtained, and these models are connected through a predefined interface to generate candidate combination models. Performance evaluation is performed and the target combination model is selected. An execution queue is generated and the models are scheduled in sequence.

Benefits of technology

It improves model reusability, reduces marginal cost, optimizes execution efficiency in modular model scenarios, and reduces errors and resource waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121001102A_ABST
    Figure CN121001102A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides an optimization method and device for a combined model and a storage medium, and the method obtains a combined model capable of achieving a target function through multiplexing models corresponding to existing sub-functions and combining the existing models, improves the reusability of the models, and reduces the marginal cost of the models. In addition, the embodiment of the invention is applied to a mobile communication scene, and the standardized ML can be decomposed into a modular model scene. Based on the method provided by the embodiment of the invention, under the condition that a network cannot determine the scheduling sequence of execution of the nodes in each model, all the pilot models are registered or executed before a certain model node is executed, so that the scene execution efficiency of the modular model is optimized, and errors are reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of Artificial Intelligence (AI) and wireless network technology, specifically to an optimization method, apparatus, and storage medium for a combined model. Background Technology

[0002] As the next generation of mobile communication technology, 6G is becoming a major research hotspot in the global communications industry. The 6G-native AI architecture, which tightly integrates artificial intelligence with wireless networks, is expected to bring significant changes to future communications.

[0003] Endogenous AI architecture is a self-learning, self-adaptive wireless network that embeds AI technology into 6G networks, giving them the ability to self-optimize and self-repair. This architecture can collect network operation data in real time, analyze it through machine learning and deep learning algorithms, and optimize the network to improve network performance.

[0004] Endogenous AI architecture will significantly improve network energy efficiency. Through intelligent scheduling and resource management, it can reduce network congestion, improve spectrum utilization, and lower energy consumption, making the network more environmentally friendly and efficient. Furthermore, endogenous AI architecture will provide a better user experience. By analyzing and predicting user behavior, it can achieve intelligent recommendations, intelligent interactions, and other functions, providing users with a completely new communication experience. Endogenous AI architecture will also help build an intelligent and adaptive network security system. Through real-time monitoring and early warning, it can promptly detect and respond to network attacks, ensuring the secure and stable operation of the network.

[0005] In network-native AI, to address the challenges of diverse scenarios, generalization, and versatility, pre-trained large models or directly trained large models with high generalization capabilities are typically used to solve scenario generalization problems. Both approaches can apply AI models to a large number of base stations. To avoid extensive repetitive training during model updates, storing models in the core network for unified training and updates can be considered. Currently, AI models have low versatility, with individual models only applicable to specific tasks. Model updates require re-collecting, labeling data, and retraining the model. Due to diverse customer needs, this process is repeated in almost every project, making R&D processes difficult to reuse, heavily reliant on manpower, and resulting in high marginal costs. Summary of the Invention

[0006] At least one embodiment of this application provides a method, apparatus, and storage medium for optimizing a combined model, which addresses the problems of low versatility and high marginal cost of AI models in the prior art.

[0007] To solve the above-mentioned technical problems, this application is implemented as follows:

[0008] In a first aspect, embodiments of this application provide an optimization method for a combinatorial model, comprising:

[0009] Decompose the target function into multiple sub-functions and obtain at least one model for implementing each sub-function;

[0010] According to the execution order of the sub-functions in the target function, the models corresponding to the multiple sub-functions are combined to obtain at least one candidate combined model, wherein the models in the candidate combined model are connected through a predefined interface.

[0011] The performance of the at least one candidate combination model is evaluated, and a target combination model is selected from the at least one candidate combination model based on the evaluation results;

[0012] Based on the target combination model, model scheduling is performed.

[0013] Optionally, performance evaluation is performed on the at least one candidate combination model, specifically including:

[0014] The performance of each candidate combination model was evaluated using the test dataset, and the evaluation results were obtained.

[0015] Optionally, based on the target combined model, model scheduling is performed, specifically including:

[0016] An execution queue is generated based on the various models included in the target combination model and the execution order of the models. The execution queue includes the model identifier corresponding to each model.

[0017] Based on the execution queue, each model is scheduled sequentially.

[0018] Optionally, an execution queue is generated based on the various models included in the target combined model and their execution order, specifically including:

[0019] Step A: Initialize an empty execution queue; for each model in the target combined model, determine the number of preceding models directly connected to that model, generate a model identifier for each model, initialize the executable flag and scheduled flag corresponding to the model identifier to false, and randomly push the model identifier of each model in the target combined model onto the stack.

[0020] Step B: Pop the model identifier at the top of the stack and determine whether the executable flag of the popped model identifier is true;

[0021] Step C: When the executable flag of the popped model identifier is true, put the popped model identifier into the execution queue and return to step B; when the executable flag of the popped model identifier is false, proceed to step E.

[0022] Step E: Determine whether the scheduled flag of the pop model identifier is true. If yes, return to step B. Otherwise, set both the executable flag and the scheduled flag of the pop model identifier to true, add the pop model identifier back to the stack, and proceed to step E.

[0023] Step E: Determine whether the number of scheduled flags set to true in the predecessor model identifiers corresponding to the popped model identifier is equal to the number of predecessor models corresponding to the popped model identifier. If yes, proceed to step F; otherwise, set the scheduled flags of all predecessor model identifiers of the popped model identifier to false, add all predecessor model identifiers to the stack, and return to step B.

[0024] Step F: Take out the model identifiers in the stack one by one and compare them with the model identifiers in the execution queue. If they already exist in the execution queue, discard them; otherwise, add them to the execution queue.

[0025] Optionally, based on the execution queue, each model is scheduled sequentially, including:

[0026] The scheduling order of each model is determined according to the order of the model identifiers in the execution queue;

[0027] According to the scheduling order, a preset number of models are registered and loaded, and the count value of the stop counter corresponding to each model is initialized to 0. The preset number is the maximum number of models that can be loaded.

[0028] Repeat the following steps until all models in the execution queue have been scheduled: determine the current model to be scheduled according to the scheduling order, and schedule the current model when the value of the current model's stop-wait counter is equal to the number of its predecessor models, and receive the execution result of the current model. When the execution result of any model is received, continue to register and load the next model in the scheduling order, and when any model is a predecessor model of another model, increment the stop-wait counter of the other model by one.

[0029] Secondly, embodiments of this application provide an optimization apparatus for a combined model, comprising:

[0030] The decomposition module is used to decompose the target function into multiple sub-functions and obtain at least one model for implementing each sub-function.

[0031] The combination module is used to combine the models corresponding to the multiple sub-functions according to the execution order of the sub-functions in the target function to obtain at least one candidate combination model, wherein the models in the candidate combination model are connected through a predefined interface.

[0032] The selection module is used to evaluate the performance of the at least one candidate combination model and select a target combination model from the at least one candidate combination model based on the evaluation results.

[0033] The scheduling module is used to perform model scheduling based on the target combined model.

[0034] Optionally, the selection module includes:

[0035] The evaluation submodule is used to evaluate the performance of each candidate combination model using the test dataset and obtain the evaluation results.

[0036] Optionally, the scheduling module includes:

[0037] A generation submodule is used to generate an execution queue based on the various models included in the target combined model and the execution order of the models. The execution queue includes the model identifier corresponding to each model.

[0038] The scheduling submodule is used to schedule each model sequentially based on the execution queue.

[0039] Optionally, the generation submodule is specifically used to perform the following steps:

[0040] Step A: Initialize an empty execution queue; for each model in the target combined model, determine the number of preceding models directly connected to that model, generate a model identifier for each model, initialize the executable flag and scheduled flag corresponding to the model identifier to false, and randomly push the model identifier of each model in the target combined model onto the stack.

[0041] Step B: Pop the model identifier at the top of the stack and determine whether the executable flag of the popped model identifier is true;

[0042] Step C: When the executable flag of the popped model identifier is true, put the popped model identifier into the execution queue and return to step B; when the executable flag of the popped model identifier is false, proceed to step E.

[0043] Step E: Determine whether the scheduled flag of the pop model identifier is true. If yes, return to step B. Otherwise, set both the executable flag and the scheduled flag of the pop model identifier to true, add the pop model identifier back to the stack, and proceed to step E.

[0044] Step E: Determine whether the number of scheduled flags set to true in the predecessor model identifiers corresponding to the popped model identifier is equal to the number of predecessor models corresponding to the popped model identifier. If yes, proceed to step F; otherwise, set the scheduled flags of all predecessor model identifiers of the popped model identifier to false, add all predecessor model identifiers to the stack, and return to step B.

[0045] Step F: Take out the model identifiers in the stack one by one and compare them with the model identifiers in the execution queue. If they already exist in the execution queue, discard them; otherwise, add them to the execution queue.

[0046] Optionally, the scheduling submodule is further configured to:

[0047] The scheduling order of each model is determined according to the order of the model identifiers in the execution queue;

[0048] According to the scheduling order, a preset number of models are registered and loaded, and the count value of the stop counter corresponding to each model is initialized to 0. The preset number is the maximum number of models that can be loaded.

[0049] Repeat the following steps until all models in the execution queue have been scheduled: determine the current model to be scheduled according to the scheduling order, and schedule the current model when the value of the current model's stop-wait counter is equal to the number of its predecessor models, and receive the execution result of the current model. When the execution result of any model is received, continue to register and load the next model in the scheduling order, and when any model is a predecessor model of another model, increment the stop-wait counter of the other model by one.

[0050] Thirdly, embodiments of this application provide an optimization apparatus for a combined model, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method described in the first aspect.

[0051] Fourthly, embodiments of this application provide a computer-readable storage medium storing a program that, when executed by a processor, implements the steps of the method described in any of the first aspects.

[0052] Fifthly, embodiments of this application provide a computer program product including computer instructions that, when executed by a processor, implement the steps of the method described in any of the first aspects.

[0053] Compared with existing technologies, the optimization method, apparatus, and storage medium for combined models provided in this application improve model reusability and reduce marginal cost by reusing existing models corresponding to sub-functions and combining existing models. Furthermore, when applied to mobile communication scenarios, this application can decompose standardized ML into modular model scenarios. Based on the method described in this embodiment, even when the network cannot determine the execution order of nodes in each model, it can ensure that all preceding models have been registered or executed before a certain model node is executed, thereby optimizing the execution efficiency of modular model scenarios and reducing errors. Attached Figure Description

[0054] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the scope of this application. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0055] Figure 1 This is an example diagram of a combined model according to an embodiment of this application;

[0056] Figure 2 This is a flowchart of an optimization method for a combined model according to an embodiment of this application;

[0057] Figure 3 An example diagram for model loading and registration;

[0058] Figure 4 Example diagram for another model C';

[0059] Figure 5 This is an example diagram illustrating the application of the optimization method of the combined model in this application to a wireless network.

[0060] Figure 6 An example diagram illustrating the application of the optimization method of the combined model in this application to NWDAF;

[0061] Figure 7 This is a schematic diagram of the structure of an optimization device for a combined model according to an embodiment of this application;

[0062] Figure 8 This is a schematic diagram of the structure of an optimization device for a combined model according to another embodiment of this application. Detailed Implementation

[0063] Exemplary embodiments of the present application will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this application will be thorough and complete, and will fully convey the scope of the present application to those skilled in the art.

[0064] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus. The terms "and / or" in the specification and claims indicate at least one of the connected objects.

[0065] Existing network-native AI technologies suffer from at least the following problems:

[0066] 1. Typically, a model is only designed for one type of business, with a single and fixed use case and limited input format, etc. It does not fully consider the execution of related analysis tasks, and is not feasible for difficult problems such as uncertainty, unstructured problems, problems with no algorithmic solution or problems with an algorithmic solution, and problems with too large a solution space.

[0067] 2. Existing methods for network AI (or generative) typically attempt to directly map an input method (random vector) within a specific domain to an output in the output domain. These methods have limited scalability and robustness because they require building independent models for each pair of domains in the problem. This leads to two significant drawbacks: the need to train exponentially increasing pairwise models, and the inability to utilize data from other domains when training specific pairwise mappings.

[0068] 3. Current network intelligence technologies, such as network element intelligence (RF applications, mobility, energy saving, parameter adaptation), predictive intelligence (load, health, performance, services), and operational intelligence (coverage optimization, performance optimization, traffic optimization, alarm optimization), have largely achieved breakthroughs and advantages in individual areas based on specific scenarios and use cases. However, they lack a clear, unified industry language, and individual technological breakthroughs are unlikely to form disruptive, holistic, and coordinated solutions. Furthermore, these various intelligent applications remain isolated from each other.

[0069] 4. The diverse range of long-tail AI scenarios leads to project fragmentation and high marginal costs. Currently, most AI work is conducted on a project-based basis, with implementation still in a "workshop" stage, resulting in redundant development and high marginal costs. Furthermore, most scenarios suffer from poor data standardization, a long tail of data, and outdated data collection methods, leading to a large workload and hindering AI model progress. The root cause of this fragmentation lies in the low versatility of current AI models; individual models are only applicable to specific tasks. Model updates require the re-collection, labeling, and retraining of data. Due to diverse customer needs, this process is repeated in almost every project, making development processes difficult to reuse, heavily reliant on manpower, and resulting in high marginal costs.

[0070] To address at least one of the above problems, this application proposes an AI optimization method based on network modularization. A solution to a complex problem in current network-native AI can be designed by organizing and implementing process-oriented input / output interfaces, enabling intelligent end-to-end business connectivity. Multiple inputs are designed as a series of modular models, allowing different program developers' interfaces to follow the same standard format for data interconnection, reducing the burden on service providers. These modules are packaged and encapsulated for plug-and-play functionality, and can be freely combined according to needs. This approach is simple to use, flexible, and can be deployed on different platforms.

[0071] by Figure 1 For example, models A, B, and C can each perform their respective functions. When they are combined, they form a combined model that can achieve the target function. Figure 1 In this context, models A, B, and C can be improved or replaced independently. Different AI vendors produce different modular solutions in the prediction space, allowing service providers to choose from a variety of models that have the best predictive power for their specific environments. If another model A' can produce a better prediction A-out by considering additional input features m, then model A can be replaced with model A' without retraining or otherwise modifying models B or C.

[0072] The update of the combined model can be based on the probability model, calculating the merits of each model combination, selecting some model combinations from the currently available model combinations, updating the currently available model combinations and proceeding to the next round of iteration, thereby exploring and utilizing the trade-offs. For each combined model, the above steps of selecting the combined model are repeated.

[0073] In each iteration of selecting a combined model, algorithms such as Gaussian Process, Random Forest, and Tree-structured Parzen Estimator (TPE) can be used to construct a probabilistic model, simulate the training results, and predict and evaluate the objective function of the probabilistic model. The probabilistic model is then used to construct the relationship between hyperparameter combinations and model performance. For example, a Bayesian approach can be used iteratively to observe the output model results corresponding to the hyperparameters in each combined model, and by comparison, one or more combined models with the optimal results can be selected.

[0074] Machine learning (ML) model design is the first step in conceiving an initial model, typically requiring connection to data sources, parsing messages, and tokenizing them to create and select features. This processing is usually offline, necessitating data exploration mechanisms to assist model designers. Model chains offer a more modular solution, promoting reusability.

[0075] Please refer to Figure 2 The optimization method for the combined model provided in this application includes the following steps:

[0076] Step 21: Decompose the target function into multiple sub-functions and obtain at least one model for implementing each sub-function.

[0077] Step 22: According to the execution order of the sub-functions in the target function, combine the models corresponding to the multiple sub-functions to obtain at least one candidate combined model, wherein the models in the candidate combined model are connected through a predefined interface.

[0078] Step 23: Evaluate the performance of the at least one candidate combination model, and select a target combination model from the at least one candidate combination model based on the evaluation results.

[0079] Here, in this embodiment of the application, the performance of each candidate combination model can be evaluated using a test dataset to obtain the evaluation results.

[0080] Step 24: Based on the target combination model, perform model scheduling.

[0081] Through the above steps, the embodiments of this application can combine existing models by reusing the models corresponding to existing sub-functions to obtain a combined model that can achieve the target function, thereby improving the reusability of the model and reducing the marginal cost of the model.

[0082] Continue to refer to Figure 3In current implementations of Radio Network Intelligent Resource Controller (RIC) and Open Radio Access Network (O-RAN) in wireless networks, when model C is loaded, its descriptor is used to declare that it is read as input variable g, prediction A-out, and prediction B-out. Variable g in this example is a standard variable and will be processed as described above. The platform can also respond to input variables, and prediction A-out can also be obtained from the platform. However, if model B has not yet been loaded and registered, the platform will not find the source of prediction B-out. In this case, model C will respond accordingly and continue processing, but because the leader node output has not been updated, the correctness of the execution node's calculation result cannot be guaranteed. When model B is loaded and registered later, the platform notifies all models that the new function is available. At this time, model C can decide to re-register and request the source of prediction B-out again. Therefore, to handle this anomaly in the wireless network system, a series of additional detection and notification functions for all model functions, as well as complex processing logic functions such as repeated execution, are required, leading to multiple repeated executions, wasted resources, and reduced efficiency. Some modular models have relatively simple processes, with only one path from input to output; while others are more complex, with multiple paths between input and output nodes, and potentially multiple input and output nodes themselves. In some cases, the order in which nodes in each model are executed cannot be determined, and it's crucial to ensure that all preceding models have been registered and executed before a particular model node is executed. Therefore, the system needs to add functionality to notify all models and handle repeated execution, as multiple executions lead to resource waste and reduced efficiency.

[0083] On the other hand, in the linking method, any error in predicting A-out will propagate to model C, which may further reduce the accuracy of predicting C-out to lower than that of the model. Figure 4 The accuracy produced by the single model shown.

[0084] This application embodiment can add a new functional module, referred to here as SMO / AL ML Model Manager. This module defines an intrinsic AI model identifier, using a flag bit Model_dispatch to indicate whether the model has been scheduled, which can be called the scheduled flag. Additionally, an identifier bit Model_exec is added to each intrinsic AI model identifier to indicate whether the AI ​​model can be taken and placed in the execution queue, which can be called the executable flag. Each model identifier also includes preceding AI model node information Model_count. SMO / AL ML Model Manager then sends the identifiers of the intrinsic AI models to be scheduled to the ML Inference host, thereby realizing model scheduling.

[0085] Specifically, in step 24 above, this embodiment of the application can generate an execution queue based on the various models included in the target combined model and the execution order of the models. The execution queue includes the model identifier corresponding to each model. Then, based on the execution queue, each model is scheduled sequentially to execute the scheduling of the target combined model.

[0086] The process of generating an execution queue based on the various models included in the target combination model and their execution order includes the following steps:

[0087] Step A: Initialize an empty execution queue; for each model in the target combined model, determine the number of preceding models directly connected to that model, generate a model identifier for each model, initialize the executable flag and scheduled flag corresponding to the model identifier to false, and randomly push the model identifier of each model in the target combined model onto the stack.

[0088] Step B involves popping the model identifier from the top of the stack and checking if the executable flag of the popped model identifier is true. Here, the executable flag has two states: true and false. For example, 1 represents true and 0 represents false.

[0089] Step C: When the executable flag of the popped model identifier is true, put the popped model identifier into the execution queue and return to step B; when the executable flag of the popped model identifier is false, proceed to step E.

[0090] Step E: Determine whether the scheduled flag of the pop model identifier is true. If yes, return to step B; otherwise, set both the executable flag and the scheduled flag of the pop model identifier to true, add the pop model identifier back to the stack, and proceed to step E.

[0091] Step E: Determine whether the number of scheduled flags set to true in the predecessor model identifiers corresponding to the popped model identifier is equal to the number of predecessor models corresponding to the popped model identifier. If yes, proceed to step F; otherwise, set the scheduled flags of all predecessor model identifiers of the popped model identifier to false, add all predecessor model identifiers to the stack, and return to step B.

[0092] Step F: Take out the model identifiers in the stack one by one and compare them with the model identifiers in the execution queue. If they already exist in the execution queue, discard them; otherwise, add them to the execution queue.

[0093] When scheduling each model sequentially based on the execution queue, the embodiments of this application can be performed according to the following steps:

[0094] (1) Determine the scheduling order of each model according to the order of the model identifiers in the execution queue;

[0095] (2) Register and load a preset number of models according to the scheduling order, and initialize the count value of the stop counter corresponding to each model to 0. The preset number is the maximum number of models that can be loaded.

[0096] (3) Repeat the following steps until all models in the execution queue have been scheduled: According to the scheduling order, determine the current model to be scheduled, and when the value of the current model's stop-wait counter is equal to the number of preceding models of the current model, schedule the current model and receive the execution result of the current model. When the execution result of any model is received, continue to register and load the next model in the scheduling order, and when any model is a preceding model of another model, increment the stop-wait counter of the other model by one.

[0097] The following is based on Figure 3 For example, an example flow of scheduling of the modular model in this application embodiment is provided, which specifically includes the following steps. In this document, xAPP:

[0098] 1) At the start of the task, the ML Inference host defines a Stack(S) structure for managing and maintaining the endogenous AI model stack. At the beginning, all the identifiers of the endogenous AI models to be executed are randomly pushed onto the stack, and the executable flag Model_dispatch and the scheduled flag Model_exec are both set to False.

[0099] 2) The ML Inference host does not need to find the root node first, scan the model chain graph, determine the count value of the preceding AI model node information of each node, and pop the top element of the stack.

[0100] 3) Read the AI ​​model identifier of the node at the top of the stack, and determine whether the executable flag of the node at the top of the stack is set to True. If so, put the element into the execution queue. Since it has entered the execution queue, restart step 2. If the flag is set to False, go to step 4.

[0101] 4) Check if the node has been scheduled. If so, the node has already been scheduled and start step 2 again; otherwise, go to step 5.

[0102] 5) Set the executed flag and the scheduled flag of the node to True, add the node back to the model stack Stack(S), and check whether the scheduled flag of all the predecessor nodes of the node in the stack Stack(S) is True.

[0103] 6) Determine if the number of nodes whose scheduling flag is True for all predecessor nodes is equal to the count value of the predecessor AI model node information for this node. If not, set the scheduling flag of all predecessor nodes to False and add all predecessor nodes to the model stack Stack(S); repeat steps 2-6. If equal, end and proceed to step 7.

[0104] 7) Take out all node elements in the stack in turn and compare them with the elements in the execution queue. If they are duplicates, discard them; otherwise, add them to the execution queue.

[0105] 8) Select nodes from the execution queue according to the preset value order to load and register the xApp model, determine the size of the pause and other flag counters in parallel, increment the pause and other flag counters according to the Ack result of the requested xApp model execution, determine whether the pause and other flag counters are equal to the number of preceding nodes, and complete the loop execution.

[0106] 9) The xApp execution end receives the model execution request from the scheduling end, loads and registers the xApp model node according to the request, executes it, and returns the execution result Ack.

[0107] in addition, Figure 5 and Figure 6 Example diagrams are provided showing how the method of this application is applied to a network data analytics function (NWDAF) in a wireless network and a core network.

[0108] The various methods of the embodiments of this application have been described above. Apparatus for implementing the above methods will now be provided.

[0109] Please refer to Figure 7 This application also provides an optimization apparatus for a combined model, comprising:

[0110] Decomposition module 701 is used to decompose the target function into multiple sub-functions and obtain at least one model for implementing each sub-function.

[0111] The combination module 702 is used to combine the models corresponding to the multiple sub-functions according to the execution order of the sub-functions in the target function to obtain at least one candidate combination model, wherein the models in the candidate combination model are connected through a predefined interface.

[0112] The selection module 703 is used to perform performance evaluation on the at least one candidate combination model and select a target combination model from the at least one candidate combination model based on the evaluation results.

[0113] The scheduling module 704 is used to perform model scheduling based on the target combined model.

[0114] Through the above modules, the embodiments of this application can combine existing models by reusing the models corresponding to existing sub-functions to obtain a combined model that can achieve the target function, thereby improving the reusability of the model and reducing the marginal cost of the model.

[0115] Optionally, the selection module includes:

[0116] The evaluation submodule is used to evaluate the performance of each candidate combination model using the test dataset and obtain the evaluation results.

[0117] Optionally, the scheduling module includes:

[0118] A generation submodule is used to generate an execution queue based on the various models included in the target combined model and the execution order of the models. The execution queue includes the model identifier corresponding to each model.

[0119] The scheduling submodule is used to schedule each model sequentially based on the execution queue.

[0120] Optionally, the generation submodule is specifically used to perform the following steps:

[0121] Step A: Initialize an empty execution queue; for each model in the target combined model, determine the number of preceding models directly connected to that model, generate a model identifier for each model, initialize the executable flag and scheduled flag corresponding to the model identifier to false, and randomly push the model identifier of each model in the target combined model onto the stack.

[0122] Step B: Pop the model identifier at the top of the stack and determine whether the executable flag of the popped model identifier is true;

[0123] Step C: When the executable flag of the popped model identifier is true, put the popped model identifier into the execution queue and return to step B; when the executable flag of the popped model identifier is false, proceed to step E.

[0124] Step E: Determine whether the scheduled flag of the pop model identifier is true. If yes, return to step B. Otherwise, set both the executable flag and the scheduled flag of the pop model identifier to true, add the pop model identifier back to the stack, and proceed to step E.

[0125] Step E: Determine whether the number of scheduled flags set to true in the predecessor model identifiers corresponding to the popped model identifier is equal to the number of predecessor models corresponding to the popped model identifier. If yes, proceed to step F; otherwise, set the scheduled flags of all predecessor model identifiers of the popped model identifier to false, add all predecessor model identifiers to the stack, and return to step B.

[0126] Step F: Take out the model identifiers in the stack one by one and compare them with the model identifiers in the execution queue. If they already exist in the execution queue, discard them; otherwise, add them to the execution queue.

[0127] Optionally, the scheduling submodule is further configured to:

[0128] The scheduling order of each model is determined according to the order of the model identifiers in the execution queue;

[0129] According to the scheduling order, a preset number of models are registered and loaded, and the count value of the stop counter corresponding to each model is initialized to 0. The preset number is the maximum number of models that can be loaded.

[0130] Repeat the following steps until all models in the execution queue have been scheduled: determine the current model to be scheduled according to the scheduling order, and schedule the current model when the value of the current model's stop-wait counter is equal to the number of its predecessor models, and receive the execution result of the current model. When the execution result of any model is received, continue to register and load the next model in the scheduling order, and when any model is a predecessor model of another model, increment the stop-wait counter of the other model by one.

[0131] It should be noted that the device in this embodiment corresponds to the method described above, and the implementation methods in each of the above embodiments are applicable to the device embodiment and can achieve the same technical effect. The device provided in this application embodiment can implement all the method steps implemented in the above method embodiments and can achieve the same technical effect. Therefore, the parts that are the same as those in the method embodiments and the beneficial effects will not be described in detail here.

[0132] Another embodiment of the optimization apparatus for the combined model of this application, such as... Figure 8As shown, it includes a transceiver 810, a processor 800, a memory 820, and a program or instructions stored in the memory 820 and executable on the processor 800; when the processor 800 executes the program or instructions, it implements each process of the above-described optimization method embodiment of the combined model on the network device side and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0133] The transceiver 810 is used to receive and send data under the control of the processor 800.

[0134] Among them, Figure 8 In this context, the bus architecture can include any number of interconnected buses and bridges, specifically linking various circuits together, represented by one or more processors (processor 800) and memory (memory 820). The bus architecture can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 810 can be multiple elements, including transmitters and receivers, providing a unit for communicating with various other devices over a transmission medium. The processor 800 is responsible for managing the bus architecture and general processing, and the memory 820 can store data used by the processor 800 during operation.

[0135] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the optimization method embodiment of the above-described combined model and achieves the same technical effect. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

[0136] This application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they implement the various processes of the above-described optimization method embodiment of the combined model and achieve the same technical effect. To avoid repetition, they will not be described again here.

[0137] It should be noted that, in this document, 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. Unless otherwise specified, 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 that element.

[0138] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0139] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A method of optimizing a combined model, characterized by, The method comprises the following steps: decomposing a target function into a plurality of sub-functions, and obtaining at least one model for implementing each sub-function; combining the models corresponding to the plurality of sub-functions according to the execution order of the sub-functions in the target function to obtain at least one candidate combined model, wherein the models in the candidate combined model are connected through a predefined interface; performing performance evaluation on the at least one candidate combined model, and selecting a target combined model from the at least one candidate combined model according to the evaluation result; performing model scheduling based on the target combined model.

2. The method of claim 1, wherein, The performance evaluation on the at least one candidate combined model comprises the following steps: performing performance evaluation on each candidate combined model by using a test data set to obtain an evaluation result.

3. The method of claim 1, wherein, The model scheduling based on the target combined model comprises the following steps: generating an execution queue according to the models included in the target combined model and the execution order of the models, wherein the execution queue comprises model identifiers corresponding to the models; sequentially scheduling the models based on the execution queue.

4. The method of claim 3, wherein, The generation of the execution queue according to the models included in the target combined model and the execution order of the models comprises the following steps: Step A: initializing an empty execution queue; for each model in the target combined model, determining the number of leading models directly connected to the model, generating a model identifier for each model, initializing the executable flag and the scheduled flag corresponding to the model identifier to false, and randomly stacking the model identifier of each model in the target combined model into a stack; Step B: de-stacking the model identifier at the top of the stack, and determining whether the executable flag of the de-stacked model identifier is true; Step C: when the executable flag of the de-stacked model identifier is true, putting the de-stacked model identifier into the execution queue, and returning to Step B; when the executable flag of the de-stacked model identifier is false, proceeding to Step E; Step E: determining whether the scheduled flag of the de-stacked model identifier is true: if yes, returning to Step B; otherwise, setting the executable flag and the scheduled flag of the de-stacked model identifier to true, re-adding the de-stacked model identifier into the stack, and proceeding to Step E; Step E: determining whether the number of scheduled flags set to true in the leading model identifiers corresponding to the de-stacked model identifier is equal to the number of leading models corresponding to the de-stacked model identifier: if yes, proceeding to Step F; otherwise, setting the scheduled flags of all the leading model identifiers of the de-stacked model identifier to false, adding all the leading model identifiers into the stack, and returning to Step B; Step F: sequentially taking out the model identifiers in the stack, and comparing them with the model identifiers in the execution queue: if the model identifier already exists in the execution queue, discarding it; if the model identifier does not exist in the execution queue, adding it into the execution queue.

5. The method of claim 3, wherein, The sequential scheduling of the models based on the execution queue comprises the following steps: determining the scheduling order of the models according to the order of the model identifiers in the execution queue; According to the scheduling sequence, a preset number of models are registered and loaded, and a count value of a stall counter corresponding to each model is initialized to 0, the preset number being a maximum number of loaded models supported; The following steps are repeated until all models in the execution queue are scheduled: according to the scheduling sequence, a current model is determined, and when a count value of a stall counter of the current model is equal to a number of leading models of the current model, the current model is scheduled, and an execution result of the current model is received, wherein when an execution result of any model is received, a next model in the scheduling sequence is continuously registered and loaded, and when the any model is a leading model of another model, a stall counter of the another model is incremented by one.

6. An optimization apparatus of a combined model characterized by comprising: Comprise: a decomposition module configured to decompose a target function into a plurality of sub-functions, and obtain at least one model for implementing each sub-function; a combination module configured to combine the models corresponding to the plurality of sub-functions according to an execution sequence of the sub-functions in the target function, to obtain at least one candidate combined model, wherein the models in the candidate combined model are connected through a predefined interface; a selection module configured to perform performance evaluation on the at least one candidate combined model, and select a target combined model from the at least one candidate combined model according to an evaluation result; a scheduling module configured to perform model scheduling based on the target combined model.

7. The apparatus of claim 6, wherein, The selection module comprises: an evaluation submodule configured to perform performance evaluation on each candidate combined model by using a test data set, to obtain an evaluation result.

8. The apparatus of claim 6, wherein, The scheduling module comprises: a generation submodule configured to generate an execution queue according to the models included in the target combined model and an execution sequence of the models, the execution queue comprising model identifiers corresponding to the models; a scheduling submodule configured to sequentially schedule the models based on the execution queue.

9. The apparatus of claim 8, wherein, The generation submodule is specifically configured to perform the following steps: Step A: initializing an empty execution queue; for each model in the target combined model, determining a number of leading models directly connected to the model, generating a model identifier for each model, initializing an executable flag and a scheduled flag corresponding to the model identifier to false, and randomly stacking the model identifier of each model in the target combined model into a stack; Step B: de-stacking the model identifier at the top of the stack, and determining whether the executable flag of the de-stacked model identifier is true; Step C: when the executable flag of the de-stacked model identifier is true, placing the de-stacked model identifier into the execution queue, and returning to Step B; when the executable flag of the de-stacked model identifier is false, proceeding to Step E; Step E: determining whether the scheduled flag of the de-stacked model identifier is true: if yes, returning to Step B; otherwise, setting the executable flag and the scheduled flag of the de-stacked model identifier to true, re-adding the de-stacked model identifier to the stack, and proceeding to Step E; Step E, judging whether the number of the scheduled flag bits set as true in the leading model identifiers corresponding to the out-stack model identifier is equal to the number of the leading models corresponding to the out-stack model identifier: if yes, entering step F; otherwise, setting the scheduled flag bits of all the leading model identifiers of the out-stack model identifier as false, adding all the leading model identifiers to the stack, and returning to step B; Step F, taking out the model identifiers in the stack one by one, and comparing them with the model identifiers in the execution queue: if they exist in the execution queue, discarding them; if they do not exist, adding them to the execution queue.

10. The apparatus of claim 8, wherein, The scheduling submodule is further configured to: determine the scheduling order of each model according to the order of the model identifiers in the execution queue; register and load a preset number of models according to the scheduling order, and initialize the count values of the stop-and-wait counters corresponding to each model as 0, wherein the preset number is the maximum number of the loaded models supported; repeat the following steps until all the models in the execution queue are scheduled: determine the current model to be scheduled according to the scheduling order, and schedule the current model when the count value of the stop-and-wait counter of the current model is equal to the number of the leading models of the current model, and receive the execution result of the current model, wherein when the execution result of any model is received, the next model in the scheduling order is continuously registered and loaded, and when the any model is a leading model of another model, the stop-and-wait counter of the another model is incremented by one.

11. An optimization apparatus of a combined model characterized by comprising: comprise: a transceiver, a processor, a memory, and a program or instructions stored on the memory and executable on the processor; and the processor implements the steps of the method according to any one of claims 1 to 5 when executing the program or instructions.

12. A computer-readable storage medium, characterized in that, The computer program stored on the computer readable storage medium is executed by the processor to implement the steps of the method according to any one of claims 1 to 5.

13. A computer program product, characterised in that, The computer instructions are executed by the processor to implement the steps of the method according to any one of claims 1 to 5.