WO2024001344A1 - 基于云计算技术的目标函数求解方法、装置和计算设备 - Google Patents

基于云计算技术的目标函数求解方法、装置和计算设备 Download PDF

Info

Publication number
WO2024001344A1
WO2024001344A1 PCT/CN2023/084031 CN2023084031W WO2024001344A1 WO 2024001344 A1 WO2024001344 A1 WO 2024001344A1 CN 2023084031 W CN2023084031 W CN 2023084031W WO 2024001344 A1 WO2024001344 A1 WO 2024001344A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
cutting planes
objective function
cutting
management platform
Prior art date
Application number
PCT/CN2023/084031
Other languages
English (en)
French (fr)
Inventor
李希君
李建树
王治海
曾嘉
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202211089130.8A external-priority patent/CN117370715A/zh
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024001344A1 publication Critical patent/WO2024001344A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Definitions

  • the present application relates to the field of cloud computing, and more specifically, to an objective function solving method, device and computing equipment based on cloud computing technology.
  • the solver includes a cutting plane module, which generates a series of constraints, called a set of cutting planes to be selected.
  • a cutting plane module which generates a series of constraints, called a set of cutting planes to be selected.
  • the cutting plane module needs to select a cutting plane from the set of cutting planes to be selected, and add this cutting plane to the solution process of the objective function.
  • the above-mentioned cutting plane selection process can narrow the feasible region for finding the optimal solution of the objective function and achieve the optimal speed-up solution effect. This selection process can also be called cutting plane selection.
  • the above-mentioned selection process of the cutting plane is based on heuristic rules. That is to say, in this technical solution, based on expert knowledge, a variety of evaluation indicators are designed, such as target parallelism, integer support, linear programming optimal solution distance, etc. Score all the cutting planes to be selected, and finally select a cutting plane with a high score from the cutting planes to be selected and add it to the solution process of the objective function.
  • This type of method highly relies on expert knowledge design. If a set of rules is used for all objective functions to select cutting planes from the set of cutting planes to be selected, there will be a problem of poor generality of the rules, and the solution performance of the corresponding objective function will not be optimal. . If a set of rules is specially designed for a type of objective function, the cost of expert design will be too high, which is unacceptable in practical applications.
  • This application provides an objective function solving method, device and computing equipment based on cloud computing technology.
  • the method selects the cutting plane for the objective function in the user data from M cutting planes to be selected based on the artificial intelligence AI model. collection, thereby improving the performance of solving the objective function.
  • a method for solving the objective function based on cloud computing technology is provided.
  • the method is applied to the cloud management platform.
  • the method includes: the cloud management platform obtains the user data uploaded by the tenant and determines the user according to the first artificial intelligence AI model.
  • the user data includes the objective function and constraint information.
  • the first set of cutting planes is the N cutting planes selected by the first AI model from the M cutting planes to be selected.
  • the M cutting planes to be selected are used to solve the objective function. Multiple constraints, M and N are positive integers, N is less than M.
  • the cutting plane set for the objective function in the user data can be selected from the M cutting planes to be selected according to the first AI model, because the selected cutting plane set is determined for the objective function in the user data. , therefore, the solution performance of the corresponding objective function is also optimal.
  • it compared with designing a set of rules specifically for the objective function through expert knowledge, it can also save expert design costs and is easier to accept in practical applications.
  • the cloud management platform can also determine the first AI model input or selected by the tenant, and generate M cutting planes to be selected based on the objective function and constraint information.
  • the cloud management platform can also determine the selection ratio of the cutting planes corresponding to the objective function according to the first AI model, and select N cutting planes from the above-mentioned M cutting planes to be selected as the first cutting plane set according to the selection ratio of the cutting planes.
  • the input of the first AI model includes the objective function, constraint information and M cutting planes to be selected.
  • the above-mentioned adaptive selection ratio of cutting planes learned based on the characteristics of the objective function itself and the characteristics of the cutting plane to be selected can help to learn the global
  • the optimal cutting plane selection ratio is used to fully search the entire action space and avoid falling into the local optimal solution.
  • the first AI model is any one of the following: a neural network model, a decision tree model, or a logistic regression model.
  • the cloud management platform can also perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function; and/or the cloud management platform
  • the constraint information can also be dimensionally reduced according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or the cloud management platform can also perform dimensionality reduction on the M cutting planes to be selected according to the second AI model.
  • Dimensionality reduction processing obtains low-dimensional representations of the M cutting planes to be selected.
  • the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M cutting planes to be selected.
  • the second AI model is any one of the following: a graph convolutional neural network, a principal component analysis model.
  • the cloud management platform can also determine the order of adding the N cutting planes included in the first cutting plane set according to the third AI model, where the third AI model The inputs are M cutting planes to be selected and the selection ratio of the cutting planes corresponding to the objective function.
  • the N cutting planes are added in a certain order, thereby improving the efficiency of solving the objective function.
  • the third AI model is any of the following: Pointer network model, regression model, decision tree model.
  • the cloud management platform can also provide the tenant with any one or any combination of the following information: the selection ratio of the cutting plane corresponding to the objective function, the first The N cutting planes in the cutting plane set, the order in which the N cutting planes are added.
  • the first AI model is trained by the cloud management platform based on the objective function, constraint information, M cutting planes to be selected, and the selection ratio of the cutting planes corresponding to the objective function. of.
  • a device for selecting a cutting plane is provided.
  • the device is applied to a cloud management platform.
  • the device includes: an acquisition module, a determination module, and a solution module, where the acquisition module is used to acquire user data uploaded by tenants; the determination module is used to determine the first set of cutting planes corresponding to the user data according to the first AI model, and the solving module is used to obtain the solution result of the objective function according to the first set of cutting planes and the objective function, and provide the solution
  • the results are provided to the tenant and/or saved.
  • the user data includes an objective function and constraint information
  • the first set of cutting planes includes N cutting planes
  • the first set of cutting planes is the N cutting planes selected by the first AI model from M cutting planes to be selected. Plane, the N cutting planes to be selected are multiple constraints used to solve the objective function.
  • the device further includes: a generation module, wherein the determination module is also used to determine the first AI model input or selected by the tenant; the generation module is used to determine the first AI model input or selected by the tenant; The objective function and the constraint information generate the M cutting planes to be selected; the determination module is also used to determine the selection ratio of the cutting planes corresponding to the objective function according to the first AI model; the determination module is also used to determine the selection ratio of the cutting planes corresponding to the objective function according to the first AI model.
  • the plane selection ratio selects the first cutting plane set from the M cutting planes to be selected.
  • the input of the first AI model includes the objective function, the constraint information and the M cutting planes to be selected.
  • the first AI model is any one of the following: a neural network model, a decision tree model, or a logistic regression model.
  • the device further includes: a dimensionality reduction module, configured to perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function; and /or used to perform dimensionality reduction on the constraint information according to the second AI model to obtain a low-dimensional representation of the constraint information; and/or used to perform dimensionality reduction on the M cutting planes to be selected according to the second AI model The process obtains a low-dimensional representation of the M cutting planes to be selected.
  • a dimensionality reduction module configured to perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function
  • a dimensionality reduction module configured to perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function
  • a dimensionality reduction module configured to perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function
  • a dimensionality reduction module configured to perform
  • the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M cutting planes to be selected.
  • the second AI model is any one of the following: a graph convolutional neural network, a principal component analysis model.
  • the determination module is further configured to determine an adding order of N cutting planes included in the first cutting plane set according to a third AI model, wherein the third The input of the AI model is the M cutting planes to be selected and the selection ratio of the cutting planes corresponding to the objective function.
  • the third AI model is any one of the following: a pointer network model, a regression model, and a decision tree model.
  • the device further includes: a sending module, configured to provide the tenant with any one or any combination of the following information: the cut corresponding to the objective function.
  • a sending module configured to provide the tenant with any one or any combination of the following information: the cut corresponding to the objective function.
  • the first AI model is trained by the cloud management platform based on the objective function, constraint information, M cutting planes to be selected, and the selection ratio of the cutting planes corresponding to the objective function. get of.
  • a computing device including a processor and a memory, and optionally, an input and output interface.
  • the processor is used to control the input and output interface to send and receive information
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program from the memory, making it possible to execute the first aspect or any one of the first aspects.
  • the method in the implementation is used to control the input and output interface to send and receive information
  • the memory is used to store a computer program
  • the processor is used to call and run the computer program from the memory, making it possible to execute the first aspect or any one of the first aspects.
  • the processor may be a general-purpose processor, which may be implemented by hardware or software.
  • the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general processor, which is implemented by reading software codes stored in a memory, and the memory can Integrated in the processor, it can be located outside the processor and exist independently.
  • a computing device cluster including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, So that the computing device cluster executes the method in the first aspect or any possible implementation manner of the first aspect.
  • a fifth aspect provides a chip that obtains instructions and executes the instructions to implement the method in the above first aspect and any implementation of the first aspect.
  • the chip includes a processor and a data interface.
  • the processor reads instructions stored in the memory through the data interface and executes the above first aspect and any implementation of the first aspect. Methods.
  • the chip may also include a memory, the memory stores instructions, the processor is used to execute the instructions stored in the memory, and when the instructions are executed, the processor is used to execute the first aspect and a method in any implementation of the first aspect.
  • a computer program product containing instructions is provided.
  • the instructions When the instructions are executed by a computing device, the computing device performs the method in the above-mentioned first aspect and any implementation of the first aspect.
  • a computer program product containing instructions is provided.
  • the computing device cluster causes the computing device cluster to execute the method in the above first aspect and any implementation of the first aspect. .
  • An eighth aspect provides a computer-readable storage medium, which is characterized in that it includes computer program instructions.
  • the computer program instructions are executed by a computing device, the computing device executes any one of the above-mentioned first aspect and the first aspect. method in an implementation.
  • these computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM erasable PROM
  • Flash memory electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • the above storage medium may be a non-volatile storage medium.
  • a computer-readable storage medium which is characterized in that it includes computer program instructions.
  • the computer program instructions are executed by a computing device cluster, the computing device cluster performs the above-mentioned first aspect and the first aspect. method in any implementation.
  • these computer-readable storages include, but are not limited to, one or more of the following: read-only memory (ROM), programmable ROM (PROM), erasable PROM (erasable PROM, EPROM), Flash memory, electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • ROM read-only memory
  • PROM programmable ROM
  • EPROM erasable PROM
  • Flash memory electrical EPROM (electrically EPROM, EEPROM) and hard drive (harddrive).
  • the above storage medium may be a non-volatile storage medium.
  • Figure 1 is a schematic flow chart of an objective function solving method based on cloud computing technology provided by an embodiment of the present application.
  • Figure 2 is a schematic flow chart of another objective function solving method based on cloud computing technology provided by an embodiment of the present application.
  • Figure 3 is a schematic flow chart of an AI model training method provided by an embodiment of the present application.
  • Figure 4 is a schematic block diagram of an interaction form between a tenant and an AI basic development platform provided by an embodiment of this application.
  • Figure 5 is a schematic block diagram of data parallel training in the AI model training process provided by the embodiment of the present application.
  • Figure 6 is a schematic block diagram of model parallel training in the AI model training process provided by the embodiment of the present application.
  • Figure 7 is a schematic diagram of an AI model deployment provided by an embodiment of this application.
  • Figure 8 is a schematic diagram of an AI model providing online services provided by an embodiment of the present application.
  • FIG. 9 is a schematic block diagram of an objective function solving device 900 based on cloud computing technology provided by an embodiment of the present application.
  • FIG. 10 is an architectural schematic diagram of a computing device 1000 provided by an embodiment of the present application.
  • Figure 11 is a schematic architectural diagram of a computing device cluster provided by an embodiment of the present application.
  • Figure 12 is a schematic diagram of the connection between computing devices 1000A and 1000B provided by an embodiment of the present application through a network.
  • At least one refers to one or more
  • plural refers to two or more.
  • “And/or” describes the association of associated objects, indicating that there can be three relationships, for example, A and/or B, which can mean: including the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural.
  • the character “/” generally indicates that the related objects are in an “or” relationship.
  • “At least one of the following” or similar expressions thereof refers to any combination of these items, including any combination of a single item (items) or a plurality of items (items).
  • At least one of a, b, or c can mean: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, c can be single or multiple .
  • Mathematical programming is a branch of mathematics whose main research goal is to find the optimal solution that can minimize or maximize a certain function in a given area.
  • Mathematical programming can be divided into many different branches, such as linear programming, integer programming, nonlinear programming, combinatorial optimization, multi-objective programming, stochastic programming, dynamic programming, parametric programming and other problems.
  • Linear programming is an important branch of operations research that has been studied earlier, developed faster, is widely used, and has more mature methods. It is a mathematical method that assists people in scientific management. It is a mathematical theory and method for studying the extreme value problem of linear objective function under linear constraints.
  • MILP Mixed integer linear programming
  • Mixed integer linear programming refers to a linear programming problem in which some decision variables are restricted to integers.
  • solver is a software system that solves established linear, integer, mixed integer and various nonlinear programming models.
  • the cutting plane is a series of constraints that are added to the original problem to narrow the feasible solution region and obtain the optimal solution to the original problem.
  • the solver includes a cutting plane module, which generates a series of constraints, called a set of cutting planes to be selected.
  • a cutting plane module which generates a series of constraints, called a set of cutting planes to be selected.
  • the cutting plane module needs to select a cutting plane from the set of cutting planes to be selected, and add this cutting plane to the solution process of the objective function.
  • the above-mentioned cutting plane selection process can narrow the feasible region for finding the optimal solution of the objective function and achieve the optimal speed-up solution effect. This selection process can also be called cutting plane selection.
  • the above-mentioned selection process of the cutting plane is based on heuristic rules. That is to say, in this technical solution, based on expert knowledge, a variety of evaluation indicators are designed, such as target parallelism, integer support, linear programming optimal solution distance, etc. Score all the cutting planes to be selected, and finally select a cutting plane with a high score from the cutting planes to be selected and add it to the solution process of the objective function.
  • This type of method highly relies on expert knowledge design. If a set of rules is used for all objective functions to select cutting planes from the set of cutting planes to be selected, there will be a problem of poor generality of the rules, and the solution performance of the corresponding objective function will not be optimal. . If a set of rules is specially designed for a type of objective function, the cost of expert design will be too high, which is unacceptable in practical applications.
  • embodiments of the present application provide a method for solving the objective function based on cloud computing technology.
  • This method can select the target function from multiple cutting planes to be selected based on the AI model (hereinafter also referred to as the model).
  • the collection of cutting planes of the objective function in the user data thereby improving the solution performance of the objective function. .
  • Figure 1 is a schematic flow chart of an objective function solving method based on cloud computing technology provided by an embodiment of the present application. As shown in Figure 1, the method is applied to the cloud management platform. The method may include steps 110-140. Steps 110-140 are described in detail below.
  • Step 110 The cloud management platform obtains the user data uploaded by the tenant, which includes the objective function and constraint information.
  • the cloud management platform is located in the cloud data center and can provide access interfaces (such as interfaces or application program interfaces (APIs)). Tenants can use the client remote access interface to register a cloud account and password on the cloud management platform, and log in to the cloud management platform. After the cloud management platform successfully authenticates the cloud account and password, the tenant can further select and purchase a virtual machine with specific specifications (processor, memory, disk) on the cloud management platform for a fee. After the paid purchase is successful, the cloud management platform provides the remote login account and password of the purchased virtual machine. The client can remotely log in to the virtual machine and install and run the tenant's applications in the virtual machine. Therefore, tenants can create, manage, log in and operate virtual machines in the cloud data center through the cloud management platform. Among them, virtual machines can also be called cloud servers (elastic compute service, ECS) and elastic instances (different cloud service providers have different names).
  • ECS elastic compute service
  • the cloud management platform obtains the user data uploaded by the tenant.
  • the tenant can use the cloud management platform to obtain the user data uploaded by the tenant.
  • the client of the management platform uploads user data to the cloud management platform.
  • the user data may include an objective function and constraint information, where the constraint information is used to constrain variables in the objective function, and the objective function is a problem function to be solved.
  • Step 120 The cloud management platform determines the first set of cutting planes corresponding to the user data according to the first model.
  • the cloud management platform can determine the first set of cutting planes corresponding to the objective function in the user data according to the first model.
  • the first set of cutting planes includes at least one cutting plane
  • the first set of cutting planes is a section of cutting planes selected by the first model from a plurality of cutting planes to be selected, and the plurality of cutting planes to be selected are Multiple constraints used to solve the objective function.
  • the method further includes: the cloud management platform determines the first model input or selected by the tenant.
  • the method further includes: the cloud management platform generates the plurality of cutting planes to be selected according to the objective function included in the user data and the constraint information.
  • the input information of the above-mentioned first model includes the user data and the plurality of cutting planes to be selected, and the output information of the first model includes the first cutting plane set.
  • the embodiment of the present application does not specifically limit the above-mentioned first model, as long as the selection ratio of the cutting plane corresponding to the objective function can be determined.
  • the first model may include but is not limited to any of the following: neural network model, decision tree model, and logistic regression model.
  • the cloud management platform can also perform model training to obtain the above-mentioned first model.
  • the cloud management platform can train the above-mentioned first model based on the objective function, constraint information, and multiple cutting planes to be selected.
  • the model training process will be described in detail below and will not be detailed here.
  • the cloud management platform may also determine the first set of cutting planes based on the first model.
  • the selection proportion of cutting planes corresponding to the objective function is determined, and the first set of cutting planes is selected from a plurality of cutting planes to be selected according to the selection proportion of cutting planes.
  • the input of the first model includes the objective function, the constraint information and the plurality of cutting planes to be selected, and the output information includes the selection of cutting planes corresponding to the objective function.
  • the cloud management platform can also perform model training to obtain the above-mentioned first model.
  • the cloud management platform can train to obtain the above-mentioned first model based on the objective function, constraint information, multiple cutting planes to be selected, and the selection ratio of the cutting planes.
  • the model training process will be described in detail below and will not be detailed here.
  • the cloud management platform can also perform dimensionality reduction processing on the input of the first model to facilitate model inference by the first model.
  • the cloud management platform can perform dimensionality reduction processing on one or more of the following information: objective function, constraint information, and second cutting plane set.
  • the objective function can be dimensionally reduced according to the second model to obtain a low-dimensional representation of the objective function.
  • dimensionality reduction processing is performed on the constraint information according to the second model to obtain a low-dimensional representation of the constraint information.
  • dimensionality reduction processing is performed on a plurality of cutting planes to be selected included in the second cutting plane set according to the second model to obtain a low-dimensional representation of the plurality of cutting planes to be selected.
  • the above-mentioned low-dimensional representation is the result of dimensionality reduction processing of certain information.
  • the low-dimensional representation of the objective function is the result of dimensionality reduction of the objective function.
  • the input of the first model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a plurality of low-dimensional representations of cutting planes to be selected.
  • the embodiment of the present application does not specifically limit the second model, as long as it can achieve dimensionality reduction processing (for example, feature extraction).
  • the second model may include but is not limited to any of the following: graph convolutional neural network, principal component analysis model.
  • the cloud management platform can also perform model training to obtain the above-mentioned second model.
  • the second model can be trained based on one or more of the following information: the objective function and a low-dimensional representation of the objective function, the constraint information and the low-dimensional representation of the constraint information, a plurality of cutting planes to be selected, and a plurality of cutting planes to be selected. A low-dimensional representation of the selected cutting plane.
  • the cloud management platform may also determine the adding order of at least one cutting plane included in the first cutting plane set according to a third model, the input of the third model includes the The multiple cutting planes to be selected and the selection ratio of the cutting planes corresponding to the objective function.
  • the input of the third model is the selection ratio of multiple cutting planes to be selected and the cutting planes corresponding to the objective function, and the output of the third model is the adding order of at least one cutting plane included in the first cutting plane set.
  • the embodiment of the present application does not specifically limit the third model, as long as the order of adding at least one cutting plane can be determined.
  • the third model may include but is not limited to any of the following: pointer network model, regression model, and decision tree model.
  • the cloud management platform can also perform model training to obtain the above third model.
  • the cloud management platform can train to obtain the third model based on multiple cutting planes to be selected, a selection ratio of cutting planes corresponding to the objective function, and an order of addition of at least one cutting plane in the first cutting plane set.
  • Step 130 The cloud management platform solves to obtain the solution result of the objective function based on the first set of cutting planes and the objective function.
  • a solver is deployed on the cloud management platform.
  • the solver can solve to obtain the solution result of the objective function based on the first set of cutting planes and the objective function and constraint information included in the user data. .
  • Step 140 The cloud management platform provides the solution result to the tenant, or the cloud management platform saves the solution result in the storage module of the cloud management platform.
  • the cloud management platform can provide the solution result to the tenant.
  • the cloud management platform can also save the solution results in the storage module of the cloud management platform.
  • the cloud management platform may also provide the tenant with any one or any combination of the following information: the selection ratio of the cutting plane corresponding to the objective function, the At least one cutting plane in the first cutting plane set, and the order in which the at least one cutting plane is added.
  • Figure 2 is a schematic flow of another objective function solution method based on cloud computing technology provided by the embodiment of the present application. Process map. As shown in Figure 2, the method may include steps 210-250. Steps 210-250 will be described in detail below.
  • Step 210 The tenant inputs user data into the cloud management platform.
  • tenants can upload user data to the cloud management platform through the access interface (such as interface or API) of the cloud management platform.
  • the user data can include but is not limited to: objective function and constraint information.
  • the objective function is a problem to be solved by the tenant
  • the constraint information is the constraint information input by the tenant for the variables in the objective function.
  • Step 220 The cloud management platform generates a second cutting plane set according to the user data.
  • a solver is deployed on the cloud management platform.
  • the solver can generate multiple constraint conditions based on the objective function and constraint information in the user data.
  • the multiple constraint conditions can also be called multiple cutting planes, and the multiple cutting planes constitute a second set of cutting planes.
  • the second set of cutting planes may also be called a set of cutting planes to be selected, and the set of cutting planes to be selected includes a plurality of cutting planes to be selected.
  • the multiple cutting planes to be selected are used to further constrain the variables in the objective function based on the constraints input by the tenant.
  • the constraint information in step 210 is the constraints on the objective function input by the tenant.
  • the multiple cutting planes to be selected included in the second cutting plane set in step 220 are additional constraints generated by the solver for the objective function.
  • the additional constraints are used to further constrain or limit the variables in the objective function, so that Reduce the scope of solving the optimal solution of the objective function.
  • Step 230 The cloud management platform obtains the first cutting plane set from the second cutting plane set and the adding order of at least one cutting plane included in the first cutting plane set.
  • the cloud management platform can obtain a certain proportion of cutting planes from the second cutting plane set according to the user data, and the order in which the certain proportion of cutting planes is added.
  • the above-mentioned certain proportion of cutting planes may also be called a first cutting plane set, and the first cutting plane set includes at least one cutting plane.
  • the cloud management platform can determine the feature extraction model input or selected by the tenant, and obtain a low-dimensional representation of the objective function, the low-dimensional representation of the constraint information, and the plurality of cuts to be selected based on the feature extraction model.
  • a low-dimensional representation of a plane may also determine the cutting plane addition proportion model input or selected by the tenant, and obtain the selection proportion of the cutting plane corresponding to the objective function based on the cutting plane addition proportion model.
  • the cloud management platform may also determine the cutting plane addition order model input or selected by the tenant, and obtain at least one cutting plane included in the first cutting plane set corresponding to the objective function and the at least one cutting plane according to the cutting plane adding order model. order of addition.
  • any AI model includes a training phase and an inference phase.
  • the training stage refers to the process of using a designated initial model to calculate the training data, and using a certain method to adjust the parameters in the initial model based on the calculation results, so that the model gradually learns certain rules and has specific functions.
  • the AI model with stable functions after training can be used for inference.
  • the inference of the AI model uses the data of the actual application scenario as input data, and the inference results of the AI model after training can be obtained.
  • the inference stage is the practical application of the trained AI model, which can quickly use AI capabilities to solve specific technical problems.
  • the feature extraction model is used to perform dimensionality reduction processing on the user data and the plurality of cutting planes to be selected included in the second cutting plane set, for example, embedding the user data and the plurality of cutting planes to be selected, respectively. Obtain multiple cutting planes to be selected after dimensionality reduction and user data after dimensionality reduction (including objective function and constraint information). interest).
  • the feature extraction model is also used to process multiple cutting planes to be selected after dimensionality reduction and user data after dimensionality reduction, and obtain the relationship between each cutting plane to be selected and user data, or user data, based on the user data.
  • the influence on each cutting plane to be selected that is, the characteristics of each cutting plane to be selected are obtained according to the user data (the characteristics can be, for example, a set of vectors, which can be understood as a description of each cutting plane to be selected) .
  • the multiple cutting planes to be selected after dimensionality reduction can also be referred to as the low-dimensional embedding representation of the multiple cutting planes to be selected.
  • the objective function after dimensionality reduction can also be called the low-dimensional embedding representation of the objective function.
  • the input of the feature extraction model is user data including the objective function and constraint information, and a plurality of cutting planes to be selected included in the second cutting plane set, and the output is each to be selected in the second cutting plane set.
  • Characteristics of the cutting plane Taking multiple cutting planes to be selected included in the second cutting plane set as an example, the specific implementation process of embedding representation of the multiple cutting planes to be selected is described in detail below.
  • the above feature extraction model is implemented through a graph convolutional neural network.
  • the graph convolutional neural network is equivalent to a feature extractor. Its main function is to embed high-dimensional mathematical programming model information (for example, the cutting planes to be selected above), that is, to reduce multiple cutting planes to be selected.
  • Dimensional representation facilitates inference by downstream modules or downstream models. Specifically, as an example, first, multiple cutting plane information (A, b, C) to be selected are converted into a bipartite graph representation, that is, (A, b, C) are filled according to the connection relationship. Secondly, the above bipartite graph connection relationship is input into the graph convolution network, and multiple cutting planes to be selected are obtained as low-dimensional embedded representation information.
  • the cutting plane addition scale model is used to adaptively learn the optimal selection scale K of the cutting plane according to the objective function in different user data.
  • the optimal selection ratio K of the cutting plane represents selecting a cutting plane from a plurality of cutting planes to be selected included in the second cutting plane set, and the proportion of this cutting plane in the second cutting plane set is K .
  • the input of the cutting plane adding scale model is the low-dimensional embedding representation of the user data output by the feature extraction model and the low-dimensional embedding representation of multiple cutting planes to be selected, and its output is the optimal selection scale K of the cutting plane.
  • the above cutting plane addition scale model is implemented through a fully connected neural network.
  • the low-dimensional embedding representation of the user data output by the feature extraction model and the low-dimensional embedding representation of multiple cutting planes to be selected can be used as the input of the cutting plane adding scale model, and these input information are passed through the fully connected neural network. After the network, the optimal selection ratio K of the cutting plane is output.
  • the low-dimensional embedding representation of user data and the low-dimensional embedding representation of multiple cutting planes to be selected pass through the autoencoder of the neural network, and then pass through a layer of fully connected neural network to output the characteristics of the user data (for example, user
  • the optimal selection ratio K of cutting planes is determined by the characteristics of the objective function itself in the data) and the characteristics of multiple cutting planes to be selected.
  • the above-mentioned adaptive learning of the optimal selection ratio K of cutting planes based on the characteristics of the objective function itself and the characteristics of multiple cutting planes to be selected can be It helps to learn the globally optimal cutting plane selection ratio, thereby achieving full search in the entire action space and avoiding falling into the local optimal solution.
  • the cutting plane addition order model is used to adaptively consider the arrangement order among multiple cutting planes to be selected and remove redundant cutting planes to obtain the optimal arrangement order among multiple cutting planes to be selected.
  • the cutting plane addition sequence model can also provide the optimal cutting plane with a specified length among multiple cutting planes to be selected, given the optimal selection ratio K of cutting planes. Plane addition order.
  • the input of the cutting plane addition sequence model is the low-dimensional embedding representation of multiple cutting planes to be selected output by the feature extraction model and the optimal selection ratio K of the cutting plane output by the cutting plane adding scale model, and its output is the first A set of cutting planes, the first set of cutting planes includes at least one cutting plane, the at least one cutting plane has an optimal arrangement order, and the first set of cutting planes occupies a proportion of the second set of cutting planes The ratio is K.
  • the above cutting plane addition sequence model is implemented through a pointer network.
  • the low-dimensional embedding representation of multiple cutting planes to be selected output by the feature extraction model and the optimal selection ratio K of the cutting planes output by the cutting plane adding scale model can be used as the input of the pointer network.
  • the pointer network can adaptively learn the optimal arrangement order among the multiple cutting planes to be selected based on the low-dimensional embedding representation of the multiple cutting planes to be selected, and based on the optimal selection ratio K of the cutting planes, based on
  • the pointer outputs at least one cutting plane of a specified length (for example, a ratio K) from a plurality of arranged cutting planes to be selected, the at least one cutting plane has an optimal arrangement order, and the at least one cutting plane constitutes The first set of cutting planes mentioned above.
  • the above pointer network is based on the characteristics of each cutting plane to be selected, and can not only remove multiple cutting planes to be selected, but also Similar redundant cutting planes, dynamically adaptively obtain the optimal arrangement order among multiple cutting planes to be selected.
  • the optimal selection ratio K of cutting planes based on dynamic adaptive learning can be used to give the adding order of the optimal cutting planes under a specified length through the pointer network.
  • Step 240 The cloud management platform solves the objective function according to the first cutting plane set and the adding order of at least one cutting plane included in the first cutting plane set, and obtains the solution result.
  • a solver is deployed on the cloud management platform. After obtaining the first cutting plane set and the adding order of at least one cutting plane included in the first cutting plane set, the solver can calculate the first cutting plane according to the first cutting plane set. The at least one cutting plane included in the plane set is added in an order of addition of the at least one cutting plane. And based on the constraint information in the user data and the above-mentioned at least one added cutting plane, the objective function in the user data is solved according to the order in which the at least one cutting plane is added, and the solution result is obtained. As an example, the result of this solution may be the optimal solution of the determined objective function.
  • Step 250 The cloud management platform provides the solution result to the tenant, or the cloud management platform saves the solution result in the storage module of the cloud management platform.
  • AI model training refers to the process of using a designated initial model to calculate the training data, and using a certain method to adjust the parameters in the initial model based on the calculation results, so that the model gradually learns certain rules and has specific functions.
  • the AI model with stable functions after training can be used for inference.
  • the training set includes multiple training data.
  • Each training data is set with a label.
  • the label of the training data is the correct answer to the training data on a specific question.
  • the label can Indicates the goal of training the AI model using training data.
  • the training set can include multiple images of different animals (that is, training data), and each image can have a label identifying the type of animal contained in it, such as: cat, Dog, in this example, the type of animal corresponding to each image is the label of the training data.
  • training data can be input into the AI model after parameter initialization in batches.
  • the AI model performs calculations (i.e., inference) on the training data to obtain prediction results based on the training data.
  • the prediction results obtained through inference and the labels corresponding to the training data are used as data to calculate the loss based on the loss function.
  • the loss function is a function used to calculate the gap (that is, the loss value) between the model's prediction results for the training data and the label of the training data during the model training phase.
  • the loss function can be implemented using different mathematical functions. Commonly used loss functions Expressions include: mean square error loss function, logarithmic loss function, least squares method, etc.
  • the loss value calculated based on the loss function can be used to update the parameters of the AI model.
  • the specific parameter update method often uses the gradient descent method.
  • the training of the model is a process of repeated iterations. Each iteration performs inference on different training data and calculates the loss value.
  • the goal of multiple iterations is to continuously update the parameters of the AI model and find the minimum or trend value of the loss function. for stable parameter configuration.
  • the hyperparameters of the AI model refer to those that cannot be obtained by learning the training data during the training process or cannot be obtained due to training.
  • a type of parameters that change driven by data is a concept relative to the parameters in the model. Take the deep learning model as an example.
  • the hyperparameters of the model are usually set manually based on experience or experiments.
  • the hyperparameters include: learning rate, batch size, and network structure hyperparameters (for example, network layer). number (also called depth), the interaction between network layers, the number and size of convolution kernels, activation functions), etc.
  • Figure 3 is a schematic flow chart of a model training method provided by an embodiment of the present application. As shown in Figure 3, the method may include steps 310-360, and steps 310-360 will be described in detail below.
  • Step 310 The feature extraction model obtains a training data set from the training database, and outputs low-dimensional embedding representations of multiple cutting planes to be selected and low-dimensional embeddings of user data based on the training data set.
  • tenants can input user data (including objective function and constraint information) to the solver, and the solver can generate multiple cutting planes to be selected based on the user data.
  • the solver can also store user data (including objective function and constraint information) and the generated multiple cutting planes to be selected into the training data set.
  • the above feature extraction model is a graph convolutional neural network.
  • the input training data set of the graph convolutional neural network includes user data (including objective function and constraint information), and multiple cutting planes to be selected.
  • the graph convolutional neural network is used to perform dimensionality reduction processing on user data and multiple cutting planes to be selected, and outputs low-dimensional embedding representations of multiple cutting planes to be selected and low-dimensional embeddings of user data.
  • Step 320 The cutting plane adding scale model obtains a training data set from the feature extraction model, and outputs the optimal selection scale K of the cutting plane according to the training data set.
  • the above cutting plane addition scale model is a fully connected neural network.
  • the cutting plane addition scale model can obtain the low-dimensional embedding representation of the user data and the low-dimensional embedding representations of multiple cutting planes to be selected from the feature extraction model. After these input information pass through the fully connected neural network, the best choice of cutting planes is output. Ratio K.
  • Step 330 The cutting plane adding sequential model obtains a training data set from the feature extraction model and the cutting plane adding scale model, and outputs the first cutting plane set according to the training data set.
  • the above cutting plane addition sequence model is a pointer network.
  • the inputs of the cutting plane adding sequence model are the low-dimensional embedding representations of multiple cutting planes to be selected output by the feature extraction model and the optimal selection ratio K of cutting planes output by the cutting plane adding scale model.
  • the output adaptively learns the optimal arrangement order among the multiple cutting planes to be selected, and based on the optimal selection ratio K of the cutting planes, Based on the pointer, a first set of cutting planes of a specified length (for example, a ratio K) is output from a plurality of arranged cutting planes to be selected.
  • Step 340 The cutting plane adding sequence model outputs at least one cutting plane in the first cutting plane set to the solver in the cloud management platform.
  • Step 350 The solver in the cloud management platform solves the objective function according to the first set of cutting planes and the order in which at least one cutting plane included in the first set of cutting planes is added, and obtains the predicted solution result.
  • the at least one cutting plane included in the first set of cutting planes may be added in an order in which the at least one cutting plane is added. And based on the constraint information in the user data and the at least one added cutting plane, the objective function in the user data is solved according to the order in which the at least one cutting plane is added, and the predicted solution result is obtained.
  • Step 360 The solver in the cloud management platform adjusts the parameters in the feature extraction model, the cutting plane addition scale model, and the cutting plane addition sequence model based on the predicted solution results and the real solution results.
  • the predicted solution results and the actual solution results corresponding to the objective function can be used as the data to calculate the loss based on the loss function, and the parameters of each of the above models can be updated based on the loss values calculated by the loss function.
  • the loss data calculated by the loss function can be the error between the predicted solution result and the real solution result, or it can also be the time difference between the time it takes for the predicted solution result and the time it takes for the real solution result. wait.
  • each of the above models can be processed in an iterative loop according to the method of steps 310-360. Continuously adjust the parameters of each model based on the loss between the predicted solution results and the real solution results corresponding to the objective function, until the loss between the predicted solution results output by the solver and the real solution results is within a certain error range , indicating that each of the above models has stable functions after training and can be used for the inference process shown in Figure 2.
  • an AI basic development platform is deployed on the cloud management platform (which may also be referred to as the cloud platform), and tenants can train each of the above models on the AI basic development platform.
  • the AI basic development platform is a platform-as-a-service (PaaS) cloud service in the cloud management platform. It is based on the large number of basic resources and software capabilities owned by public cloud service providers for tenants ( Also known as: a software platform provided by users, AI developers, etc.) to assist in the construction, training, deployment of AI models, and the development and deployment of AI applications.
  • the interaction form between the tenant and the AI basic development platform mainly includes: the tenant logs in to the cloud platform through the client web page, selects and purchases the cloud service of the AI basic development platform in the cloud platform, and after purchasing, the tenant can use the AI based
  • the basic development platform provides functions for full-process AI development.
  • the basic resources mainly computing resources, such as central processing unit (CPU), graphics processor
  • CPU central processing unit
  • GPU graphics processing unit
  • NPU embedded neural network processor
  • the following takes the training process of the feature extraction model on the AI basic development platform as an example to illustrate the process of model training on the AI basic development platform.
  • distributed parallel training can be used.
  • data parallelism the type of distributed parallel training of models
  • model parallelism the type of distributed parallel training of models
  • data parallelism specifically refers to deploying the same feature extraction model to be trained on multiple nodes (for example: nodes 1, 2, 3,..., N) and using it for the training data set Divide it into multiple data subsets and distribute them to various nodes.
  • Each node independently uses the data in its corresponding data subset to train the feature extraction model in the node.
  • the gradient value calculated by each node can be synchronized to other nodes, so that each node can obtain The mean gradient of an iterative process.
  • the mean gradient is the mean of the gradients of each node in the same iteration process.
  • Each node can update the parameters of its own feature extraction model based on the mean gradient.
  • each node can be a GPU, a virtual machine instance, or a container instance.
  • model parallelism also called network parallelism
  • model parallelism specifically refers to segmenting a feature extraction model to obtain multiple sub-model parts, and different sub-model parts are deployed on different nodes.
  • the sub-model parts on different nodes calculate the same data in a data set.
  • the gradient value can be obtained, and forward propagation or back-propagation based on the gradient value can update the parameters of each sub-model part.
  • the sub-model parts on each node are reorganized according to the structure of the feature extraction model, and the trained feature extraction model can be obtained.
  • the computing power of multiple nodes can be combined to achieve training of the feature extraction model.
  • the trained feature extraction model can also be deployed in a distributed manner according to the split structure. When the feature extraction model is used for inference, distributed inference is performed.
  • the AI basic development platform can also deploy the aforementioned trained models (for example, feature extraction model, cutting plane addition scale model, and cutting plane addition sequential model) on nodes in the cloud environment or nodes in the edge environment.
  • nodes in the cloud environment can be virtual machine instances, container instances, physical servers, etc.
  • nodes in the edge environment can be various edge devices.
  • the model when the scale of the model is large, the model can be distributed and deployed on multiple nodes based on the idea of model parallelism.
  • the model can also be deployed independently on multiple nodes to support a larger number of visits to online services.
  • the AI basic development platform can also deploy AI applications to edge devices registered to the cloud platform based on the application requirements of the AI model.
  • the above-deployed AI model can become an AI application or become a part of an AI application. As shown in Figure 8, tenants can access AI applications online through Web pages or through client apps. When an AI application is used, the AI model deployed in the edge environment or cloud environment can be called online to provide a response. As a result, the AI model developed and trained through the AI basic development platform can implement inference on online request data and return inference results.
  • the AI basic development platform can continuously collect the input and output data of the reasoning process, use the input and output data of the reasoning phase to continue to enrich the training data set, and based on the data of the reasoning phase and the corresponding manual confirmation The final results continue to optimize and train the AI model.
  • the AI models developed and trained by the aforementioned AI basic development platform may not be deployed online. Instead, tenants can download the trained AI models locally for tenants to freely deploy locally. For example, tenants can choose to save the trained AI model to OBS, and then download the AI model from OBS to the local.
  • FIG. 9 is a schematic block diagram of an objective function solving device 900 based on cloud computing technology provided by an embodiment of the present application.
  • the device 900 is applied to a cloud management platform and can be implemented through software, hardware, or a combination of both.
  • the objective function solving device 900 based on cloud computing technology provided by the embodiment of the present application can implement the method flow shown in Figures 1 to 3 of the embodiment of the present application.
  • the objective function solving device 900 based on the cloud computing technology includes: an acquisition module 910, Determining module 920 and solving module 930, wherein the obtaining module 910 is used to obtain the user data uploaded by the tenant, the user data includes the objective function and constraint information; the determining module 920 is used to determine the user according to the first artificial intelligence AI model.
  • the first set of cutting planes corresponding to the data.
  • the first set of cutting planes is the N cutting planes selected by the first AI model from the M cutting planes to be selected.
  • the M cutting planes to be selected are used to solve the problem.
  • the solution results are provided to the tenant and/or saved.
  • the device 900 further includes: a generating module 940, wherein the determining module 920 is further configured to determine the first AI model input or selected by the tenant; the generating module 940 is configured to generate a model according to the objective function and the constraint information to generate the M cutting planes to be selected; the determination module 920 is also configured to determine the selection ratio of the cutting planes corresponding to the objective function according to the first AI model.
  • the input includes the objective function, the constraint information and the M cutting planes to be selected; the determining module 920 is also used to select from the M cutting planes to be selected according to the selection ratio of the cutting planes.
  • the first set of cutting planes is further configured to determine the first AI model input or selected by the tenant; the generating module 940 is configured to generate a model according to the objective function and the constraint information to generate the M cutting planes to be selected; the determination module 920 is also configured to determine the selection ratio of the cutting planes corresponding to the objective function according to the first AI model.
  • the input includes the
  • the first AI model is any one of the following: a neural network model, a decision tree model, or a logistic regression model.
  • the device 900 further includes: a dimensionality reduction module 950, configured to perform dimensionality reduction processing on the objective function according to the second AI model to obtain a low-dimensional representation of the objective function; and/or used to perform dimensionality reduction according to the second AI model.
  • the second AI model performs dimensionality reduction processing on the constraint information to obtain a low-dimensional representation of the constraint information; and/or is used to perform dimensionality reduction processing on the M cutting planes to be selected according to the second AI model to obtain a low-dimensional representation of the constraint information.
  • the input of the first AI model includes a low-dimensional representation of the objective function, a low-dimensional representation of the constraint information, and a low-dimensional representation of the M cutting planes to be selected.
  • the second AI model is any one of the following: graph convolutional neural network, principal component analysis model.
  • the determination module 920 is further configured to: determine the order of adding the N cutting planes included in the first cutting plane set according to a third AI model, where the input of the third AI model is the M cutting planes to be selected and the selection ratio of the cutting planes corresponding to the objective function.
  • the third AI model is any one of the following: pointer network model, regression model, and decision tree model.
  • the device 900 also includes: a sending module 960, configured to provide the tenant with any one or any combination of the following information: the selection ratio of the cutting plane corresponding to the objective function, the N cutting planes in the first cutting plane set, and the order in which the N cutting planes are added.
  • a sending module 960 configured to provide the tenant with any one or any combination of the following information: the selection ratio of the cutting plane corresponding to the objective function, the N cutting planes in the first cutting plane set, and the order in which the N cutting planes are added.
  • the first AI model is trained by the cloud management platform based on the objective function, constraint information, M cutting planes to be selected, and the selection ratio of the cutting planes corresponding to the objective function.
  • the device 900 here can be embodied in the form of a functional module.
  • the term "module” here can be implemented in the form of software and/or hardware, and is not specifically limited.
  • a “module” may be a software program, a hardware circuit, or a combination of both that implements the above functions.
  • the following takes the acquisition module as an example to introduce the implementation method of the acquisition module.
  • the implementation of other modules such as the determination module, solution module, and processing module, can refer to the implementation of the acquisition module.
  • the acquisition module is an example of a software functional unit.
  • the acquisition module may include code running on a computing instance.
  • the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container.
  • the above computing instance may be one or more.
  • a fetch module can include code running on multiple hosts/VMs/containers.
  • multiple hosts/virtual machines/containers used to run the code can be distributed in the same region (region) or in different regions.
  • multiple hosts/virtual machines/containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs.
  • Each AZ includes one data center or multiple AZs. geographically close data centers. Among them, usually a region can include multiple AZs.
  • the multiple hosts/VMs/containers used to run the code can be distributed in the same virtual private cloud (VPC), or across multiple VPCs.
  • VPC virtual private cloud
  • Cross-region communication between two VPCs in the same region and between VPCs in different regions requires a communication gateway in each VPC, and the interconnection between VPCs is realized through the communication gateway. .
  • the acquisition module is an example of a hardware functional unit.
  • the acquisition module may include at least one computing device, such as a server.
  • the acquisition module can also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • GAL general array logic
  • Multiple computing devices included in the acquisition module can be distributed in the same region or in different regions. Multiple computing devices included in the acquisition module can be distributed in the same AZ or in different AZs. Similarly, multiple computing devices included in the acquisition module can be distributed in the same VPC or in multiple VPCs.
  • the plurality of computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • modules of each example described in the embodiments of the present application can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
  • the device when the device provided in the above embodiment performs the above method, only the division of the above functional modules is used as an example.
  • the above function allocation can be completed by different functional modules as needed, that is, the device
  • the internal structure is divided into different functional modules to complete all or part of the functions described above.
  • the acquisition module can be used to perform any step in the above method
  • the determination module can be used to perform any step in the above method
  • the solving module can be used to perform any step in the above method
  • the processing module can be used to perform any step in the above method. any step.
  • the steps that the acquisition module, determination module, solution module, and processing module are responsible for implementing can be specified as needed.
  • the acquisition module, determination module, solution module, and processing module respectively implement different steps in the above method to realize all functions of the above device.
  • the methods provided by the embodiments of the present application can be executed by a computing device, and the computing device can also be called a computer system. It includes the hardware layer, the operating system layer running on the hardware layer, and the application layer running on the operating system layer.
  • This hardware layer includes hardware such as processing units, memory, and memory control units, and then the functions and structures of this hardware are described in detail.
  • the operating system is any one or more computer operating systems that implement business processing through processes, such as Linux operating system, Unix operating system, Android operating system, iOS operating system or windows operating system, etc.
  • This application layer includes applications such as browsers, address books, word processing software, and instant messaging software.
  • the computer system is a handheld device such as a smart phone, or a terminal device such as a personal computer, which is not particularly limited by this application, as long as it can use the method provided by the embodiment of this application.
  • the execution subject of the method provided by the embodiments of the present application may be a computing device, or a functional module in the computing device that can call a program and execute the program.
  • a computing device provided by an embodiment of the present application will be described in detail below with reference to FIG. 10 .
  • FIG. 10 is an architectural schematic diagram of a computing device 1000 provided by an embodiment of the present application.
  • the computing device 1000 may be a server or a computer or other device with computing capabilities.
  • Computing device 1000 shown in FIG. 10 includes: at least one processor 1010 and memory 1020.
  • the processor 1010 executes the instructions in the memory 1020, so that the computing device 1000 implements the method provided by this application.
  • the processor 1010 executes the instructions in the memory 1020, so that the computing device 1000 implements each functional module provided by this application, thereby implementing the method provided by this application.
  • computing device 1000 also includes a communication interface 1030.
  • the communication interface 1030 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 1000 and other devices or communication networks.
  • the computing device 1000 further includes a system bus 1040, wherein the processor 1010, the memory 1020, and the communication interface 1030 are respectively connected to the system bus 1040.
  • the processor 1010 can access the memory 1020 through the system bus 1040.
  • the processor 1010 can read and write data or execute code in the memory 1020 through the system bus 1040.
  • the system bus 1040 is a peripheral component interconnect express (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect express
  • EISA extended industry standard architecture
  • the system bus 1040 is divided into an address bus, a data bus, a control bus, etc. For ease of presentation, only one thick line is used in Figure 10, but it does not mean that there is only one bus or one type of bus.
  • the function of the processor 1010 is mainly to interpret the instructions (or codes) of the computer program and process data in the computer software.
  • the instructions of the computer program and the data in the computer software can be saved in the memory 1020 or the cache 1016.
  • the processor 1010 may be an integrated circuit chip with signal processing capabilities.
  • the processor 1010 is a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) ) or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
  • the general-purpose processor is a microprocessor or the like.
  • the processor 1010 is a central processing unit (CPU).
  • each processor 1010 includes at least one processing unit 1012 and a memory control unit 1014.
  • the processing unit 1012 is also called a core or core and is the most important component of the processor.
  • the processing unit 1012 is made of single crystal silicon using a certain production process. All calculations, receiving commands, storing commands, and processing data of the processor are performed by the core.
  • the processing units run program instructions independently, using the power of parallel computing to speed up the program.
  • Various processing units have fixed logical structures.
  • the processing units include logical units such as a first-level cache, a second-level cache, an execution unit, an instruction level unit, and a bus interface.
  • the memory control unit 1014 is used to control data interaction between the memory 1020 and the processing unit 1012. Specifically, the memory control unit 1014 receives a memory access request from the processing unit 1012 and controls access to the memory based on the memory access request.
  • the memory control unit is a device such as a memory management unit (MMU).
  • each memory control unit 1014 performs addressing of the memory 1020 through the system bus.
  • an arbiter (not shown in Figure 10) is configured in the system bus, and the arbiter is responsible for processing and coordinating competing accesses of multiple processing units 1512.
  • processing unit 1012 and the memory control unit 1014 are communicatively connected through internal chip connection lines, such as address lines, thereby realizing communication between the processing unit 1012 and the memory control unit 1014.
  • each processor 1010 also includes a cache 1016, where the cache is a buffer for data exchange (called a cache).
  • a cache a buffer for data exchange
  • the processing unit 1012 wants to read data, it will first search the required data from the cache. If it is found, it will be executed directly. If it is not found, it will be searched from the memory. Since the cache operates much faster than the memory, the purpose of the cache is to help the processing unit 1012 operate faster.
  • the memory 1020 can provide a running space for processes in the computing device 1000.
  • the memory 1020 stores a computer program (specifically, the code of the program) for generating the process.
  • the processor allocates corresponding storage space for the process in the memory 1020 .
  • the above-mentioned storage space further includes a text segment, an initialization data segment, a bit initialization data segment, a stack segment, a heap segment, and so on.
  • the memory 1020 stores data generated during the running of the process, such as intermediate data, process data, etc., in the storage space corresponding to the above-mentioned process.
  • the memory is also called memory, and its function is to temporarily store operation data in the processor 1010 and data exchanged with external memories such as hard disks.
  • the processor 1010 will transfer the data that needs to be calculated into the memory for calculation.
  • the processing unit 1012 will transmit the result.
  • memory 1020 is volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • non-volatile memory is read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable memory Except electrically programmable read-only memory (EPROM, EEPROM) or flash memory.
  • Volatile memory is random access memory (RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double data rate SDRAM double data rate SDRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • direct rambus RAM direct rambus RAM
  • the structure of the computing device 1000 listed above is only an exemplary description, and the present application is not limited thereto.
  • the computing device 1000 of the embodiment includes various hardware in computer systems in the related art.
  • the computing device 1000 also includes other memories besides the memory 1020, such as disk storage and the like.
  • computing device 1000 may also include other components necessary for normal operation.
  • the above-mentioned computing device 1000 may also include hardware devices that implement other additional functions.
  • the above-mentioned computing device 1000 may only include components necessary to implement the embodiments of the present application, and does not necessarily include all components shown in FIG. 10 .
  • An embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device may be a server.
  • the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
  • the computing device cluster includes at least one computing device 1000 .
  • the same instructions for performing the above method may be stored in the memory 1020 of one or more computing devices 1000 in the computing device cluster.
  • the memory 1020 in one or more computing devices 1000 in the computing device cluster may also store partial instructions for executing the above method.
  • a combination of one or more computing devices 1000 may jointly execute the instructions of the above method.
  • the memory 1020 in different computing devices 1000 in the computing device cluster can store different instructions, respectively used to execute part of the functions of the above device. That is, the instructions stored in the memory 1020 in different computing devices 1000 can implement the functions of one or more modules in the above-mentioned apparatus.
  • one or more computing devices in a cluster of computing devices may be connected through a network.
  • the network may be a wide area network or a local area network, etc.
  • Figure 12 shows a possible implementation. As shown in Figure 12, two computing devices 1000A and 1000B are connected through a network. Specifically, the connection to the network is made through a communication interface in each computing device.
  • computing device 1000A shown in FIG. 12 may also be performed by multiple computing devices 1000.
  • computing device 1000B may also be performed by multiple computing devices 1000 .
  • a computer program product containing instructions is also provided.
  • the computer program product may be a software or program product containing instructions that can be run on a computing device or stored in any available medium. When it is run on a computing device, the computing device is caused to perform the method provided above, or the computing device is caused to implement the function of the device provided above.
  • a computer program product containing instructions is also provided.
  • the computer program product may be a software or program product containing instructions that can be run on a computing device cluster or stored in any available medium.
  • the computing device cluster is caused to execute the method provided above, or the computing device cluster is caused to implement the function of the device provided above.
  • a computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
  • the computer-readable storage medium includes instructions that, when executed on a computing device, cause the computing device to perform the method provided above.
  • a computer-readable storage medium may be a computer Any available media that the device can store or a data storage device such as a data center that contains one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
  • the computer-readable storage medium includes instructions, and when the instructions in the computer-readable storage medium are executed by the computing device cluster, the computing device cluster performs the method provided above.
  • the size of the sequence numbers of the above-mentioned processes does not mean the order of execution.
  • the execution order of each process should be determined by its functions and internal logic, and should not be used in the embodiments of the present application.
  • the implementation process constitutes any limitation.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk and other media that can store program code. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于云计算技术的目标函数求解方法、装置以及计算设备,该方法应用于云管理平台,该方法包括:该云管理平台获得租户上传的用户数据,根据第一人工智能AI模型确定用户数据对应的第一割平面集合,根据第一割平面集合和用户数据中包括的目标函数,求解得到所述目标函数的求解结果,并向租户提供求解结果,或将求解结果保存至云管理平台的存储模块中,其中,第一割平面集合是第一AI模型从M个待选择割平面中选择的N个割平面,M个待选择割平面是用于求解目标函数的多个约束条件,M和N为正整数,N小于M。该方法根据人工智能AI模型从M个待选择的割平面中选择出针对用户数据中的目标函数的割平面集合,从而提高目标函数的求解性能。

Description

基于云计算技术的目标函数求解方法、装置和计算设备
本申请要求于2022年07月01日提交中国国家知识产权局、申请号为202210773918.4、申请名称为“割平面选择的方法及装置”的中国专利申请的优先权,以及于2022年9月7日提交中国国家知识产权局、申请号为202211089130.8、申请名称为“基于云计算技术的目标函数求解方法、装置和计算设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算领域,并且更具体地,涉及一种基于云计算技术的目标函数求解方法、装置以及计算设备。
背景技术
运筹学主要运用数学方法研究各种系统的优化途径及方案,为决策者提供科学决策的依据。数学规划是运筹学的一个重要分支,它主要研究的目标(或目标函数)在给定的区域中寻找可以最小化或最大化某一函数的最优解。为求解数学规划问题,业界针对线性、整数、混合整数以及各种非线性规划模型开发了专门的软件系统,即数学规划求解器(也可简称为求解器)。
求解器中包括割平面模块,割平面模块会生成一系列约束条件,称为待选择的割平面集合。但是如果将所有待选择的割平面加入目标函数的求解过程会增加求解负担,从而不能达到最优加速求解的目的。因此,割平面模块需要从这些待选择的割平面集合中选择一部分割平面,并将该一部分割平面加入目标函数的求解过程。上述割平面的选择过程可以缩小目标函数寻找最优解的可行域,达到最优加速求解的效果,这一选择过程也可以称为割平面选择。
一种相关的技术方案中,上述割平面的选择过程是基于启发式规则进行的。也就是说,在该技术方案中,基于专家知识,设计多种评价指标,如目标平行度,整数支持度,线性规划最优解距离等。对所有待选择的割平面进行打分,最终从待选择的割平面中选择高分的一部分割平面加入到目标函数的求解过程中。这类方法高度依赖专家知识设计,如果对所有的目标函数使用一套规则从待选择的割平面集合中选择割平面,会存在规则通用性差的问题,相应的目标函数的求解性能也不是最优。如果一类目标函数专门设计一套规则,则存在专家设计成本过于高昂的问题,在实际应用中不可接受的情况。
因此,如何提高目标函数的求解性能成为亟需要解决的技术问题。
发明内容
本申请提供一种基于云计算技术的目标函数求解方法、装置以及计算设备,该方法根据人工智能AI模型从M个待选择的割平面中选择出针对用户数据中的目标函数的割平面 集合,从而提高目标函数的求解性能。
第一方面,提供了一种基于云计算技术的目标函数求解方法,该方法应用于云管理平台,该方法包括:该云管理平台获得租户上传的用户数据,根据第一人工智能AI模型确定用户数据对应的第一割平面集合,并根据第一割平面集合和用户数据中包括的目标函数,求解得到该目标函数的求解结果,从而向租户提供求解结果,或将求解结果保存至云管理平台的存储模块中。其中,用户数据包括目标函数和约束信息,第一割平面集合是第一AI模型从M个待选择割平面中选择的N个割平面,该M个待选择割平面是用于求解该目标函数的多个约束条件,M和N为正整数,N小于M。
上述技术方案中,可以根据第一AI模型从M个待选择的割平面中选择出针对用户数据中的目标函数的割平面集合,由于选择的割平面集合是针对用户数据中的目标函数确定的,因此,相应的目标函数的求解性能也是最优的。同时,相比较通过专家知识针对目标函数专门设计一套规则而言,还可以节省专家设计成本,在实际应用中比较容易被接受。
结合第一方面,在第一方面的某些实现方式中,该云管理平台还可以确定租户输入或选择的第一AI模型,根据目标函数和约束信息生成M个待选择的割平面。该云管理平台还可以根据第一AI模型确定目标函数对应的割平面的选择比例,并根据割平面的选择比例从上述M个待选择的割平面中选择N个割平面作为第一割平面集合,其中,第一AI模型的输入包括目标函数、约束信息和M个待选择的割平面。
上述技术方案中,相比固定的割平面的选择比例而言,上述自适应根据目标函数本身的特征以及待选择的割平面的特征学习到的割平面的选择比例,可以有助于学习到全局最优的割平面选择比例,从而达到在动作全空间充分搜索,避免陷入局部最优解。
结合第一方面,在第一方面的某些实现方式中,该第一AI模型为以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
结合第一方面,在第一方面的某些实现方式中,云管理平台还可以根据第二AI模型对该目标函数进行降维处理得到该目标函数的低维表示;和/或该云管理平台还可以根据该第二AI模型对该约束信息进行降维处理得到该约束信息的低维表示;和/或该云管理平台还可以根据该第二AI模型对该M个待选择的割平面进行降维处理得到该M个待选择的割平面的低维表示。
结合第一方面,在第一方面的某些实现方式中,该第一AI模型的输入包括该目标函数的低维表示,该约束信息的低维表示以及该M个待选择的割平面的低维表示。
上述技术方案中,通过对第一AI模型的输入信息进行降维处理,可以得到输入信息的低维表示,从而降低第一AI模型处理的复杂度。
结合第一方面,在第一方面的某些实现方式中,该第二AI模型为以下中的任一种:图卷积神经网络,主成分分析模型。
结合第一方面,在第一方面的某些实现方式中,云管理平台还可以根据第三AI模型确定第一割平面集合中包括的N个割平面的添加顺序,其中,该第三AI模型的输入为M个待选择割平面以及目标函数对应的割平面的选择比例。
上述技术方案中,通过确定第一割平面集合中N个割平面的添加顺序,使得N个割平面按照一定的顺序进行添加,从而提高对目标函数进行求解的效率。
结合第一方面,在第一方面的某些实现方式中,该第三AI模型为以下中的任一种: 指针网络模型,回归模型,决策树模型。
结合第一方面,在第一方面的某些实现方式中,云管理平台还可以向租户提供以下信息中的任一种或任意多种的组合:目标函数对应的割平面的选择比例,第一割平面集合中的N个割平面,该N个割平面的添加顺序。
结合第一方面,在第一方面的某些实现方式中,该第一AI模型是云管理平台根据目标函数,约束信息,M个待选择割平面以及目标函数对应的割平面的选择比例训练得到的。
第二方面,提供了一种选择割平面的装置,该装置应用于云管理平台,该装置包括:获取模块,确定模块,求解模块,其中,获取模块用于获取租户上传的用户数据;确定模块用于根据第一AI模型,确定该用户数据对应的第一割平面集合,求解模块用于根据该第一割平面集合和该目标函数,求解得到该目标函数的求解结果,并将所述求解结果提供给所述租户和/或进行保存。其中,该用户数据包括目标函数和约束信息,该第一割平面集合中包括N个割平面,该第一割平面集合是该第一AI模型从M个待选择割平面中选择的N个割平面,该N个待选择割平面是用于求解该目标函数的多个约束条件。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:生成模块,其中,该确定模块还用于确定该租户输入或选择的该第一AI模型;生成模块用于根据该目标函数和该约束信息生成该M个待选择的割平面;该确定模块还用于根据该第一AI模型确定该目标函数对应的割平面的选择比例;该确定模块还用于根据该割平面的选择比例从该M个待选择的割平面中选择该第一割平面集合。其中,该第一AI模型的输入包括该目标函数、该约束信息和该M个待选择的割平面。
结合第二方面,在第二方面的某些实现方式中,该第一AI模型为以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:降维模块,用于根据第二AI模型对该目标函数进行降维处理得到该目标函数的低维表示;和/或用于根据该第二AI模型对该约束信息进行降维处理得到该约束信息的低维表示;和/或用于根据该第二AI模型对该M个待选择的割平面进行降维处理得到该M个待选择的割平面的低维表示。
结合第二方面,在第二方面的某些实现方式中,该第一AI模型的输入包括该目标函数的低维表示,该约束信息的低维表示以及该M个待选择的割平面的低维表示。
结合第二方面,在第二方面的某些实现方式中,该第二AI模型为以下中的任一种:图卷积神经网络,主成分分析模型。
结合第二方面,在第二方面的某些实现方式中,该确定模块还用于根据第三AI模型确定该第一割平面集合中包括的N个割平面的添加顺序,其中,该第三AI模型的输入为该M个待选择割平面以及目标函数对应的割平面的选择比例。
结合第二方面,在第二方面的某些实现方式中,该第三AI模型为以下中的任一种:指针网络模型,回归模型,决策树模型。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:发送模块,用于向该租户提供以下信息中的任一种或任意多种的组合:该目标函数对应的割平面的选择比例,该第一割平面集合中的N个割平面,该N个割平面的添加顺序。
结合第二方面,在第二方面的某些实现方式中,该第一AI模型是云管理平台根据目标函数,约束信息,M个待选择割平面以及该目标函数对应的割平面的选择比例训练得到 的。
第三方面,提供了一种计算设备,包括处理器和存储器,可选地,还包括输入输出接口。其中该处理器用于控制该输入输出接口收发信息,该存储器用于存储计算机程序,该处理器用于从存储器中调用并运行该计算机程序,使得该执行第一方面或第一方面任意一种可能的实现方式中该的方法。
可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第四方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;该至少一个计算设备的处理器用于执行该至少一个计算设备的存储器中存储的指令,以使得该计算设备集群执行第一方面或第一方面任意一种可能的实现方式中该的方法。
第五方面,提供了一种芯片,该芯片获取指令并执行该指令来实现上述第一方面以及第一方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行上述第一方面以及第一方面的任意一种实现方式中的方法。
可选地,作为一种实现方式,该芯片还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行第一方面以及第一方面中的任意一种实现方式中的方法。
第六方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备运行时,使得该计算设备执行如上述第一方面以及第一方面的任意一种实现方式中的方法。
第七方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备集群运行时,使得该计算设备集群执行执行如上述第一方面以及第一方面的任意一种实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当该计算机程序指令由计算设备执行时,该计算设备执行如上述第一方面以及第一方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
第九方面,提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如上述第一方面以及第一方面的任意一种实现方式中的方法。
作为示例,这些计算机可读存储包括但不限于如下的一个或者多个:只读存储器(read-only memory,ROM)、可编程ROM(programmable ROM,PROM)、可擦除的 PROM(erasable PROM,EPROM)、Flash存储器、电EPROM(electrically EPROM,EEPROM)以及硬盘驱动器(harddrive)。
可选地,作为一种实现方式,上述存储介质具体可以是非易失性存储介质。
附图说明
图1是本申请实施例提供的一种基于云计算技术的目标函数求解方法的示意性流程图。
图2是本申请实施例提供的另一种基于云计算技术的目标函数求解方法的示意性流程图。
图3是本申请实施例提供的一种AI模型训练的方法的示意性流程图。
图4是本申请实施例提供的一种租户与AI基础开发平台的交互形态的示意性框图。
图5是本申请实施例提供的一种AI模型训练过程中的数据并行训练的示意性框图。
图6是本申请实施例提供的一种AI模型训练过程中的模型并行训练的示意性框图。
图7是本申请实施例提供的一种AI模型部署示意图。
图8是本申请实施例提供的一种AI模型提供在线服务示意图。
图9是本申请实施例提供的一种基于云计算技术的目标函数求解装置900的示意性框图。
图10是本申请实施例提供的一种计算设备1000的架构示意图。
图11是本申请实施例提供的一种计算设备集群的架构示意图。
图12是本申请实施例提供的计算设备1000A和1000B之间通过网络进行连接的示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、模块等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、模块等,并且/或者可以并不包括结合附图讨论的所有设备、组件、模块等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例中,“相应的(corresponding,relevant)”和“对应的(corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本申请实施例描述的业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另 外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:包括单独存在A,同时存在A和B,以及单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
1、运筹学
运筹学是20世纪三四十年代发展起来的一门新兴交叉学科。它主要研究人类对各种资源的运用及筹划,在满足一定约束的条件下,以期发挥有限资源的最大效益,达到总体最优的目标。
2、数学规划(mathematical programming)
数学规划是数学中的一个分支,它主要研究的目标在给定的区域中寻找可以最小化或最大化某一函数的最优解。数学规划可分成许多不同的分支,如线性规划、整数规划、非线性规划、组合优化、多目标规划、随机规划、动态规划、参数规划等问题。
3、线性规划(linear programming)
线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。它是研究线性约束条件下线性目标函数的极值问题的数学理论和方法。
4、混合整数规划(mixed integer linear programming,MILP)
混合整数线性规划是指部分决策变量限制为整数的线性规划问题。
5、数学规划求解器(mathematical programming solver)
也可以简称为求解器,是针对已经建立的线性、整数、混合整数以及各种非线性规划模型进行求解的软件系统。
6、割平面
割平面为一系列的约束条件,该约束条件用于加入到原始问题中,以缩小求解可行域,得到该原始问题的最优解。
运筹学主要运用数学方法研究各种系统的优化途径及方案,为决策者提供科学决策的依据。数学规划是运筹学的一个重要分支,它主要研究的目标(或目标函数)在给定的区域中寻找可以最小化或最大化某一函数的最优解。数学规划的应用极为普遍,根据问题的性质和处理方法的差异,数学规划可分成许多不同的分支,如线性规划、整数规划、非线性规划、组合优化、多目标规划、随机规划、动态规划、参数规划等问题,这些问题在供应链、金融、交通、通信等多个领域有大量的应用。为求解数学规划问题,业界针对线性、整数、混合整数以及各种非线性规划模型开发了专门的软件系统,即数学规划求解器(也可简称为求解器)。
以混合整数规划MILP问题的求解为例。在许多真实场景中,问题总是带有整数约束的,比如生产排程、供应链、生产调度、工厂选址等问题,这类问题通常可以建模为混合整数规划问题。MILP问题的求解本质是通过求解一系列的线性规划问题,从而得到最优解。求解器针对该MILP问题的核心求解步骤如下:(1)预求解(Presolve):删除冗余约束和变量;(2)松弛(Relaxation):松弛MILP问题得到初始解;(3)分支(Branch):根据初始解,选择变量重新求解;(4)割平面(Cut):根据松弛后得到的解,生成一系列线性约束,并选择一部分线性约束加到原始问题中,缩小求解可行域。
求解器中包括割平面模块,割平面模块会生成一系列约束条件,称为待选择的割平面集合。但是如果将所有待选择的割平面加入目标函数的求解过程会增加求解负担,从而不能达到最优加速求解的目的。因此,割平面模块需要从这些待选择的割平面集合中选择一部分割平面,并将该一部分割平面加入目标函数的求解过程。上述割平面的选择过程可以缩小目标函数寻找最优解的可行域,达到最优加速求解的效果,这一选择过程也可以称为割平面选择。
一种相关的技术方案中,上述割平面的选择过程是基于启发式规则进行的。也就是说,在该技术方案中,基于专家知识,设计多种评价指标,如目标平行度,整数支持度,线性规划最优解距离等。对所有待选择的割平面进行打分,最终从待选择的割平面中选择高分的一部分割平面加入到目标函数的求解过程中。这类方法高度依赖专家知识设计,如果对所有的目标函数使用一套规则从待选择的割平面集合中选择割平面,会存在规则通用性差的问题,相应的目标函数的求解性能也不是最优。如果一类目标函数专门设计一套规则,则存在专家设计成本过于高昂的问题,在实际应用中不可接受的情况。
有鉴于此,本申请实施例提供了一种基于云计算技术的目标函数求解方法,该方法能够根据AI模型(以下也可简称为模型)从多个待选择的多个割平面中选择出针对用户数据中的目标函数的割平面集合,从而提高目标函数的求解性能。。
下面结合图1,对本申请实施例提供的一种基于云计算技术的目标函数求解方法进行详细描述。
图1是本申请实施例提供的一种基于云计算技术的目标函数求解方法的示意性流程图。如图1所示,该方法应用于云管理平台,该方法可以包括步骤110-140,下面分别对步骤110-140进行详细描述。
步骤110:云管理平台获取租户上传的用户数据,该用户数据包括目标函数和约束信息。
应理解,云管理平台位于云数据中心,其可以提供访问接口(如界面或应用程序界面(application program interface,API))。租户可操作客户端远程接入访问接口在云管理平台注册云账号和密码,并登录云管理平台。云管理平台对云账号和密码鉴权成功后,租户可进一步在云管理平台付费选择并购买特定规格(处理器、内存、磁盘)的虚拟机。付费购买成功后,云管理平台提供所购买的虚拟机的远程登录账号密码,客户端可远程登录该虚拟机,在该虚拟机中安装并运行租户的应用。因此,租户可通过云管理平台在云数据中心中创建、管理、登录和操作虚拟机。其中,虚拟机也可称为云服务器(elastic compute service,ECS)、弹性实例(不同的云服务提供商有不同的叫法)。
本申请实施例中,云管理平台获取租户上传的用户数据,具体的,租户可以通过云管 理平台的客户端将用户数据上传至云管理平台。该用户数据可以包括目标函数和约束信息,其中,约束信息用于对该目标函数中的变量进行约束,目标函数为待求解的问题函数。
步骤120:云管理平台根据第一模型确定所述用户数据对应的第一割平面集合。
本申请实施例中云管理平台可以根据第一模型确定所述用户数据中的目标函数对应的第一割平面集合。其中,该第一割平面集合包括至少一个割平面,所述第一割平面集合是所述第一模型从多个待选择割平面中选择的一部分割平面,所述多个待选择割平面是用于求解所述目标函数的多个约束条件。
可选地,在步骤120之前,所述方法还包括:云管理平台确定所述租户输入或选择的所述第一模型。
应理解,所述多个待选择割平面是云管理平台根据所述用户数据中包括的目标函数和所述约束信息确定的。因此,可选地,在步骤120之前,所述方法还包括:云管理平台根据用户数据中包括的目标函数和所述约束信息生成所述多个待选择的割平面。
作为示例,上述第一模型的输入信息包括所述用户数据以及所述多个待选择割平面,所述第一模型的输出信息包括所述第一割平面集合。作为示例,本申请实施例对上述第一模型不做具体限定,只要可以实现确定目标函数对应的割平面的选择比例即可。一种可能的实现方式种,该第一模型可以包括但不限于以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
可选地,在步骤120之前,云管理平台还可以进行模型训练得到上述第一模型。例如,云管理平台可以根据目标函数,约束信息,多个待选择割平面训练得到上述第一模型。下面会对模型的训练过程进行详细描述,此处暂不详述。
可选地,在一些实施例中,在云管理平台根据第一模型,确定所述用户数据对应的第一割平面集合的具体实现过程中,云管理平台还可以根据所述第一模型确定所述目标函数对应的割平面的选择比例,并根据割平面的选择比例从多个待选择的割平面中选择所述第一割平面集合。
作为示例,在上述实现方式中,所述第一模型的输入包括所述目标函数、所述约束信息和所述多个待选择的割平面,输出信息包括所述目标函数对应的割平面的选择比例。可选地,云管理平台还可以进行模型训练得到上述第一模型。例如,云管理平台可以根据目标函数,约束信息,多个待选择割平面以及割平面的选择比例训练得到上述第一模型。下面会对模型的训练过程进行详细描述,此处暂不详述。
可选地,在一些实施例中,云管理平台还可以对第一模型的输入进行降维处理,以便于第一模型进行模型推理。作为示例,云管理平台可以对以下信息中的一种或多种进行降维处理:目标函数、约束信息、第二割平面集合。例如,可以根据第二模型对所述目标函数进行降维处理得到所述目标函数的低维表示。又如,根据所述第二模型对所述约束信息进行降维处理得到所述约束信息的低维表示。又如,根据所述第二模型对所述第二割平面集合中包括的多个待选择的割平面进行降维处理得到所述多个待选择的割平面的低维表示。
应理解,上述的低维表示为对某个信息进行降维处理后得到的结果。例如,目标函数的低维表示为对目标函数进行降维处理后得到的结果。
举例说明,以分别得到目标函数的低维表示、约束信息的低维表示以及多个待选择的 割平面的低维表示为例。在这种实现过程中,第一模型的输入包括目标函数的低维表示、约束信息的低维表示以及多个待选择的割平面的低维表示。
本申请实施例对第二模型不做具体限定,只要可以实现降维处理(例如,特征提取)即可。一种可能的实现方式中,该第二模型可以包括但不限于以下中的任一种:图卷积神经网络,主成分分析模型。
上述技术方案中,通过上述利用图卷积网络进行信息的嵌入表示,一方面,可以处理规模大小不一的数学规划模型,另一方面,对输入的排列不敏感。
可选地,云管理平台还可以进行模型训练得到上述第二模型。例如,可以根据以下中的一种或多种信息训练得到第二模型:目标函数以及目标函数的低维表示,约束信息以及约束信息的低维表示,多个待选择的割平面以及多个待选择的割平面的低维表示。
可选地,在一些实施例中,所述云管理平台还可以根据第三模型确定确定所述第一割平面集合中包括的至少一个割平面的添加顺序,所述第三模型的输入包括所述多个待选择割平面以及所述目标函数对应的割平面的选择比例。其中,第三模型的输入为多个待选择割平面以及目标函数对应的割平面的选择比例,第三模型的输出为第一割平面集合中包括的至少一个割平面的添加顺序。
本申请实施例对第三模型不做具体限定,只要可以实现确定至少一个割平面的添加顺序即可。一种可能的实现方式种,该第三模型可以包括但不限于以下中的任一种:指针网络模型,回归模型,决策树模型。
可选地,所述云管理平台还可以进行模型训练得到上述第三模型。例如,所述云管理平台可以根据多个待选择割平面,目标函数对应的割平面的选择比例以及第一割平面集合中至少一个割平面的添加顺序训练得到第三模型。
步骤130:云管理平台根据所述第一割平面集合和所述目标函数,求解得到所述目标函数的求解结果。
一种可能的实现方式中,云管理平台上部署有求解器,该求解器可以根据第一割平面集合以及所述用户数据中包括的目标函数、约束信息,求解得到所述目标函数的求解结果。
步骤140:云管理平台向所述租户提供所述求解结果,或所述云管理平台将所述求解结果保存在所述云管理平台的存储模块中。
本申请实施例中,云管理平台在获得上述目标函数的求解结果后,一种可能的实现方式中,云管理平台可以向所述租户提供所述求解结果。另一种可能的实现方式中,云管理平台还可以将所述求解结果保存在所述云管理平台的存储模块中。
可选地,在一些实施例中,所述云管理平台还可以向所述租户提供以下信息中的任一种或任意多种的组合:所述目标函数对应的割平面的选择比例,所述第一割平面集合中的至少一个割平面,所述至少一个割平面的添加顺序。
下面结合图2,对本申请实施例提供的另一种基于云计算技术的目标函数求解方法进行详细描述。应理解,图2的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图2的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
图2是本申请实施例提供的另一种基于云计算技术的目标函数求解方法的示意性流 程图。如图2所示,该方法可以包括步骤210-250,下面分别对步骤210-250进行详细描述。
步骤210:租户将用户数据输入至云管理平台。
本申请实施例中租户可以通过云管理平台的访问接口(如界面或API)将用户数据上传至云管理平台中,该用户数据可以包括但不限于:目标函数、约束信息。其中,该目标函数为租户待求解的问题,该约束信息为租户输入的针对所述目标函数中变量的约束信息。
步骤220:云管理平台根据所述用户数据生成第二割平面集合。
作为示例,云管理平台上部署有求解器。该求解器可以根据用户数据中的目标函数和约束信息生成多个约束条件,该多个约束条件也可以称为多个割平面,该多个割平面组成了第二割平面集合。该第二割平面集合也可以称为待选择的割平面集合,该待选择的割平面集合中包括多个待选择的割平面。该多个待选择的割平面用于在租户输入的约束条件的基础上,对目标函数中的变量进行进一步约束。
应理解,步骤210中的约束信息为租户输入的针对目标函数的约束。步骤220中第二割平面集合中包括的多个待选择的割平面为求解器为该目标函数生成的额外的约束,该额外的约束用于进一步对目标函数中的变量进行约束或限定,从而缩小对目标函数最优解的求解范围。
步骤230:云管理平台根据从第二割平面集合中获得第一割平面集合以及第一割平面集合中包括的至少一个割平面的添加顺序。
本申请实施例中,云管理平台可以根据用户数据从第二割平面集合中获得一定比例的割平面,以及该一定比例的割平面的添加顺序。上述一定比例的割平面也可以称为第一割平面集合,该第一割平面集合中包括至少一个割平面。
举例说明,云管理平台可以确定所述租户输入或选择的特征提取模型,并根据该特征提取模型获得目标函数的低维表示,所述约束信息的低维表示以及所述多个待选择的割平面的低维表示。云管理平台还可以确定所述租户输入或选择的割平面添加比例模型,并根据该割平面添加比例模型获得目标函数对应的割平面的选择比例。云管理平台还可以确定所述租户输入或选择的割平面添加顺序模型,并根据该割平面添加顺序模型获得目标函数对应的第一割平面集合中包括的至少一个割平面以及该至少一个割平面的添加顺序。
应理解,对于任何一个AI模型而言,均包括训练阶段和推理阶段。其中,训练阶段是指利用指定初始模型对训练数据进行计算,根据计算的结果采用一定的方法对初始模型中的参数进行调整,使得该模型逐渐学习到一定的规律,具备特定的功能的过程。经过训练后具有稳定功能的AI模型即可用于推理。AI模型的推理是将实际应用场景的数据作为输入数据,经过训练完成的AI模型的推理可获得推理结果。推理阶段是训练完成的AI模型的实际应用,可以快速地运用AI的能力解决特定的技术问题。
下面先分别对云管理平台根据上述各个模型进行推理的过程进行详细描述。上述各个模型的训练过程请参见下面实施例中的描述,此处暂不详述。
1、特征提取模型
特征提取模型用于对用户数据以及第二割平面集合中包括的多个待选择的割平面进行降维处理,例如,对用户数据以及多个待选择的割平面分别进行嵌入表示(embedding),得到降维之后的多个待选择的割平面以及降维之后的用户数据(包括目标函数和约束信 息)。特征提取模型还用于对降维之后的多个待选择的割平面以及降维之后的用户数据进行处理,根据用户数据得到每个待选择的割平面与用户数据之间的关系,或用户数据对每个待选择的割平面的影响,也即根据用户数据得到每个待选择的割平面的特征(该特征例如可以是一组向量,可以理解为对每个待选择的割平面的描述)。
应理解,降维之后的多个待选择的割平面也可以称为多个待选择的割平面的低维嵌入表示。降维之后的目标函数也可以称为目标函数的低维嵌入表示。
作为示例,该特征提取模型的输入为包括目标函数和约束信息的用户数据,以及第二割平面集合中包括的多个待选择的割平面,输出为第二割平面集合中每个待选择的割平面的特征。下面以第二割平面集合中包括的多个待选择的割平面为例,对多个待选择的割平面进行嵌入表示的具体实现过程进行详细描述。
举例说明,一种可能的实现方式中,上述特征提取模型是通过图卷积神经网络实现的。该图卷积神经网络相当于一个特征提取器,主要作用是将高维的数学规划模型信息(例如,上文中待选择的割平面)进行嵌入表示,即对多个待选择的割平面进行降维表示,方便下游模块或下游模型进行推理。具体的,作为示例,首先将多个待选择的割平面信息(A,b,C)转化成为一个二部图(bipartite graph representation),即将(A,b,C)按照连接关系进行填充。其次,将上述二部图连接关系输入图卷积网络,得到多个待选择的割平面是低维嵌入表示信息。
本申请实施例中,通过上述利用图卷积网络进行信息的嵌入表示,一方面,可以处理规模大小不一的数学规划模型,另一方面,对输入的排列不敏感。
2、割平面添加比例模型
割平面添加比例模型用于根据不同的用户数据中的目标函数自适应学习割平面的最佳选择比例K。该割平面的最佳选择比例K表示从第二割平面集合中包括的多个待选择割平面中选择一部分割平面,该一部分割平面在所述第二割平面集合中所占的比例为K。作为示例,割平面添加比例模型的输入为特征提取模型输出的用户数据的低维嵌入表示以及多个待选择的割平面的低维嵌入表示,其输出为割平面的最佳选择比例K。
举例说明,一种可能的实现方式中,上述割平面添加比例模型是通过全连接的神经网络实现的。具体的,作为示例,可以将特征提取模型输出的用户数据的低维嵌入表示以及多个待选择的割平面的低维嵌入表示作为割平面添加比例模型的输入,这些输入信息经过全连接的神经网络后,输出割平面的最佳选择比例K。例如,用户数据的低维嵌入表示以及多个待选择的割平面的低维嵌入表示经过神经网络的自编码器后,再经过一层全连接神经网络,输出根据用户数据的特征(例如,用户数据中目标函数本身的特征)以及多个待选择的割平面的特征确定的割平面的最佳选择比例K。
本申请实施例中,相比固定的割平面的选择比例而言,上述自适应根据目标函数本身的特征以及多个待选择的割平面的特征学习到的割平面的最佳选择比例K,可以有助于学习到全局最优的割平面选择比例,从而达到在动作全空间充分搜索,避免陷入局部最优解。
3、割平面添加顺序模型
割平面添加顺序模型用于自适应考虑多个待选择的割平面之间的排列顺序并去除冗余割平面,得到多个待选择的割平面之间最优的排列顺序。割平面添加顺序模型还可以在给定割平面的最佳选择比例K的情况下,给出多个待选择的割平面中指定长度下最优的割 平面添加顺序。作为示例,割平面添加顺序模型的输入为特征提取模型输出的多个待选择的割平面的低维嵌入表示以及割平面添加比例模型输出的割平面的最佳选择比例K,其输出为第一割平面集合,所述第一割平面集合中包括至少一个割平面,该至少一个割平面之间具有最优的排列顺序,该第一割平面集合在所述第二割平面集合中所占的比例为K。
举例说明,一种可能的实现方式中,上述割平面添加顺序模型是通过指针网络实现的。具体的,作为示例,可以将特征提取模型输出的多个待选择的割平面的低维嵌入表示以及割平面添加比例模型输出的割平面的最佳选择比例K作为指针网络的输入。该指针网络可以根据多个待选择的割平面的低维嵌入表示,自适应学习到该多个待选择的割平面之间最优的排列顺序,并基于割平面的最佳选择比例K,基于指针从排列好顺序的多个待选择的割平面中输出指定长度(例如,比例K)的至少一个割平面,该至少一个割平面之间具有最优的排列顺序,该至少一个割平面构成了上述的第一割平面集合。
本申请实施例中,相比对每个待选择的的割平面进行独立打分而言,上述指针网络基于每个待选择的的割平面的特征,不仅可以去除多个待选择的的割平面中的相似的冗余割平面,动态自适应得到多个待选择的割平面之间的最优排列顺序。而且基于动态自适应学习的割平面的最佳选择比例K,可以通过指针网络给出指定长度下最优割平面的添加顺序。
步骤240:云管理平台根据第一割平面集合以及第一割平面集合中包括的至少一个割平面的添加顺序对目标函数进行求解,获得求解的结果。
一种可能的实现方式中,云管理平台上部署有求解器,该求解器在获得第一割平面集合以及第一割平面集合中包括的至少一个割平面的添加顺序后,可以按照第一割平面集合中包括的至少一个割平面的添加顺序添加该至少一个割平面。并根据用户数据中的约束信息以及上述添加的至少一个割平面,按照该至少一个割平面的添加顺序,对用户数据中的目标函数进行求解,获得求解的结果。作为示例,该求解的结果可以是确定的目标函数的最优解。
步骤250:云管理平台向所述租户提供所述求解结果,或所述云管理平台将所述求解结果保存在所述云管理平台的存储模块中。
下面结合图3,对上述各个模型的训练过程进行详细描述。应理解,图3的例子仅仅是为了帮助本领域技术人员理解本申请实施例,而非要将申请实施例限制于所示例的具体数值或具体场景。本领域技术人员根据下面所给出的图3的例子,显然可以进行各种等价的修改或变化,这样的修改和变化也落入本申请实施例的范围内。
应理解,任何一个AI模型在用于解决特定的技术问题之前,都需要经过训练。AI模型的训练是指利用指定初始模型对训练数据进行计算,根据计算的结果采用一定的方法对初始模型中的参数进行调整,使得该模型逐渐学习到一定的规律,具备特定的功能的过程。经过训练后具有稳定功能的AI模型即可用于推理。
在训练阶段,首先需要基于目标构建针对AI模型的训练集,训练集中包括多个训练数据,每个训练数据设置有标签,训练数据的标签是该训练数据在特定问题上的正确答案,标签可以表示利用训练数据对AI模型进行训练的目标。例如:对于要训练一个可用于识别不同动物的AI模型,训练集中可以包括多个不同动物的图像(也即训练数据),每个图像可以具有标签标识其中包含的动物的类型,例如:猫、狗,在该示例中,每个图像对应的动物的类型即该训练数据的标签。
对AI模型进行训练时,训练数据可以分批地输入至经过参数初始化后的AI模型,
AI模型对训练数据进行计算(也即推理),获得针对训练数据的预测结果。经过推理获得的预测结果以及训练数据对应的标签作为根据损失函数计算损失的数据。损失函数是用于在模型训练阶段计算模型针对训练数据的预测结果和该训练数据的标签之间的差距(也即损失值)的函数,损失函数可以采用不同数学函数实现,常用的损失函数的表达式有:均方误差损失函数、对数损失函数、最小二乘法等。
基于损失函数计算得到的损失值可以用于更新AI模型的参数,具体的参数更新的方式常采用梯度下降方法。模型的训练是一个重复迭代的过程,每次迭代对不同的训练数据进行推理,并计算损失值,多次迭代的目标是不断地更新AI模型的参数,找到使损失函数的损失值最低或者趋于平稳的参数配置。
在训练阶段,为了使得模型的训练效率和训练后模型的性能更优,需要为训练设置一些合理的超参数,AI模型的超参数是指无法在训练过程中通过学习训练数据得到或者无法因训练数据驱动而产生变化的一类参数,是相对于模型中的参数的一个概念。以深度学习模型为例,该模型的超参数通常由人工根据经验或者实验设定,超参数包括:学习率(learning rate)、批样本数量(batch size)、网络结构超参数(例如:网络层数(也称为深度)、网络层与层之间的交互方式、卷积核数量和卷积核尺寸、激活函数)等。
图3是本申请实施例提供的一种模型训练的方法的示意性流程图。如图3所述,该方法可以包括步骤310-360,下面分别对步骤310-360进行详细描述。
步骤310:特征提取模型从训练数据库获得训练数据集,并根据该训练数据集输出多个待选择的割平面的低维嵌入表示以及用户数据的低维嵌入。
本申请实施例中,租户可以将用户数据(包括目标函数和约束信息)输入至求解器,求解器可以根据用户数据生成多个待选择的割平面。该求解器还可以将用户数据(包括目标函数和约束信息)以及生成的多个待选择的割平面存储至训练数据集中。
一个示例,上述特征提取模型为图卷积神经网络,该图卷积神经网络输入的训练数据集包括用户数据(包括目标函数和约束信息),以及多个待选择的割平面。该图卷积神经网络用于对用户数据以及多个待选择的割平面进行降维处理,输出多个待选择的割平面的低维嵌入表示以及用户数据的低维嵌入。
步骤320:割平面添加比例模型从特征提取模型获得训练数据集,并根据该训练数据集输出割平面的最佳选择比例K。
举例说明,一种可能的实现方式中,上述割平面添加比例模型为全连接的神经网络。割平面添加比例模型可以从特征提取模型获得用户数据的低维嵌入表示以及多个待选择的割平面的低维嵌入表示,这些输入信息经过全连接的神经网络后,输出割平面的最佳选择比例K。
步骤330:割平面添加顺序模型从特征提取模型和割平面添加比例模型处获得训练数据集,并根据该训练数据集输出第一割平面集合。
举例说明,一种可能的实现方式中,上述割平面添加顺序模型为指针网络。割平面添加顺序模型的输入为特征提取模型输出的多个待选择的割平面的低维嵌入表示以及割平面添加比例模型输出的割平面的最佳选择比例K,这些输入信息经过指针网络后,输出自适应学习到该多个待选择的割平面之间最优的排列顺序,并基于割平面的最佳选择比例K, 基于指针从排列好顺序的多个待选择的割平面中输出指定长度(例如,比例K)的第一割平面集合。
步骤340:割平面添加顺序模型将第一割平面集合中的至少一个割平面输出给云管理平台中的求解器。
步骤350:云管理平台中的求解器根据第一割平面集合以及第一割平面集合中包括的至少一个割平面的添加顺序对目标函数进行求解,获得预测的求解结果。
求解器获得第一割平面集合后,可以按照第一割平面集合中包括的至少一个割平面的添加顺序添加该至少一个割平面。并根据用户数据中的约束信息以及上述添加的至少一个割平面,按照该至少一个割平面的添加顺序,对用户数据中的目标函数进行求解,获得预测的求解结果。
步骤360:云管理平台中的求解器根据预测的求解结果以及真实的求解结果,对特征提取模型、割平面添加比例模型以及割平面添加顺序模型中的参数进行调整。
作为示例,本申请实施例中可以根据预测的求解结果以及目标函数对应的真实的求解结果作为根据损失函数计算损失的数据,并基于损失函数计算得到的损失值更新上述各个模型的参数。举例说明,损失函数计算损失的数据例如可以是预测的求解结果以及真实的求解结果作之间的误差,或者还可以是预测的求解结果所用的时间和真实的求解结果所用的时间之间的时间差等。
通过对特征提取模型、割平面添加比例模型以及割平面添加顺序模型中的参数进行调整之后,上述各个模型又可以按照步骤310-360的方法进行处理迭代循环处理。不断根据预测的求解结果以及目标函数对应的真实的求解结果之间的损失调整各个模型的参数,直至求解器输出的预测的求解结果与真实的求解结果之间的损失在一定的误差范围之内,说明上述各个模型经过训练后具有稳定的功能,可用于进行图2所示的推理过程。
本申请实施例中,一种可能的实现方式中,云管理平台(也可以简称为云平台)上部署有AI基础开发平台,租户可以在AI基础开发平台上对上述各个模型进行训练。
应理解,AI基础开发平台是云管理平台中一项平台即服务(platform-as-a-service,PaaS)云服务,是基于公有云服务提供商所拥有的大量基础资源和软件能力对租户(也称为:用户、AI开发者等)提供的辅助进行AI模型的构建、训练、部署以及AI应用的开发和部署的软件平台。如图4所示,租户与AI基础开发平台的交互形态主要包括:租户通过客户端网页登录云平台,在云平台中选择并购买AI基础开发平台的云服务,购买后,租户即可以基于AI基础开发平台提供的功能进行全流程的AI开发。租户在AI基础开发平台上开发和训练自己的AI模型时,是基于云服务提供商的数据中心中的基础资源(主要是计算资源,例如中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、嵌入式神经网络处理器(neural-network process units,NPU)等)进行的。因此,租户在购买和使用AI基础开发平台时,主要是对使用的资源进行付费。
为了便于描述,下面以特征提取模型在AI基础开发平台上的训练过程为例,对AI基础开发平台上进行模型训练的过程进行举例说明。
作为示例,在AI基础开发平台上进行特征提取模型的训练时,为了提升特征提取模型的训练效率,可以采用分布式并行训练的方式。模型的分布式并行训练包括两种,一种称为数据并行,另一种称为模型并行。
例如,如图5所示,数据并行具体是指在多个节点上(例如:节点1、2、3、…、N)部署相同的待训练的特征提取模型,并将用于训练的数据集分为多个数据子集,分散到各个节点上。各个节点独立地利用其对应的数据子集中的数据对节点中的特征提取模型进行训练,在每次训练迭代过程中,各个节点计算得到的梯度值可以同步至其他节点,使得每个节点可以得到一次迭代过程的梯度均值,梯度均值是各个节点在同一次迭代过程中的梯度的平均值,各个节点可以根据梯度均值对各自的特征提取模型的参数进行更新。这相当于通过聚合很多节点上的mini-batch的数据形成一个很大的batch数据来训练特征提取模型,使得特征提取模型的收敛速度会更快,提高模型训练的效率。其中,每个节点可以是GPU、虚拟机实例、或者容器实例。
又如,如图6所示,模型并行(也称为网络并行)具体是指将一个特征提取模型进行切分,得到多个子模型部分,不同的子模型部分部署在不同的节点上。在训练时,按照模型的结构顺序,不同节点上的子模型部分对一个数据集中的同一份数据进行计算。在一次迭代过程中,经过不同节点上子模型部分的计算,可以获得梯度值,根据梯度值进行前向传播或者反向传播可以更新各个子模型部分的参数。经过多次迭代,达到训练要求后,各个节点上的子模型部分根据特征提取模型的结构进行重组,可以获得训练完成的特征提取模型。当特征提取模型规模较大时,通过将特征提取模型拆分训练,可以结合多个节点的算力实现特征提取模型的训练。可选地,如果训练完成的特征提取模型也可以依照拆分的结构进行分布式部署,当利用该特征提取模型进行推理时,执行分布式推理。
AI基础开发平台还可以将经过前述训练后的模型(例如,特征提取模型、割平面添加比例模型以及割平面添加顺序模型)部署在云环境中的节点或者边缘环境中的节点。其中,云环境中的节点可以是虚拟机实例、容器实例、物理服务器等,边缘环境中的节点可以是各种边缘设备。如图7所示,一个示例,当模型的规模较大时,可以基于模型并行的思想将模型分布式地部署在多个节点上。另一个示例,也可以在多个节点分别独立地部署模型,以支撑较大的在线服务的访问量。另一个示例,AI基础开发平台还可以根据AI模型的应用需求,将AI应用部署到注册到云平台的边缘设备。
上述被部署后的AI模型可以成为一项AI应用,或者成为AI应用中的一部分。如图8所示,租户可以通过Web网页在线访问AI应用,或者通过客户端app在线访问AI应用。当AI应用被使用时,可以通过在线调用的方式,调用部署在边缘环境或者云环境的AI模型来提供响应。由此,通过AI基础开发平台开发和训练的AI模型可以实现对在线请求数据的推理,返回推理结果。
在AI模型在提供在线推理服务的过程中,AI基础开发平台可以持续收集推理过程的输入输出数据,利用推理阶段的输入输出数据继续充实训练数据集,以及基于推理阶段的数据和对应的人工确认后的结果继续优化训练AI模型。
应理解,在另一些情况下,由前述AI基础开发平台开发和训练的AI模型也可以不被在线部署,而是供租户下载训练完成的AI模型至本地,供租户自由地进行本地部署。例如:租户可以选择将训练完成的AI模型保存至OBS,进而租户从OBS下载AI模型至本地。
上文结合图1至图8,详细描述了本申请实施例提供的基于云计算技术的目标函数求解方法,下面将结合图9-图12,详细描述本申请装置的实施例。应理解,方法实施例的 描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图9是本申请实施例提供的一种基于云计算技术的目标函数求解装置900的示意性框图。该装置900应用于云管理平台,可以通过软件、硬件或者两者的结合实现。本申请实施例提供的基于云计算技术的目标函数求解装置900可以实现本申请实施例图1-图3所示的方法流程,该基于云计算技术的目标函数求解装置900包括:获取模块910,确定模块920,求解模块930,其中,获取模块910用于获取租户上传的用户数据,所述用户数据包括目标函数和约束信息;确定模块920用于根据第一人工智能AI模型,确定所述用户数据对应的第一割平面集合,所述第一割平面集合是所述第一AI模型从M个待选择割平面中选择的N个割平面,所述M个待选择割平面是用于求解所述目标函数的多个约束条件,其中,所述M和N为正整数,N小于M;求解模块930用于根据所述第一割平面集合和所述目标函数,求解得到所述目标函数的求解结果,并将所述求解结果提供给所述租户和/或进行保存。
可选地,所述装置900还包括:生成模块940,其中,所述确定模块920还用于确定所述租户输入或选择的所述第一AI模型;生成模块940用于根据所述目标函数和所述约束信息生成所述M个待选择的割平面;所述确定模块920还用于根据所述第一AI模型确定所述目标函数对应的割平面的选择比例,所述第一模型的输入包括所述目标函数、所述约束信息和所述M个待选择的割平面;所述确定模块920还用于根据所述割平面的选择比例从所述M个待选择的割平面中选择所述第一割平面集合。
可选地,该第一AI模型为以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
可选地,所述装置900还包括:降维模块950,用于根据第二AI模型对所述目标函数进行降维处理得到所述目标函数的低维表示;和/或用于根据所述第二AI模型对所述约束信息进行降维处理得到所述约束信息的低维表示;和/或用于根据所述第二AI模型对所述M个待选择的割平面进行降维处理得到所述M个待选择的割平面的低维表示。
可选地,所述第一AI模型的输入包括所述目标函数的低维表示,所述约束信息的低维表示以及所述M个待选择的割平面的低维表示。
可选地,该第二AI模型为以下中的任一种:图卷积神经网络,主成分分析模型。
可选地,所述确定模块920还用于:根据第三AI模型,确定所述第一割平面集合中包括的N个割平面的添加顺序,所述第三AI模型的输入为所述M个待选择割平面以及所述目标函数对应的割平面的选择比例。
可选地,所述第三AI模型为以下中的任一种:指针网络模型,回归模型,决策树模型。
可选地,所述装置900还包括:发送模块960,用于向所述租户提供以下信息中的任一种或任意多种的组合:所述目标函数对应的割平面的选择比例,所述第一割平面集合中的N个割平面,所述N个割平面的添加顺序。
可选地,所述第一AI模型是所述云管理平台根据目标函数,约束信息,M个待选择割平面以及所述目标函数对应的割平面的选择比例训练得到的。
这里的装置900可以以功能模块的形式体现。这里的术语“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。示例性的,接下来以获取模块为例,介绍获取模块的实现方式。类似的,其他模块,例如确定模块,求解模块,处理模块的实现方式可以参考获取模块的实现方式。
获取模块作为软件功能单元的一种举例,获取模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,获取模块可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
获取模块作为硬件功能单元的一种举例,获取模块可以包括至少一个计算设备,如服务器等。或者,获取模块也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
获取模块包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。获取模块包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,获取模块包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
因此,在本申请的实施例中描述的各示例的模块,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
需要说明的是:上述实施例提供的装置在执行上述方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。例如,获取模块可以用于执行上述方法中的任意步骤,确定模块可以用于执行上述方法中的任意步骤,求解模块可以用于执行上述方法中的任意步骤,处理模块可以用于执行上述方法中的任意步骤。获取模块、确定模块、求解模块、处理模块负责实现的步骤可根据需要指定,通过获取模块、确定模块、求解模块、处理模块分别实现上述方法中不同的步骤来实现上述装置的全部功能。
另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见上文 中的方法实施例,这里不再赘述。
本申请实施例提供的方法可以由计算设备执行,该计算设备也可以被称为计算机系统。包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括处理单元、内存和内存控制单元等硬件,随后对该硬件的功能和结构进行详细说明。该操作系统是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用程序。并且,可选地,该计算机系统是智能手机等手持设备,或个人计算机等终端设备,本申请并未特别限定,只要能够通过本申请实施例提供的方法即可。本申请实施例提供的方法的执行主体可以是计算设备,或者,是计算设备中能够调用程序并执行程序的功能模块。
下面结合图10,对本申请实施例提供的一种计算设备进行详细描述。
图10是本申请实施例提供的一种计算设备1000的架构示意图。该计算设备1000可以是服务器或者计算机或者其他具有计算能力的设备。图10所示的计算设备1000包括:至少一个处理器1010和存储器1020。
应理解,本申请不限定计算设备1000中的处理器、存储器的个数。
处理器1010执行存储器1020中的指令,使得计算设备1000实现本申请提供的方法。或者,处理器1010执行存储器1020中的指令,使得计算设备1000实现本申请提供的各功能模块,从而实现本申请提供的方法。
可选地,计算设备1000还包括通信接口1030。通信接口1030使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备1000与其他设备或通信网络之间的通信。
可选地,计算设备1000还包括系统总线1040,其中,处理器1010、存储器1020和通信接口1030分别与系统总线1040连接。处理器1010能够通过系统总线1040访问存储器1020,例如,处理器1010能够通过系统总线1040在存储器1020中进行数据读写或代码执行。该系统总线1040是快捷外设部件互连标准(peripheral component interconnect express,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述系统总线1040分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
一种可能的实现方式,处理器1010的功能主要是解释计算机程序的指令(或者说,代码)以及处理计算机软件中的数据。其中,该计算机程序的指令以及计算机软件中的数据能够保存在存储器1020或者缓存1016中。
可选地,处理器1010可能是集成电路芯片,具有信号的处理能力。作为示例而非限定,处理器1010是通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。其中,通用处理器是微处理器等。例如,该处理器1010是中央处理单元(central processing unit,CPU)。
可选地,每个处理器1010包括至少一个处理单元1012和内存控制单元1014。
可选地,处理单元1012也称为核心(core)或内核,是处理器最重要的组成部分。处 理单元1012是由单晶硅以一定的生产工艺制造出来的,处理器所有的计算、接受命令、存储命令、处理数据都由核心执行。处理单元分别独立地运行程序指令,利用并行计算的能力加快程序的运行速度。各种处理单元都具有固定的逻辑结构,例如,处理单元包括例如,一级缓存、二级缓存、执行单元、指令级单元和总线接口等逻辑单元。
一种实现举例,内存控制单元1014用于控制存储器1020与处理单元1012之间的数据交互。具体地说,内存控制单元1014从处理单元1012接收内存访问请求,并基于该内存访问请求控制针对内存的访问。作为示例而非限定,内存控制单元是内存管理单元(memory management unit,MMU)等器件。
一种实现举例,各内存控制单元1014通过系统总线进行针对存储器1020的寻址。并且在系统总线中配置仲裁器(图10中未示出),该仲裁器负责处理和协调多个处理单元1512的竞争访问。
一种实现举例,处理单元1012和内存控制单元1014通过芯片内部的连接线,例如地址线,通信连接,从而实现处理单元1012和内存控制单元1014之间的通信。
可选地,每个处理器1010还包括缓存1016,其中,缓存是数据交换的缓冲区(称作cache)。当处理单元1012要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从存储器中找。由于缓存的运行速度比存储器快得多,故缓存的作用就是帮助处理单元1012更快地运行。
存储器1020能够为计算设备1000中的进程提供运行空间,例如,存储器1020中保存用于生成进程的计算机程序(具体地说,是程序的代码)。计算机程序被处理器运行而生成进程后,处理器在存储器1020中为该进程分配对应的存储空间。进一步的,上述存储空间进一步包括文本段、初始化数据段、位初始化数据段、栈段、堆段等等。存储器1020在上述进程对应的存储空间中保存进程运行期间产生的数据,例如,中间数据,或过程数据等等。
可选地,存储器也称为内存,其作用是用于暂时存放处理器1010中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,处理器1010就会把需要运算的数据调到内存中进行运算,当运算完成后处理单元1012再将结果传送出来。
作为示例而非限定,存储器1020是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器1020旨在包括但不限于这些和任意其它适合类型的存储器。
以上列举的计算设备1000的结构仅为示例性说明,本申请并未限定于此,本申请实 施例的计算设备1000包括现有技术中计算机系统中的各种硬件,例如,计算设备1000还包括除存储器1020以外的其他存储器,例如,磁盘存储器等。本领域的技术人员应当理解,计算设备1000还可以包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,上述计算设备1000还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,上述计算设备1000也可仅仅包括实现本申请实施例所必须的器件,而不必包括图10中所示的全部器件。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图11所示,所述计算设备集群包括至少一个计算设备1000。计算设备集群中的一个或多个计算设备1000中的存储器1020中可以存有相同的用于执行上述方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备1000中的存储器1020也可以分别存有用于执行上述方法的部分指令。换言之,一个或多个计算设备1000的组合可以共同执行上述方法的指令。
需要说明的是,计算设备集群中的不同的计算设备1000中的存储器1020可以存储不同的指令,分别用于执行上述装置的部分功能。也即,不同的计算设备1000中的存储器1020存储的指令可以实现将上述装置中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图12示出了一种可能的实现方式。如图12所示,两个计算设备1000A和1000B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。
应理解,图12中示出的计算设备1000A的功能也可以由多个计算设备1000完成。同样,计算设备1000B的功能也可以由多个计算设备1000完成。
本实施例中,还提供了一种包含指令的计算机程序产品,所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当其在计算设备上运行时,使得计算设备执行上述所提供的方法,或者使得该计算设备实现上述提供的装置的功能。
本实施例中,还提供了一种包含指令的计算机程序产品,所述计算机程序产品可以是包含指令的,能够运行在计算设备集群上或被储存在任何可用介质中的软件或程序产品。当其由计算设备集群运行时,使得计算设备集群执行上述所提供的方法,或者使得该计算设备集群实现上述提供的装置的功能。
本实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,当计算机可读存储介质中的指令在计算设备上被执行时,使得计算设备执行上述所提供的方法。
本实施例中,还提供了一种计算机可读存储介质,计算机可读存储介质可以是计算 设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,当计算机可读存储介质中的指令由计算设备集群执行时,使得计算设备集群执行上述所提供的方法。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (26)

  1. 一种基于云计算技术的目标函数求解方法,所述方法应用于云管理平台,所述方法包括:
    所述云管理平台获取租户上传的用户数据,所述用户数据包括目标函数和约束信息;
    所述云管理平台根据第一人工智能AI模型,确定所述用户数据对应的第一割平面集合,所述第一割平面集合是所述第一AI模型从M个待选择割平面中选择的N个割平面,所述M个待选择割平面是用于求解所述目标函数的多个约束条件,其中,所述M和N为正整数,N小于M;
    所述云管理平台根据所述第一割平面集合和所述目标函数,求解得到所述目标函数的求解结果,并将所述求解结果提供给所述租户和/或进行保存。
  2. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    所述云管理平台确定所述租户输入或选择的所述第一AI模型;
    所述云管理平台根据所述目标函数和所述约束信息生成所述M个待选择的割平面;
    所述云管理平台根据第一模型,确定所述用户数据对应的第一割平面集合,包括:
    所述云管理平台根据所述第一AI模型确定所述目标函数对应的割平面的选择比例,所述第一模型的输入包括所述目标函数、所述约束信息和所述M个待选择的割平面;
    所述云管理平台根据所述割平面的选择比例从所述M个待选择的割平面中选择所述第一割平面集合。
  3. 根据权利要求1或2所述的方法,其特征在于,所述第一AI模型为以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
    所述云管理平台根据第二AI模型对所述目标函数进行降维处理得到所述目标函数的低维表示;和/或
    所述云管理平台根据所述第AI二模型对所述约束信息进行降维处理得到所述约束信息的低维表示;和/或
    所述云管理平台根据所述第二AI模型对所述M个待选择的割平面进行降维处理得到所述M个待选择的割平面的低维表示。
  5. 根据权利要求4所述的方法,其特征在于,所述第一AI模型的输入包括所述目标函数的低维表示,所述约束信息的低维表示以及所述M个待选择的割平面的低维表示。
  6. 根据权利要求4或5所述的方法,其特征在于,所述第二AI模型为以下中的任一种:图卷积神经网络,主成分分析模型。
  7. 根据权利要求2至6中任一项所述的方法,其特征在于,所述方法还包括:
    所述云管理平台根据第三AI模型,确定所述第一割平面集合中包括的N个割平面的添加顺序,所述第三AI模型的输入为所述M个待选择割平面以及所述目标函数对应的割平面的选择比例。
  8. 根据权利要求7所述的方法,其特征在于,所述第三AI模型为以下中的任一种:指针网络模型,回归模型,决策树模型。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
    所述云管理平台向所述租户提供以下信息中的任一种或任意多种的组合:所述目标函数对应的割平面的选择比例,所述第一割平面集合中的N个割平面,所述N个割平面的添加顺序。
  10. 根据权利要求1至9中任一项所述的方法,其特征在于,所述第一AI模型是所述云管理平台根据目标函数,约束信息,M个待选择割平面以及所述目标函数对应的割平面的选择比例训练得到的。
  11. 一种基于云计算技术的目标函数求解装置,其特征在于,所述装置应用于云管理平台,所述装置包括:
    获取模块,用于获取租户上传的用户数据,所述用户数据包括目标函数和约束信息;
    确定模块,用于根据第一人工智能AI模型,确定所述用户数据对应的第一割平面集合,所述第一割平面集合是所述第一AI模型从M个待选择割平面中选择的N个割平面,所述M个待选择割平面是用于求解所述目标函数的多个约束条件,其中,所述M和N为正整数,N小于M;
    求解模块,用于根据所述第一割平面集合和所述目标函数,求解得到所述目标函数的求解结果,并将所述求解结果提供给所述租户和/或进行保存。
  12. 根据权利要求11所述的装置,其特征在于,
    所述确定模块,还用于确定所述租户输入或选择的所述第一AI模型;
    所述装置还包括:
    生成模块,用于根据所述目标函数和所述约束信息生成所述M个待选择的割平面;
    所述确定模块,还用于根据所述第一AI模型确定所述目标函数对应的割平面的选择比例,所述第一模型的输入包括所述目标函数、所述约束信息和所述M个待选择的割平面;
    所述确定模块,还用于根据所述割平面的选择比例从所述M个待选择的割平面中选择所述第一割平面集合。
  13. 根据权利要求11或12所述的装置,其特征在于,所述第一AI模型为以下中的任一种:神经网络模型,决策树模型,逻辑回归模型。
  14. 根据权利要求13所述的装置,其特征在于,所述装置还包括:
    降维模块,用于根据第二AI模型对所述目标函数进行降维处理得到所述目标函数的低维表示;和/或
    所述降维模块,还用于根据所述第二AI模型对所述约束信息进行降维处理得到所述约束信息的低维表示;和/或
    所述降维模块,还用于根据所述第二AI模型对所述M个待选择的割平面进行降维处理得到所述M个待选择的割平面的低维表示。
  15. 根据权利要求14所述的装置,其特征在于,所述第一AI模型的输入包括所述目标函数的低维表示,所述约束信息的低维表示以及所述M个待选择的割平面的低维表示。
  16. 根据权利要求15所述的装置,其特征在于,所述第二AI模型为以下中的任一种:图卷积神经网络,主成分分析模型。
  17. 根据权利要求12至16中任一项所述的装置,其特征在于,所述确定模块还用于:
    根据第三AI模型,确定所述第一割平面集合中包括的N个割平面的添加顺序,所述第三AI模型的输入为所述M个待选择割平面以及所述目标函数对应的割平面的选择比例。
  18. 根据权利要求17所述的装置,其特征在于,所述第三AI模型为以下中的任一种:指针网络模型,回归模型,决策树模型。
  19. 根据权利要求11至18中任一项所述的装置,其特征在于,所述装置还包括:
    发送模块,用于向所述租户提供以下信息中的任一种或任意多种的组合:所述目标函数对应的割平面的选择比例,所述第一割平面集合中的N个割平面,所述N个割平面的添加顺序。
  20. 根据权利要求11至19中任一项所述的装置,其特征在于,所述第一AI模型是所述云管理平台根据目标函数,约束信息,M个待选择割平面以及所述目标函数对应的割平面的选择比例训练得到的。
  21. 一种计算设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行如权利要求1至10中任一项所述的方法。
  22. 一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
    所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至10中任一项所述的方法。
  23. 一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得所述计算设备执行如权利要求的1至10中任一项所述的方法。
  24. 一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的1至10中任一项所述的方法。
  25. 一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至10中任一项所述的方法。
  26. 一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至10中任一项所述的方法。
PCT/CN2023/084031 2022-07-01 2023-03-27 基于云计算技术的目标函数求解方法、装置和计算设备 WO2024001344A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210773918 2022-07-01
CN202210773918.4 2022-07-01
CN202211089130.8A CN117370715A (zh) 2022-07-01 2022-09-07 基于云计算技术的目标函数求解方法、装置和计算设备
CN202211089130.8 2022-09-07

Publications (1)

Publication Number Publication Date
WO2024001344A1 true WO2024001344A1 (zh) 2024-01-04

Family

ID=89382620

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/084031 WO2024001344A1 (zh) 2022-07-01 2023-03-27 基于云计算技术的目标函数求解方法、装置和计算设备

Country Status (1)

Country Link
WO (1) WO2024001344A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782976A (zh) * 2010-01-15 2010-07-21 南京邮电大学 一种云计算环境下机器学习自动选择方法
US20110131167A1 (en) * 2009-12-01 2011-06-02 International Business Machines Corporation LP relaxation modification and cut selection in a MIP solver
US20170024357A1 (en) * 2014-03-31 2017-01-26 Elmor L. Peterson Flexible vector-processing algorithms for numerically solving extreme-scale, linear and non-linear, predictive and prescriptive, problems in science and engineering, on parallel-processing super computers
WO2021072221A1 (en) * 2019-10-09 2021-04-15 Cornell University Quantum computing based hybrid solution strategies for large-scale discrete-continuous optimization problems
US20210264290A1 (en) * 2020-02-21 2021-08-26 International Business Machines Corporation Optimal interpretable decision trees using integer linear programming techniques
CN114461374A (zh) * 2020-10-22 2022-05-10 华为云计算技术有限公司 一种实例分配方法、系统及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110131167A1 (en) * 2009-12-01 2011-06-02 International Business Machines Corporation LP relaxation modification and cut selection in a MIP solver
CN101782976A (zh) * 2010-01-15 2010-07-21 南京邮电大学 一种云计算环境下机器学习自动选择方法
US20170024357A1 (en) * 2014-03-31 2017-01-26 Elmor L. Peterson Flexible vector-processing algorithms for numerically solving extreme-scale, linear and non-linear, predictive and prescriptive, problems in science and engineering, on parallel-processing super computers
WO2021072221A1 (en) * 2019-10-09 2021-04-15 Cornell University Quantum computing based hybrid solution strategies for large-scale discrete-continuous optimization problems
US20210264290A1 (en) * 2020-02-21 2021-08-26 International Business Machines Corporation Optimal interpretable decision trees using integer linear programming techniques
CN114461374A (zh) * 2020-10-22 2022-05-10 华为云计算技术有限公司 一种实例分配方法、系统及装置

Similar Documents

Publication Publication Date Title
WO2021047535A1 (en) Method, apparatus and system for secure vertical federated learning
JP6790286B2 (ja) 強化学習を用いたデバイス配置最適化
US9990558B2 (en) Generating image features based on robust feature-learning
US20200066255A1 (en) Unsupervised Learning of Interpretable Conversation Models from Conversation Logs
US20190164084A1 (en) Method of and system for generating prediction quality parameter for a prediction model executed in a machine learning algorithm
US11379718B2 (en) Ground truth quality for machine learning models
US20200125926A1 (en) Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments
US20220004914A1 (en) Code generation for auto-ai
US20190228297A1 (en) Artificial Intelligence Modelling Engine
US10740209B2 (en) Tracking missing data using provenance traces and data simulation
US11080486B2 (en) Remote neural network processing for guideline identification
US20230023958A1 (en) Online question answering, using reading comprehension with an ensemble of models
AU2021224058B2 (en) Optimal interpretable decision trees using integer programming techniques
JP2023540266A (ja) 対話システムにおいて新しいインテントを作成し例を自動的に割り当てるための概念予測
US11514340B2 (en) Machine learning for technical tool selection
WO2024001344A1 (zh) 基于云计算技术的目标函数求解方法、装置和计算设备
US20200279152A1 (en) Lexicographic deep reinforcement learning using state constraints and conditional policies
CN106415525B (zh) 确定有效负荷估计
US20220398452A1 (en) Supervised similarity learning for covariate matching and treatment effect estimation via self-organizing maps
CN113935338B (zh) 基于层预测的语言翻译的方法、设备、装置和介质
US20230169389A1 (en) Domain adaptation
US20230069913A1 (en) Multi-objective machine learning with model and hyperparameter optimization fusion
WO2021208808A1 (en) Cooperative neural networks with spatial containment constraints
US11644816B2 (en) Early experiment stopping for batch Bayesian optimization in industrial processes
JP2024504179A (ja) 人工知能推論モデルを軽量化する方法およびシステム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23829535

Country of ref document: EP

Kind code of ref document: A1