Methods for allocating computing power in systems with at least one machine learning model

CN122580668APending Publication Date: 2026-08-14ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-10
Publication Date
2026-08-14

AI Technical Summary

Technical Problem

然而在实践中,机器学习模型可能是非常计算密集的

Benefits of technology

[0018]同样,本发明的主题是一种计算机程序、特别是计算机程序产品,包括指令,所述指令在通过计算机执行所述计算机程序时促使所述计算机实施根据本发明的方法。因此,根据本发明的计算机程序带来如关于根据本发明的方法所已经详尽描述的相同的优点。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122580668A_ABST
    Figure CN122580668A_ABST
Patent Text Reader

Abstract

The present invention relates to a method (100) for allocating computing power in a system (1) having at least one machine learning model, wherein the system (1) is configured for developing and / or managing software, comprising the steps of: - initiating (101) an application of the at least one machine learning model, wherein at least one metric is determined for the at least one machine learning model, wherein the at least one metric provides a measure of the quality of the required computing power relative to the output of the at least one machine learning model; - providing (102) weights to the at least one machine learning model, wherein the weights represent the context-dependent relevance of the at least one machine learning model in the system (1); - allocating (103) the computing power with respect to the use of the at least one machine learning model based on the at least one determined metric and the provided weights. Furthermore, the present invention relates to computer programs, apparatuses, and storage media for this purpose.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to a method for allocating computing power in a system having at least one machine learning model, wherein the system is configured for developing and / or managing software. Furthermore, this invention relates to computer programs, apparatus, and storage media for this purpose. Background Technology

[0002] Some approaches to artificial intelligence (KI) are of a more general nature, while others are highly specialized. For each step in the typical software development cycle, there exists at least one type of machine learning model that is best suited for improving overall code quality. Large Language Models (LLMs) belong to this category, particularly well-suited for code generation and deployment, such as Helm graphs. LLMs typically start from a very general base model capable of solving general tasks and are then further trained to address specific requirements, such as generating specific code. Graph Neural Networks (GNNs) can identify problems that, if represented as graphs, typically require large-scale analysis; such problems might be, for example, identifying variable misuse and type inference during creation time. Genetic machine learning models, for example, are suitable for highly specific application scenarios. These models typically start with an empty set or a problem-specific predefined set and iterate over the entire set. Fuzzing is an example of a genetic machine learning model that consistently generates more or better test cases to cover more blocks and branches of code in the software under test. Neural networks (NNs), for example, are very well suited for pattern recognition. Pattern recognition involves detecting specific weaknesses that can be exploited, such as user input forwarded to a memcopy function. Each KI method, or each type of machine learning model, has its own metric that the corresponding KI method attempts to maximize. In the case of fuzzing, this would be, for example, the test coverage of the code.

[0003] In current technologies, the use of different KI methods or different types of machine learning models is treated in a very optimistic manner based on their respective advantages, without considering the required computational power. However, in practice, machine learning models can be very computationally intensive. Here, for example, training in the case of LLM and NN, or frequent deployment (Einsatz) in the case of genetic machine learning models, can be decisive. Summary of the Invention

[0004] The subject matter of this invention is a method having the features of claim 1, a computer program having the features of claim 8, an apparatus having the features of claim 9, and a computer-readable storage medium having the features of claim 10. Other features and details of the invention are derived from the corresponding dependent claims, the description, and the drawings. Hereinafter, the features and details described in conjunction with the method according to the invention also apply to the computer program according to the invention, the apparatus according to the invention, and the computer-readable storage medium according to the invention, and vice versa, so that the disclosures regarding various aspects of the invention are always mutually referenced or can be mutually referenced.

[0005] Specifically, the subject of this invention is a method for allocating computing power in a system having at least one machine learning model, wherein the system is configured for developing and / or managing software, comprising the following steps, wherein the steps may be repeated and / or performed sequentially. The steps of the method are preferably performed continuously and / or cyclically. Here, software security is preferably an integral part of the overall software development and / or management. Software development and / or management is preferably based on the scheme "DevSecOps". DevSecOps is specifically a term composed of the words "Development", "Security", and "Operations". DevSecOps can represent a scheme in software development in which security is considered an integral part of the entire development process. Unlike traditional models where security considerations are typically considered only at the end of the development cycle, DevSecOps preferably integrates security aspects into the software development lifecycle from the outset.

[0006] In the first step, the application of the at least one machine learning model is preferably initiated, wherein at least one metric is determined for the at least one machine learning model. Here, the at least one metric specifically provides a measure of the required computing power relative to the quality of the output of the at least one machine learning model. If at least two different machine learning models are used, different metrics may also be determined for the respective machine learning models.

