DETAILED ACTION
Remarks
This office action is issued in response to communication filed on 6/5/2026. Claims 1,3-21 are pending in this Office Action.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant's arguments filed 6/5/26 with respect to the 101 rejection have been fully considered but they are not persuasive. The examiner respectfully traverses applicant’s arguments.
Applicant argues: “Accordingly, since the claim does not recite a judicial exception, it is not directed to a judicial exception (Step 2A: No) and is eligible.” Therefore, Applicant submits that because the claims do not recite a judicial exception the claims are not directed to an abstract idea and are, therefore, eligible.”(Applicant’s argument at page 3)
Examiner responses: The examiner respectfully disagrees. Except for the “ causing a second machine learning model to” language, there is nothing in the claim that prevents the limitation from being performed in the human mind. The “determine a set of performance features based on the set of workload features and a set of computing instance features generated based on the different computing instance configurations” encompasses the user making the appropriate selection in his or her mind a set of performance features based on the set of workload features and a set of computing instance features generated based on the different computing instance configurations.
Similarly, except for the “causing a machine learning model” language, there is nothing in the claim that prevent the “ determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on an input generated by at least appending the set of performance features to, the set of workload features of the workload, and the set of computing instance features of the set of computing instances, and a set of performance features” step being performed in the human mind. The determining step encompasses the user observes the amount of time it takes for each epoch training.
Finally, the “ranking the set of computing instances in accordance with the metric based on the epoch training time and the processor utilization associated with the computing instances of the set of computing instances” encompasses a user sort the order of the set of computing instances in his or her mind.
Accordingly, claim 1 recites one or more mental steps, claim 1 recites a judicial exception under step 2A analysis.
Applicant argues: “Similar to those in McRo, Applicant’s claims are directed to a specific improvement in computer technology related to predicting execution characteristics of machine learning workloads across different computing instance configurations and ranking those configurations using predicted epoch training time and processor utilization. For example, as recited in paragraph [0018] of the specification, existing solutions are workload dependent and are unable to provide recommendations for workloads not included in the dataset used to train the existing solution, whereas the prediction model enables recommendations for combinations of workloads and computing instances that were not previously recorded and allows users to optimize multiple execution-related attributes. Therefore, when read in light of Applicant’s specification, the claims provide a specific improvement in computer technology and qualify as eligible subject matter under 35 U.S.C. § 101.”(Applicant’s arguments at page 4)
Examiner responses: The examiner respectfully disagrees. As indicates in the above responses, the determining steps and ranking step recited in the amended claim 1 are mental steps. Using a machine learning model without any details how the model operates to perform mental steps as recited in the amended claim 1 provide nothing more than mere instructions to apply the exception using a computer with a generic machine learning model to apply the abstract idea. The amended claim 1, 8 and 16 do not include steps that result in the improvement of the computer technology as required by the MPEP 2106.05(a) (“the claim must be evaluated to ensure the claim itself reflects the disclosed improvement in technology”).
For at least the foregoing reasons, the examiner maintains the 101 rejection.
Applicant’s arguments with respect to claims rejected under 35 USC 103 have been considered and are moot in view of new ground of rejection.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1 and 3-21 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claims 1, 8 and 16:
Step 1: Statutory Category ?: Yes. claim 1 recites a method (i.e., a “process”), claim 8 recites a non-transitory computer readable medium (i.e., an article of manufacture) and claim 16 recites a system (i.e., a “machine”) ,which are statutory categories.
Claim 1:
Step 2A-Prong 1: Judicial Exception Recited ?: Yes.
The limitations “causing a second machine learning model to determine a set of performance features based on the set of workload features and a set of computing instance features generated based on the different computing instance configurations; causing a machine learning model to determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on an input generated by at least appending the set of performance features to the set of workload features of the workload , and the set of computing instance features of the set of computing instances ; ranking the set of computing instances in accordance with the metric based on the epoch training time and the processor utilization associated with the computing instances of the set of computing instances ” are processes that can be performed in the human mind using observation, evaluation, judgment and opinion . Except for the “cause a machine learning model” and “causing a second machine learning model language, there is nothing in the claim that prevents the determining and ranking steps from being performed in the human mind.
Step 2A-Prong 2: Integrated into a practical application? No.
Claim 1 recites additional element of “ a machine learning model” and “second machine learning model” which are recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using a computer with generic machine learning models.
The additional elements of “obtaining an indication of a metric to rank a set of computing instances and a set of workload features of a workload, wherein the set of computing instances include different computing instance configurations provided by a computing resource service provider” and “causing the ranking of the set of computing instances in a user interface” are simply data gathering step and therefore are insignificant extra-solution activities. (See MPEP 2106.05(g)).
Step 2B: Recites additional elements that amount to significantly more than the judicial exception? No.
Claim 1 does not include additional elements that are sufficient to amount to significantly more than judicial exception. As indicates above, the additional elements of using machine learning models are at best equivalent of adding the words “apply it” to the judicial exception. The additional element of “obtaining an indication of a metric to rank a set of computing instances and a set of workload features of a workload, wherein the set of computing instances include different computing instance configurations provided by a computing resource service provider” and “causing the ranking of the set of computing instances in a user interface” are data gathering steps that are well-understood, routine conventional activities previously known to the industry and therefore do not amount to significantly more than the judicial exception. (See MPEP 2106.05(d)) subsection II). Even when considered in combination, the additional elements do not provide an inventive concept, claim 1 therefore is ineligible.
Claim 3 recites the additional element of “wherein causing the second machine learning model to determine the set of performance features is in response to the workload or the set of computing instances having not been previously recorded” which is a mental process that can be performed in the human mind using observation, evaluation, judgment and opinion . Except for the “cause a machine learning model” language, there is nothing in the claim that prevents the determining step from being performed in the human mind. The additional element of “ a second machine learning model” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and is at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional elements do not provide an inventive concept, claim 3 therefore is ineligible.
Claim 4 recites the additional element of “training the machine learning model and the second machine learning model using a training dataset including a set of metrics obtained by at least causing the set of computing instances to execute a set of workloads” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and is at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional elements do not provide an inventive concept, claim 4 therefore is ineligible.
Claim 5 recites the additional element of “wherein the set of computing instance features includes at least one of: a number of Graphic Processing Units (GPUs), GPU memory, GPU memory type, GPU type, number of Central Processing Units (CPUs), number of virtual CPUs, CPU type, CPU memory, and CPU memory type” . The instance features are part of the determining step which is a mental process. Claim 5 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 5 is not patent eligible.
Claim 6 recites the additional element of “wherein the set of performance features includes at least one of: average Graphic Processing Unit (GPU) utilization, minimum GPU utilization, maximum GPU utilization, average Central Processing Unit (CPU) utilization, minimum CPU utilization, maximum CPU utilization, average memory utilization, minimum memory utilization, maximum memory utilization, core temperature, memory bandwidth, cache usage, and power usage” . The performance features are part of the determining step which is a mental process. Claim 6 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 6 is not patent eligible.
Claim 7 recites the additional element of wherein the set of workload features includes at least one of: a number of floating point operations (FLOPs), number of layers, number of activations, number of parameters and batch size”. The set of workload features are part of the obtaining step which is merely data gathering and is well-understood, routine conventional activities previously known to the industry and therefore do not amount to significantly more than the judicial exception. (See MPEP 2106.05(d)) subsection II). Even when considered in combination, the additional element does not provide an inventive concept, claim 7 therefore is ineligible.
Claim 8:
Step 2A-Prong 1: Judicial Exception Recited ?: Yes.
The limitation “causing a machine learning model to determine a metric associated with a computing instance when executing a workload, the machine learning model taking as inputs a set of workload features associated with the workload, a set of computing instance features associated with a plurality of computing instances, and a set of metrics obtained from the plurality of computing instances during execution of a plurality of workloads, where computing instances of the set of computing instances include different configurations”; ( user evaluates the metric)
“causing a second machine learning model to generate a subset of metrics of the set of metrics based on the different configurations of the set of computing instances” (user generates a small number of metrics in his or her mind) and
“generating a ranking of a set of computing instances, including the computing instance, based on the metric” (user sorts the set of computing instance in his or her mind)
These are processes that can be performed in the human mind using observation, evaluation, judgment and opinion . Except for the “cause a machine learning model” and “causing a second machine learning model” language, there is nothing in the claim that prevents the determining and generate the ranking steps from being performed in the human mind.
Step 2A-Prong 2: Integrated into a practical application? No.
Claim 8 recites additional element of “non-transitory computer readable medium and processing device” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic computer components. The “a machine learning model” and “second machine learning model” which are recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic computer with generic machine learning models.
The additional elements of “updating a display to include the ranking of the set of computing instances” is pre/post solution activity which is insignificant extra-solution activities. (See MPEP 2106.05(g)).
Step 2B: Recites additional elements that amount to significantly more than the judicial exception? No.
Claim 8 does not include additional elements that are sufficient to amount to significantly more than judicial exception. As indicates above, the additional element of “machine learning model”, “ second machine learning model” and “ and non-transitory computer readable medium and processing device” are at best equivalent of adding the words “apply it” to the judicial exception. The additional element of “updating a display to include the ranking of the set of computing instances” is insignificant extra-solution activities which is well-understood, routine conventional activities previously known to the industry and therefore do not amount to significantly more than the judicial exception. (See MPEP 2106.05(d)) and 2106.07(a)III). Even when considered in combination, the additional elements do not provide an inventive concept, claim 8 therefore is ineligible.
Claim 9 recites the additional element of “causing the second machine learning model to determine the subset of metrics of the set of metrics is performed in response to at least a portion of the metrics corresponding to a portion of the set of workload features not being included in the set of metrics ” which is a mental process that can be performed in the human mind using observation, evaluation, judgment and opinion . Except for the “cause a machine learning model” language, there is nothing in the claim that prevents the determining step from being performed in the human mind. The additional element of “ a second machine learning model” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and is at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional elements do not provide an inventive concept, claim 9 therefore is ineligible.
Claim 10 recites the additional element of “ wherein the set of metrics include benchmarks obtained from the plurality of computing instances during execution of the plurality of workloads” which is simply data gathering step and therefore are insignificant extra-solution activities. (See MPEP 2106.05(g)). Data gathering which is well-understood, routine conventional activities previously known to the industry and therefore does not amount to significantly more than the judicial exception. (See MPEP 2106.05(d)) and 2106.07(a)III). Even when considered in combination, the additional element does not provide an inventive concept, claim 10 therefore is ineligible.
Claim 11 recites the additional element of “wherein the machine learning model is trained using the set of metrics” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional element does not provide an inventive concept, claim 11 therefore is ineligible.
Claim 12 recites the additional element of “wherein the ranking of the set of computing instances further comprises an ordering of the set of computing instances from a lowest epoch training time to a highest epoch training time” which is a mental process. Claim 12 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 12 is not patent eligible.
Claim 13 recites the additional element of “wherein the ranking of the set of computing instances further comprises an ordering of the set of computing instances from a highest processor utilization to a lowest processor utilization” which is a mental process. Claim 13 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 13 is not patent eligible.
Claim 14 recites the additional element of wherein the machine learning model is a regression model” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine regression model and at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional element does not provide an inventive concept, claim 14 therefore is ineligible.
Claim 15 recites the additional element of wherein the processing device further performs operations comprising: obtaining an indication of the metric to optimize and the workload from a user interface; and determining the set of workload features based on the workload” . The determining step is a mental process that can be performed in the human mind using observation, evaluation, judgment and opinion . The additional element of “obtaining an indication of the metric to optimize and the workload from a user interface” is data gathering which is insignificant extra-solution activities. (See MPEP 2106.05(g)) and is well-understood, routine conventional activities previously known to the industry and therefore does not amount to significantly more than the judicial exception. (See MPEP 2106.05(d)) and 2106.07(a)III). Even when considered in combination, the additional element does not provide an inventive concept, claim 15 therefore is ineligible.
Claim 16:
Step 2A-Prong 1: Judicial Exception Recited ?: Yes.
The limitations:
“training a machine learning model to determine system performance features for a set of computing instances based on a set of workload features and the set of computing instances, the machine learning model trained using the training dataset including a set of computing instance features and a set of machine learning model features extracted from the training dataset”; (user evaluates performance features)
“training a second machine learning model to determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on the system performance features for the set of computing instances and the set of computing instances” ; (user evaluates training time)
“providing the machine learning model and the second machine learning model to an instance recommendation tool to rank computing instances based on the system performance features; causing the instance recommendation tool to rank computing instances based on the system performance features” (user sorts the computing instances in his or her mind)
These are processes that can be performed in the human mind using observation, evaluation, judgment and opinion . Except for the “train a machine learning model”; “second machine learning model” and “an instance recommendation tool” language and , there is nothing in the claim that prevents the determining and ranking steps from being performed in the human mind.
Step 2A-Prong 2: Integrated into a practical application? No.
Claim 16 recites additional element of “memory and processing device” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic computer components. The “a machine learning model and instance recommendation tool” which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and generic recommendation tool.
Step 2B: Recites additional elements that amount to significantly more than the judicial exception? No.
Claim 16 does not include additional elements that are sufficient to amount to significantly more than judicial exception. As indicates above, the additional element of “machine learning model, instance recommendation tool, memory and processing device” is at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional elements do not provide an inventive concept, claim 16 therefore is ineligible.
Claim 17 recites the additional element of “wherein the system performance features include at least one of: average Graphic Processing Unit (GPU) utilization, minimum GPU utilization, maximum GPU utilization, average Central Processing Unit (CPU) utilization, minimum CPU utilization, maximum CPU utilization, average memory utilization, minimum memory utilization, maximum memory utilization, core temperature, memory bandwidth, cache usage, and power usage”. The performance features are part of the determining step which is a mental process. Claim 17 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 17 is not patent eligible.
Claim 18 recites the additional element of “ wherein the set of computing instance features includes at least one of: a number of Graphic Processing Units (GPUs), GPU memory, GPU memory type, GPU type, number of Central Processing Units (CPUs), number of virtual CPUs, CPU type, CPU memory, and CPU memory type”. The computing instance features are part of the determining step which is a mental process. Claim 18 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 18 is not patent eligible.
Claim 19 recites the additional element of “wherein the set of machine learning model features includes at least one of: a number of floating point operations (FLOPs), number of layers, number of activations, number of parameters, and batch size”. The model features are part of the determining step which is a mental process. Claim 19 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 19 is not patent eligible.
Claim 20 recites the additional element of “wherein the training dataset is generated by at least causing a set of machine learning models corresponding to the set of machine learning model features to executed the plurality of workloads using a plurality of computing instances”. which is recited at the very high level of generality such that it amounts no more than mere instructions to apply the exception using generic machine learning model and at best equivalent of adding the words “apply it” to the judicial exception. Even when considered in combination, the additional element does not provide an inventive concept, claim 20 therefore is ineligible.
Claim 21 recites the additional element of “wherein causing the instance recommendation tool to rank computing instances further comprises causing the machine learning model to generate a set of performance features based on an indication of a metric to rank the set of computing instances” which is a mental process. Claim 21 does not include any additional element that integrates the abstract idea into practical application in step 2A-Prong 2 and amounts to significantly more than the judicial exception in step 2B. Claim 21 is not patent eligible.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1 and 3-15 are rejected under 35 U.S.C. 103 as being unpatentable over Zheng et al.(US Patent 12,423,578 B1, hereinafter “Zheng”) and further in view of Amar Das et al.(US Patent Application Publication 2024/0249179 A1, hereinafter “Amar”)
As to claim 1,Zheng teaches a method comprising: obtaining an indication of a metric to rank a set of computing instances and a set of workload features of a workload , wherein the set of computing instances include different computing instance configurations provided by a computing resource service provider; (Zheng col 12, lines 5-58 teaches client may use interfaces 177 to submit an indication of a resource set to be used for training a machine model. The resource set may comprise computing instances of a virtualized computing service)
causing a second machine learning model to determine a set of performance features based on the set of workload features and a set of computing instance features generated based on the different computing instance configurations(Zheng col 24, lines 12-22 teaches in at least one embodiment, the client may submit a GetMetrics request 849 to obtain metrics collected during the model training operations. In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on).
causing a machine learning model to determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on an input generated by at least appending the set of performance features to the set of workload features of the workload , a set of computing instance features of the set of computing instances (Zheng col 24, lines 12-22 teaches in at least one embodiment, the client may submit a GetMetrics request 849 to obtain metrics collected during the model training operations. In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on). [ranking] the set of computing instances in accordance with the metric based on the epoch training time and the processor utilization associated with the computing instances of the set of computing instances and causing the ranking of the set of computing instances in a user interface,( Zheng col 24, lines 12-22 teaches in at least one embodiment, the client may submit a GetMetrics request 849 to obtain metrics collected during the model training operations. In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on);
Zheng fails to expressly teach ranking the set of computing instances in accordance with the metric.
However, Amar teaches ranking the set of computing instances in accordance with the metric.(Amar par [0040] teaches ranking computing instances based on consumption metrics)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to combine the teaching of Zheng and Amar to achieve the claimed invention. One would have been motivated to make such combination to perform training in a cost effective manner without hindering the performance of the application generating local data.(Amar par [0021])
As to claim 3, Zheng and Amar teach the method of claim 1, wherein causing the second machine learning model to determine the set of performance features is in response to the workload or the set of computing instances having not been previously recorded. ( Zheng col 8, lines 17-20 teaches An MLS may collect metrics of various kinds from the resource set during the distributed training of the model, and provide them to a client via programmatic interfaces in various embodiments.)
As to claim 4, Zheng and Amar teach the method of claim 1, wherein the method further comprises training the machine learning model and the second machine learning model using a training dataset including a set of metrics obtained by at least causing the set of computing instances to execute a set of workloads. ( Zheng col 13, lines 3-15 teaches after information about a model to be trained, including its training data set and a resource set to be used for the training is obtained, a training coordinator may orchestrate the training of the model)
As to claim 5, Zheng and Amar teach the method of claim 1, wherein the set of computing instance features includes at least one of: a number of Graphic Processing Units (GPUs), GPU memory, GPU memory type, GPU type, number of Central Processing Units (CPUs), number of virtual CPUs, CPU type, CPU memory, and CPU memory type. (Zheng col 24, lines 12-22 teaches In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on.)
As to claim 6, Zheng and Amar teach the method of claim 1, wherein the set of performance features includes at least one of: average Graphic Processing Unit (GPU) utilization, minimum GPU utilization, maximum GPU utilization, average Central Processing Unit (CPU) utilization, minimum CPU utilization, maximum CPU utilization, average memory utilization, minimum memory utilization, maximum memory utilization, core temperature, memory bandwidth, cache usage, and power usage. (Zheng col 24, lines 12-22 teaches In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on)
As to claim 7, Zheng and Amar teach the method of claim 1, wherein the set of workload features includes at least one of: a number of floating point operations (FLOPs), number of layers, number of activations, number of parameters and batch size.(Zheng col 22, lines 39-50 teaches client may specify a learning algorithm, loss function, training completion criteria, the number of layers, number of neurons per layer and others)
As to Claim 8, Zheng teaches a non-transitory computer-readable medium storing executable instructions embodied thereon, which, when executed by a processing device, cause the processing device to perform operations comprising:
causing a machine learning model to determine a metric associated with a computing instance when executing a workload, (Zheng col 24, lines 12-22 teaches In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on)
the machine learning model taking as inputs a set of workload features associated with the workload, a set of computing instance features associated with a plurality of computing instances, and a set of metrics obtained from the plurality of computing instances during execution of a plurality of workloads; (Zheng col 22, lines 25-60 teaches Information about a model to be trained, such as the kind of problem which is to be solved using the model, the type of model (e.g., a transformer model, a convolution model, etc.), a pointer to the training data set, the total number of parameters of the model, an approximation or measurement of the size of model training state information (MTSI) and the like may be provided by the client . Some MLS clients may provide preferred values or preferred ranges of model hyperparameters to be used during model training, e.g., via one or more HyperparameterPreferences messages 823. For example, clients may specify a learning algorithm, a loss function, training completion criteria (e.g., a desired level of prediction accuracy or a targeted deadline for training the model), the number (and types) of layers of a neural network to be used for the model, the number of artificial neurons per layer, batch sizes and micro-batch sizes to be used for the training iterations, batch selection algorithms, micro-batch selection algorithms, and so on).
generating a ranking of a set of computing instances, including the computing instance, based on the metric; and updating a display to include the ranking of the set of computing instances. (Zheng col 24, lines 12-22 teaches In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on)
Zheng fails to expressly teach ranking the set of computing instances in accordance with the metric.
However, Amar teaches ranking the set of computing instances in accordance with the metric.(Amar par [0040] teaches ranking computing instances based on consumption metrics)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to combine the teaching of Zheng and Amar to achieve the claimed invention. One would have been motivated to make such combination to perform training in a cost effective manner without hindering the performance of the application generating local data.(Amar par [0021])
As to claim 9, Zheng and Amar teach the medium of claim 8, wherein the processing device further performs operations comprising causing the second machine learning model to the subset of metrics of the set of metrics is performed in response to at least a portion of the metrics corresponding to a portion of the set of workload features not being included in the set of metrics.
(Zheng col 8, lines 17-20 teaches An MLS may collect metrics of various kinds from the resource set during the distributed training of the model, and provide them to a client via programmatic interfaces in various embodiments)
As to claim 10, Zheng and Amar teach the medium of claim 8, wherein the set of metrics include benchmarks obtained from the plurality of computing instances during execution of the plurality of workloads. ( Zheng col 8, lines 17-20 teaches An MLS may collect metrics of various kinds from the resource set during the distributed training of the model, and provide them to a client via programmatic interfaces in various embodiments)
As to claim 11, Zheng and Amar teach the medium of claim 8, wherein the machine learning model is trained using the set of metrics. ( Zheng col 13, lines 3-15 teaches after information about a model to be trained, including its training data set and a resource set to be used for the training is obtained, a training coordinator may orchestrate the training of the model)
As to claim 12, , Zheng and Amar teach the medium of claim 8, wherein the ranking of the set of computing instances further comprises an ordering of the set of computing instances from a lowest epoch training time to a highest epoch training time. (Amar par [0040] teaches ranking computing instances based on consumption metrics. Ranking from lowest to highest is well known in the art)
As to claim 13, Zheng and Amar teach the medium of claim 8, wherein the ranking of the set of computing instances further comprises an ordering of the set of computing instances from a highest processor utilization to a lowest processor utilization. (Amar par [0040] teaches ranking computing instances based on consumption metrics. Ranking from lowest to highest is well known in the art)
As to claim 14, Zheng and Amar teach the medium of claim 8, wherein the machine learning model is a regression model.( Zheng col 5, lines 5-10 teaches DNN . Regression model is well known in the art )
As to claim 15, Zheng and Amar teach the medium of claim 8, wherein the processing device further performs operations comprising: obtaining an indication of the metric to optimize and the workload from a user interface; and determining the set of workload features based on the workload. ( Zheng col 8, lines 18-30 teaches “In some embodiments, based on metrics collected during the training, the MLS may generate a recommendation for a change to the resource set—e.g., a recommendation to use GPUS with more memory, or different types of compute instances—and provide the recommendation to a client. The client may then decide to change the resource set based on the recommendation, and in some cases pause and/or restart the training so that the modified resource set can be used”)
Claims 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Eicher et al.( US Patent Application Publication 2016/0070590 A1, hereinafter “ Eicher”) and further in view Zheng and further in view of Amar.
As to claim 16, Eicher teaches the system comprising: a memory component; and a processing device coupled to the memory component, the processing device to perform operations comprising: obtaining a training dataset including benchmark data captured from a plurality of computing instance configurations executing a plurality of workloads; (Eicher par [0062] teaches the machine learning model may be created using the actual launch time prediction data that may include information for a plurality of computing instances that have been previously launched)
training a machine learning model to determine system performance features for a set of computing instances based on a set of workload features and the set of computing instances, the machine learning model trained using the training dataset including a set of computing instance features and a set of machine learning model features extracted from the training dataset;( Eicher par [0062] teaches the machine learning model may be created using the actual launch time prediction data that may include information for a plurality of computing instances that have been previously launched)
Eicher fails to expressly teach training a second machine learning model to determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on the system performance features for the set of computing instances and the set of computing instances.
However, Zheng teaches training a second machine learning model to determine an epoch training time and a processor utilization for computing instances of the set of computing instances based on the system performance features for the set of computing instances and the set of computing instances. (Zheng col 24, lines 12-22 teaches in at least one embodiment, the client may submit a GetMetrics request 849 to obtain metrics collected during the model training operations. In response, the MLS may use one or more MetricsSets messages 851 to provide metrics such as the average (and/or maximum) utilizations of processors of TCDs/GPUs/accelerators, memory, storage, networking devices etc. of the resource set(s) employed, the ratio of inter-host data transfers to intra-host data transfers, the total number of training iterations and/or micro-batch steps conducted, the time taken for training the model, and so on).
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to combine the teaching of Eicher with the teaching of Zheng to achieve the claimed invention. One would have been motivated to make such combination to reduce overall amount of time and computing resources used to train large machine learning models.(Zheng col 5, lines 23-25)
Eicher and Zheng further teach providing the machine learning model and the second machine learning model to an instance recommendation tool to rank computing instances based on the system performance features; and causing the instance recommendation tool to rank computing instances based on the system performance features. ( Eicher par [0029] teaches estimated launch times for the three hosts may be 10, 50 or two minutes respectively)
Eicher and Zheng fail to expressly teach causing the instance recommendation tool to rank computing instances based on the system performance features.
However, Amar teaches causing the instance recommendation tool to rank computing instances based on the system performance features. (Amar par [0040] teaches ranking computing instances based on consumption metrics)
Therefore, it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention was made to combine the teaching of Eicher , Zheng and Amar to achieve the claimed invention. One would have been motivated to make such combination to perform training in a cost effective manner without hindering the performance of the application generating local data.(Amar par [0021])
As to claim 17, Eicher , Zheng and Amar teach the system of claim 16, wherein the system performance features include at least one of: average Graphic Processing Unit (GPU) utilization, minimum GPU utilization, maximum GPU utilization, average Central Processing Unit (CPU) utilization, minimum CPU utilization, maximum CPU utilization, average memory utilization, minimum memory utilization, maximum memory utilization, core temperature, memory bandwidth, cache usage, and power usage. (Eicher par [0021] teaches host utilization)
As to claim 18, Eicher , Zheng and Amar teach the system of claim 16, wherein the set of computing instance features includes at least one of: a number of Graphic Processing Units (GPUs), GPU memory, GPU memory type, GPU type, number of Central Processing Units (CPUs), number of virtual CPUs, CPU type, CPU memory, and CPU memory type. (Eicher par [0021] teaches host utilization)
As to claim 19, Eicher , Zheng and Amar teach the system of claim 16, wherein the set of machine learning model features includes at least one of: a number of floating point operations (FLOPs), number of layers, number of activations, number of parameters, and batch size. (Eicher par [0022] teaches the instance features 114 may include the size of the computing instance 112)
As to claim 20, Eicher , Zheng and Amar teach the system of claim 16, wherein the training dataset is generated by at least causing a set of machine learning models corresponding to the set of machine learning model features to executed the plurality of workloads using a plurality of computing instances. (Eicher par [0062] teaches the machine learning model may be created using the actual launch time prediction data that may include information for a plurality of computing instances that have been previously launched)
As to claim 21, Eicher , Zheng and Amar teach the system of claim 16, wherein causing the instance recommendation tool to rank computing instances further comprises causing the machine learning model to generate a set of performance features based on an indication of a metric to rank the set of computing instances. ( Zheng col 8, lines 17-20 teaches An MLS may collect metrics of various kinds from the resource set during the distributed training of the model, and provide them to a client via programmatic interfaces in various embodiments)
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HIEN DUONG whose telephone number is (571)270-7335. The examiner can normally be reached Monday-Friday 8:00AM-5:00PM.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Viker Lamardo can be reached at 571-270-5871. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HIEN L DUONG/Primary Examiner, Art Unit 2147