[0007] Possible metrics for at least one machine learning model may involve code generation via said at least one machine learning model. For this purpose, such metrics may include: cyclic complexity, number of lines of code, number of lines of code with executable code, coupling and / or inheritance depth, maintainability index, cognitive complexity, Halstead volume, and rework ratio.

[0008] Furthermore, among other possible metrics, test cases generated by the at least one machine learning model can be evaluated. Examples are fuzz testing or unit tests generated by an LLM. The created test cases can be measured using the following test metrics: The test metric can be the number of crashes or freezes, ideally the number of (potentially exploitable) bugs identified by the input that caused the crash. Additionally, the test metric can be total runtime or timeout. Another test metric can be coverage, such as line coverage, block coverage, edge coverage, or branch coverage. Furthermore, the frequency of newly discovered coverage or the number of test cases generated can be possible test metrics. In the case of embedded systems, additional test metrics can be power consumption, returned error codes, and timeout.

[0009] In another step, weights are preferably provided for the at least one machine learning model. These weights can represent the contextual relevance of the at least one machine learning model to the system. Alternatively, the weights can also be defined or determined dynamically and / or automatically by the system. Contextual relevance to the system specifically expresses, for example, that some software projects are more important or more business-critical than others. The weights can also indicate that some machine learning models are more important than others, for example, when a generative machine learning model generates security code, where validation and verification networks are used where necessary. Consequently, the relevance of the test may decrease, and less computational power may be allocated to the machine learning model used for the test.

[0010] In another step, the computational power is preferably allocated regarding the use of the at least one machine learning model based on at least one determined metric and provided weights. To this end, at least one fitness value can first be determined based on at least one determined metric and provided weights, for example, by multiplying the corresponding value of the metric by the corresponding weight of the corresponding machine learning model. For allocating computational power, a specialized planner module in the form of a software module can be used. In short, this specifically sets out when, where, and with what computational power to use the at least one machine learning model. Thus, the computational power available to the system can be advantageously and optimally utilized.

[0011] Furthermore, within the scope of this invention, the at least one machine learning model can be defined as a generative machine learning model, a graph-based machine learning model, a self-learning machine learning model, and / or a pattern recognition machine learning model. In particular, at least one of the above-mentioned machine learning models can be provided respectively. The generative machine learning model is preferably a large language model. The self-learning machine learning model is preferably a genetic machine learning model, and particularly a neural network applying a genetic algorithm, such as fuzz testing. The pattern recognition machine learning model is particularly a neural network trained for pattern recognition.

[0012] Furthermore, it is conceivable that the system comprises at least two generative machine learning models, particularly large language models, wherein these at least two generative machine learning models are merged into a generative machine learning model cluster. This advantageously provides a combinatorial application of the at least two generative machine learning models. Correspondingly, problems solvable by the at least two generative machine learning models can also be merged. Therefore, efficiency can be advantageously improved and the required computational demands reduced. The at least two generative machine learning models can at least provide code generation. Furthermore, software deployment via generative machine learning models is also possible.

[0013] Another advantage within the scope of this invention is that the system comprises at least two self-learning machine learning models, wherein these at least two self-learning machine learning models are bundled into a cluster of self-learning machine learning models. This advantageously provides a combined application of the at least two self-learning machine learning models. The at least two self-learning machine learning models can be used to test the system, particularly based on fuzz testing. Here, for example, randomized test cases can be created. The provided cluster advantageously enables testing against multiple software projects, thereby improving efficiency and effectiveness in testing.

[0014] Furthermore, it is conceivable that the development and / or management of at least two software projects can be automated through the system, and that the allocation of computing power can be performed based on the at least two software projects. In other words, according to the invention, available computing power can be advantageously centrally allocated to at least two software projects. For this purpose, a central data processing unit can be provided, which has an overview of the available computing power.

[0015] According to an advantageous improvement of the invention, the system is configured as a software system, and the application of the at least one machine learning model includes generating, modifying, and / or testing at least one software function of the system. Here, the code for the at least one software function can be generated, modified, and / or tested at least in part.

[0016] Furthermore, within the scope of this invention, allocating the computing power may include the following steps: - Specify the usage of the at least one machine learning model in terms of usage time period, usage frequency, usage location, and / or the type of usage. - Assign corresponding computing power to the respective designated users.

[0017] Therefore, different time periods can be set for the use of the at least one machine learning model. The location of use can be specified, for example, spatial proximity, such as via the internet, through a cloud server, or direct use on existing data processing equipment. The type of use can be, for example, a specific processor type, such as a CPU or GPU. Allocating corresponding computing power can, for example, include providing a certain amount of working memory, processor cores, and / or servers for the use of the corresponding machine learning model.

[0018] Similarly, the subject of this invention is a computer program, and more particularly a computer program product, comprising instructions that, when executed by a computer, cause the computer to perform the method according to the invention. Therefore, the computer program according to the invention provides the same advantages as already described in detail with respect to the method according to the invention.

[0019] Similarly, the subject of this invention is an apparatus for data processing, configured to implement the method according to the invention. For example, a computer may be configured as the apparatus, executing a computer program according to the invention. The computer may have at least one processor for executing the computer program. A non-volatile data memory may also be provided, in which the computer program may be stored, and which can be read from the non-volatile data memory by the processor for implementation.

[0020] Similarly, the subject of this invention can be a computer-readable storage medium having a computer program according to the invention and / or including instructions that, when implemented by a computer, cause the computer to perform the method according to the invention. The storage medium is configured, for example, as a data storage device, such as a hard disk and / or non-volatile memory and / or a memory card. The storage medium can, for example, be integrated into a computer.

[0021] Furthermore, the method according to the invention can also be implemented as a computer-based method. Attached Figure Description

[0022] Other advantages, features, and details of the invention will become apparent from the following description, in which embodiments of the invention are described in detail with reference to the accompanying drawings. Here, features mentioned in the claims and in the specification may be important to the invention individually or in any combination. Wherein: Figure 1 A schematic visualization illustrating a method, apparatus, storage medium, and computer program according to embodiments of the present invention is provided. Figure 2 A schematic diagram of a system according to an embodiment of the present invention is shown. Detailed Implementation

[0023] exist Figure 1 The diagram schematically illustrates a method 100, apparatus 10, storage medium 15, and computer program 20 according to an embodiment of the present invention.

[0024] Figure 1 In particular, an embodiment of a method 100 for allocating computing power in a system 1 having at least one machine learning model is shown, wherein the system 1 is configured for developing and / or managing software. In a first step 101, the application of the at least one machine learning model is initiated, wherein at least one metric is determined for the at least one machine learning model. The at least one metric provides a measure of the required computing power relative to the quality of the output of the at least one machine learning model. In a second step 102, weights are provided for the at least one machine learning model, wherein the weights represent the context-dependent relevance of the at least one machine learning model in the system 1. In a third step 103, computing power is allocated regarding the use of the at least one machine learning model based on the at least one determined metric and the provided weights.

[0025] Figure 2A system 1 according to an embodiment of the present invention is illustrated, wherein system 1 is configured for developing and managing software. Here, system 1 includes various machine learning models, such as generative machine learning models 2, self-learning machine learning models 3, graph-based machine learning models 4, and pattern recognition machine learning models 5. In this embodiment, multiple generative machine learning models 2 are merged into a generative machine learning model cluster 6. Similarly, multiple self-learning machine learning models 3 are merged into a self-learning machine learning model cluster 7. These machine learning models are used for different tasks within the scope of software development and software management, which... Figure 2 The middle section is represented by the corresponding cycle 8. Here, cycle 8 specifically represents the software project or DevSecOps cycle. The corresponding cycle 8 in this case includes code generation 11, code building 12, testing 13, release 14, deployment 15, running 16, monitoring 17, and planning 18. Software development and software management preferably use the DevSecOps approach.

[0026] This invention specifically relates to artificial intelligence (KI) methods in DevSecOps, namely generative machine learning models 2 (such as large language models (LLM)), graph-based machine learning models 4 (such as graph neural networks (GNN)), self-learning machine learning models 3 (such as genetic machine learning models), and pattern recognition machine learning models 5 (such as neural networks (NN)). Some machine learning models can be general, and a single "one-fits-all" model can be used for multiple software projects, while other machine learning models, for example, require specialized machine learning models for each individual software project. In particular, frequently retraining specialized machine learning models, creating general machine learning models, and continuously applying several machine learning models can be very computationally intensive. Sometimes this may require such a large amount of computing power that providing virtually unlimited resources to each machine learning model would be uneconomical.

[0027] In particular, according to one aspect of the invention, a planner module is used for the overall assessment and adoption of multiple software projects, which allocates computing power to where the maximum security gain can be expected.

[0028] For example, this invention explores the problem of how to plan computational power using multiple machine learning models to achieve the maximum possible security advantage for multiple software projects.

[0029] According to embodiments, the present invention offers the following advantages over the prior art: It provides a holistic view of optimal utilization of computing resources for all software projects and for all participating machine learning models. Computing power is preferably automatically allocated to important or business-critical software projects. Weighting is preferably employed, where computing power is controlled causally. If, for example, the code generated by the machine learning model is provably secure, e.g., through verification and validation networks or other static methods, machine learning-based testing of that code can be reduced.

[0030] exist Figure 2 The diagram illustrates a system 1 according to one possible embodiment. This system extends existing systems in several key aspects, particularly considering multiple DevOps cycles, i.e., multiple software projects. Enterprises can distribute available computing power, i.e., servers, across multiple software projects, making the overall perspective advantageous.

[0031] Here, generative machine learning models 2, such as LLM, can be merged into the generative machine learning model cluster 6. Since generative machine learning models 2 may be best suited for general problems, the coding and implementation issues can also be merged into the cluster.

[0032] Furthermore, it can be specified that the self-learning machine learning model 3 is bundled within the self-learning cluster 7. If, for example, fuzzing is used as the genetic machine learning model 3, then each fuzzer preferably starts at zero or from a minimal test set, and the longer it fuzzes a particular software project, the greater its test coverage becomes over time. Several parts can be reused, such as mutation strategies or input generation, but the genetic machine learning model 3 is particularly characterized by highly application-specific features.

[0033] Graph-based machine learning model 4 and pattern recognition machine learning model 5 can be kept highly general and can be reused to a large extent (in Vielen Teilen) for multiple software projects.

[0034] Within the scope of this invention, and specifically as specified in embodiments, all different metrics of the machine learning model are examined holistically, whether for the same machine learning model or cluster of machine learning models from different DevOps cycles, or for the same DevOps cycle from different machine learning models. For a cluster of generative machine learning models, all fitness values ​​f from each of the F generative machine learning model blocks can be used. i (i.e., the sum of all metrics of each generative KI). Each block, in particular, has its own weight w. iThis is to indicate that some generative machine learning model blocks may be more important than others. Weights can change over time. In the following formula, the weights are denoted by F to distinguish them from other weights.

[0035] ,in The same content applies to clusters of self-learning machine learning models, where the fitness function g is applied to all G self-learning machine learning model blocks. j Along with the corresponding weights Perform summation.

[0036] ,in For the other two machine learning models, their metrics and / or fitness values ​​can be taken over invariably. This specifically means that for graph-based machine learning models, considering f... 基于图 And for pattern recognition machine learning models, consider f 模式识别 .

[0037] According to the embodiment, the planner module obtains the current total fitness value f. 总 And then attempt to optimize the future total fitness value f' for multiple software projects and multiple machine learning models. 总 .

[0038] ,in in .

[0039] Generative machine learning model 2 or generative machine learning model cluster 6 should produce “good” code. Examples include ChatGPT or GitHub's Code-Pilot, which can be used for code generation. Code generation can be measured using metrics such as: cyclic complexity, number of lines of code, number of lines of executable code, coupling and / or inheritance depth, maintainability index, cognitive complexity, Holstead volume, and rework ratio.

[0040] Self-learning machine learning model 3 or self-learning machine learning model cluster 7 should produce “good” test cases. Examples are fuzz testing or unit tests generated by an LLM. The created test cases can be measured using the following test metrics: Test metrics can be the number of crashes or freezes, ideally the number of (potentially exploitable) bugs identified by the input that caused the crash. Additionally, test metrics can be total runtime or timeout. Another test metric can be coverage, such as line coverage, block coverage, edge coverage, or branch coverage. Furthermore, the frequency of newly discovered coverage or the number of test cases generated can be possible test metrics. In the case of embedded systems, additional test metrics can be power consumption, returned error codes, and timeouts.

[0041] A method according to one embodiment is described below: First, it can be provided in Figure 2 The system 1 shown can be implemented first in a first step to obtain several fitness values ​​f. In another step, weights w can be provided, or alternatively, weights w can be calculated by the planner module according to the invention in each cycle. In this case, each weight can represent, for example, that several software projects are more important (or more business-critical) than others. Weights w can also indicate that several machine learning models are more important than others, for example, when generative machine learning models generate secure code, and validation and verification networks are used when necessary. Thus, the relevance of the test may decrease. In another step, particularly by the planner module, it can be estimated how much computing power should be allocated to each machine learning model and / or software project. Here, preferably, the function f should be implemented. 总The maximum value. This can be represented, for example, as a search-based problem that can itself be solved using machine learning models, such as gradient descent using neural networks. The planner module covers, for example, the following correlations. It can be examined which software project is more business-critical, for example, based on observations in the monitoring phase, where the number of users or attacks can be analyzed. It can also be evaluated which software project lasts longer or is more complex to create. Here it can be identified where graph-based machine learning models can be used most advantageously. It can also be determined where new code, such as new features or patches, has been generated using generative machine learning models, and where the new code must be tested more using self-learning machine learning models compared to older code. In another step, each machine learning model is implemented, in particular, with a given budget for computing power. It can then be specified that all metrics and fitness values ​​f are continuously updated. The process of estimating "how much computing power should be allocated to each machine learning model and / or software project" is preferably performed repeatedly, in particular cyclically. In addition, the weights w can be updated repeatedly. Typically, DevOps cycles preferably do not have an end, but total computing power can be reduced when the values ​​of metrics and fitness reach or approach saturation.

[0042] Alternatively, this concept is not limited to KI-based methods but can also be applied in conjunction with DevSecOps methodologies. Typical DevSecOps methodologies include the following: requirements analysis, secure coding, SAST, white-box DAST, black-box DAST, digital tagging (Zeichen), security analysis, security monitoring, security auditing, security patching, security scanning, secure configuration, and secure transport.

[0043] The method for overall load or computing power allocation according to the embodiments can also be used with known algorithms such as code generators, build chains, testing, etc. However, the method according to the embodiments is particularly advantageous with the emergence of machine learning models that can be very expensive in terms of power consumption. DevSecOps can have several metrics, such as the following: defect density, defect burn-out rate, critical risk profile creation, most important vulnerability type, number of attackers per application, attacker return rate, risk points per device, number of consecutive delivery cycles per month, and number of issues in Red Teaming exercises.

[0044] This invention specifically describes load or computing power balancing for system 1. System 1 preferably interacts with itself, wherein all metrics and actual load or computing power balancing, i.e., allocation of computing power 103, is preferably performed automatically by system 1.

[0045] The above description of the embodiments is merely an example to illustrate the invention. Of course, where technically feasible, the various features of the embodiments can be freely combined with each other without departing from the scope of the invention.

Claims

1. A method (100) for allocating computing power in a system (1) having at least one machine learning model, wherein the system (1) is configured for developing and / or managing software, comprising the following steps: - Initiating (101) the application of the at least one machine learning model, wherein at least one metric is determined for the at least one machine learning model, wherein the at least one metric provides a measure of the required computational power relative to the quality of the output of the at least one machine learning model. - Provide (102) weights for the at least one machine learning model, wherein the weights represent the context-dependent relevance of the at least one machine learning model to the system (1). - The computing power is allocated (103) based on at least one determined metric and provided weights with respect to the use of the at least one machine learning model.

2. The method (100) according to claim 1. Its features are, The at least one machine learning model is a generative machine learning model (2), a graph-based machine learning model (4), a self-learning machine learning model (3), and / or a pattern recognition machine learning model (5).

3. The method (100) according to any one of the preceding claims. Its features are, The system (1) includes at least two generative machine learning models (2), particularly a large language model, wherein the at least two generative machine learning models (2) are merged into a generative machine learning model cluster (6) to provide a combined application of the at least two generative machine learning models (2). The at least two generative machine learning models (2) therein provide at least code generation.

4. The method (100) according to any one of the preceding claims. Its features are, The system (1) includes at least two self-learning machine learning models (3), wherein the at least two self-learning machine learning models (3) are bundled in a self-learning machine learning model cluster (7) to provide a combined application of the at least two self-learning machine learning models (3). The system (1) is tested by at least two self-learning machine learning models (3), particularly based on fuzz testing.

5. The method (100) according to any one of the preceding claims. Its features are, The system (1) automatically performs the development and / or management of at least two software projects, and allocates the computing power (103) in view of the at least two software projects.

6. The method (100) according to any one of the preceding claims. Its features are, The system (1) is constructed as a software system, and the application of the at least one machine learning model includes generating, modifying and / or testing at least one software function of the system (1).

7. The method (100) according to any one of the preceding claims. Its features are, The allocation of computing power (103) includes the following steps: - Specify the usage of the at least one machine learning model in terms of usage time period, usage frequency, usage location, and / or the type of usage. - Assign corresponding computing power to the respective designated users.

8. A computer program (20) comprising instructions that, when executed by a computer (10), cause the computer to perform the method (100) according to any one of the preceding claims.

9. An apparatus (10) for data processing, the apparatus being configured to perform the method (100) according to any one of claims 1 to 7.

10. A computer-readable storage medium (15) comprising instructions that, when implemented by a computer (10), cause the computer to perform the steps of the method (100) according to any one of claims 1 to 7.