DETAILED 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 .
This action is in response to amendments and remarks filed on 12/26/2025. In the current amendments, claims are amended. Claims 1-20 are pending and have been examined.
In response to amendments and remarks filed on 12/26/2025, the drawings objections, the specification objections, the claim objections, the 35 U.S.C. 112(b) rejections, and the 35 U.S.C. 101 abstract idea rejections made in the previous office action are withdrawn.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-5, 14-16, and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Jyrki Alakuijala et al. (US 2021/0027195 A1), hereinafter Jyrki et al.
Regarding Claim 1,
Jyrki et al. teaches a model training method applied to a training apparatus ([0017]-[0019]: "the present disclosure is directed to systems and methods to compress and/or distribute machine-learning models … the systems and methods of the present disclosure can perform or enable one or more of: patching for model updates, distributed learning, training for quantization, training for patching, and/or transfer learning" teaches a method for compressing and/or distributing machine-learning models including model training. Fig. 1; [0036]: "FIG. 1 depicts a block diagram of an example computing system 100 that can perform compression and distribution of machine learning models according to example embodiments of the present disclosure. The system 100 includes a user computing device 102, a server computing device 140, and a training computing system 160" teaches a computing system 100 (includes training apparatus) for performing the disclosed embodiments (performing the method)), comprising:
sending, to a first device, a first submodel obtained by compressing a to-be-trained model (Fig. 1; Fig. 2; [0062]: "a computing device, such as server computing device 140 of FIG. 1, can obtain a machine learning model, for example, a machine learning model that is to be compressed for distribution to other computing systems" teaches that a machine learning model (to-be-trained model) can be compressed (submodel) for distribution to other computing devices (e.g. sent to a first device). Fig. 1; Fig. 2; [0070]: "the computing system can provide the quantized machine learning model, for example, to be distributed to other computing devices" teaches that the quantized/compressed machine learning model (submodel) is provided to other computing devices (e.g. submodel obtained from compressing/quantizing is sent to first device));
receiving, from the first device, a first gradient obtained when the first device trains the first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)); and
performing, by the training apparatus, model training on the to-be-trained model based on at least the first gradient, to obtain an updated to-be-trained model (Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus). Fig. 1; [0052]-[0054]: "The server computing device 140 can train the machine-learned models 150 via interaction with the training computing system 160 that is communicatively coupled over the network 180. The training computing system 160 can be separate from the server computing device 140 or can be a portion of the server computing device 140 … The training computing system 160 can include one or more model trainer (s) 170 that trains the machine-learned models 150 stored at the server computing device 140 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time) … the model trainer 170 can train a machine-learned model 150 based on a set of training data 172. The training data 172 can include centrally collected data or remotely obtained data" teaches that the server trains the machine learning model using the training computing system 160 using backwards propagation of errors (backpropagation computes gradients for model training) based on training data that has been remotely obtained (e.g. using the trained model parameters/gradients obtained from the remote user device)).
Regarding Claim 2,
Jyrki et al. teaches the method of claim 1.
In addition, Jyrki et al. further teaches wherein a storage resource for storing the first submodel is less than a storage resource for storing the to-be-trained model (Fig. 1; [0048]: "a model compressor 152 that can perform compression of one or more machine learning models 150 to reduce the size (e.g., the data storage and transfer requirements) of the machine-learned model(s)" teaches that the compression of a model reduces the data storage requirements indicating the storage resource for the compressed model (first submodel) is less than the initial storage resource).
Regarding Claim 3,
Jyrki et al. teaches the method of claim 1.
In addition, Jyrki et al. further teaches wherein a computing resource for training the first submodel is less than a computing resource for training the to-be-trained model ([0017]: "By reducing the size of the model, the systems and methods of the present disclosure can reduce the network and/or computational expense associated with transfer, storage, and/or use of the model" teaches that the computational expense for a compressed/reduced model (first submodel) requires/utilizes less resource than the initial model).
Regarding Claim 4,
Jyrki et al. teaches the method of claim 3.
In addition, Jyrki et al. further teaches wherein the computing resource comprises at least one of: a memory resource, a video random access memory resource, or a CPU resource (Fig. 1; [0045]: "The one or more processors 142 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected. The memory 106 can include one or more non-transitory computer-readable storage mediums, such as RAM, ROM, EEPROM, EPROM, flash memory devices, magnetic disks, etc., and combinations thereof" teaches that the computing resource comprises at least one of a memory resource, RAM, and/or a processing unit (e.g. CPU)).
Regarding Claim 5,
Jyrki et al. teaches the method of claim 1.
In addition, Jyrki et al. further teaches wherein the first submodel is obtained by performing, on the to-be-trained model, one or more model compression techniques including at least one of: pruning, knowledge distillation, or quantization (Fig. 1; Fig. 2; [0061]: "FIG. 2 depicts a flowchart diagram of an example method 200 of compressing machine-learning models via model quantization with loss management" teaches that the machine learning model (to-be-trained model) can be compressed (to obtain first submodel) using quantization).
Regarding Claim 14,
Jyrki et al. teaches a model training apparatus, wherein the apparatus comprises a memory and a processor, the memory stores code, and the processor is configured to execute the code ([0017]-[0019]: "the present disclosure is directed to systems and methods to compress and/or distribute machine-learning models … the systems and methods of the present disclosure can perform or enable one or more of: patching for model updates, distributed learning, training for quantization, training for patching, and/or transfer learning" teaches a system for compressing and/or distributing machine-learning models including model training. [0006]: "Another example aspect of the present disclosure is directed to a computing device. The computing device includes one or more processors; and one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the computing device to perform operations" teaches a computing device (system) for implementing the embodiments that comprises one or more processors and one or more computer-readable media (memory) that stores instructions (code) for execution by the processor), to perform:
sending, to a first device, a first submodel obtained by compressing a to-be-trained model (Fig. 1; Fig. 2; [0062]: "a computing device, such as server computing device 140 of FIG. 1, can obtain a machine learning model, for example, a machine learning model that is to be compressed for distribution to other computing systems" teaches that a machine learning model (to-be-trained model) can be compressed (submodel) for distribution to other computing devices (e.g. sent to a first device). Fig. 1; Fig. 2; [0070]: "the computing system can provide the quantized machine learning model, for example, to be distributed to other computing devices" teaches that the quantized/compressed machine learning model (submodel) is provided to other computing devices (e.g. submodel obtained from compressing/quantizing is sent to first device));
receiving, from the first device, a first gradient s obtained when the first device trains the first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)); and
performing model training on the to-be-trained model based on at least the first gradient, to obtain an updated to-be-trained model (Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus). Fig. 1; [0052]-[0054]: "The server computing device 140 can train the machine-learned models 150 via interaction with the training computing system 160 that is communicatively coupled over the network 180. The training computing system 160 can be separate from the server computing device 140 or can be a portion of the server computing device 140 … The training computing system 160 can include one or more model trainer (s) 170 that trains the machine-learned models 150 stored at the server computing device 140 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time) … the model trainer 170 can train a machine-learned model 150 based on a set of training data 172. The training data 172 can include centrally collected data or remotely obtained data" teaches that the server trains the machine learning model using the training computing system 160 using backwards propagation of errors (backpropagation computes gradients for model training) based on training data that has been remotely obtained (e.g. using the trained model parameters/gradients obtained from the remote user device)).
Regarding Claim 15,
Jyrki et al. teaches the apparatus of claim 14.
In addition, Jyrki et al. further teaches wherein a storage resource for storing the first submodel is less than a storage resource for storing the to-be-trained model (Fig. 1; [0048]: "a model compressor 152 that can perform compression of one or more machine learning models 150 to reduce the size (e.g., the data storage and transfer requirements) of the machine-learned model(s)" teaches that the compression of a model reduces the data storage requirements indicating the storage resource for the compressed model (first submodel) is less than the initial storage resource).
Regarding Claim 16,
Jyrki et al. teaches the apparatus of claim 14.
In addition, Jyrki et al. further teaches wherein a computing resource for training the first submodel is less than a computing resource for training the to-be-trained model ([0017]: "By reducing the size of the model, the systems and methods of the present disclosure can reduce the network and/or computational expense associated with transfer, storage, and/or use of the model" teaches that the computational expense for a compressed/reduced model (first submodel) requires/utilizes less resource than the initial model).
Regarding Claim 20,
Jyrki et al. teaches non-transitory computer-readable storage medium having instructions stored therein, which when executed by a processor, cause a training apparatus to perform operations ([0017]-[0019]: "the present disclosure is directed to systems and methods to compress and/or distribute machine-learning models … the systems and methods of the present disclosure can perform or enable one or more of: patching for model updates, distributed learning, training for quantization, training for patching, and/or transfer learning" teaches a system for compressing and/or distributing machine-learning models including model training. [0006]: "one or more non-transitory computer-readable media that store instructions that, when executed by the one or more processors, cause the computing device to perform operations" teaches a non-transitory computer-readable medium storing instructions for execution by a processor to cause a computing device (training apparatus) to perform operations), the operations comprising:
sending, to a first device, a first submodel obtained by compressing a to-be-trained model (Fig. 1; Fig. 2; [0062]: "a computing device, such as server computing device 140 of FIG. 1, can obtain a machine learning model, for example, a machine learning model that is to be compressed for distribution to other computing systems" teaches that a machine learning model (to-be-trained model) can be compressed (submodel) for distribution to other computing devices (e.g. sent to a first device). Fig. 1; Fig. 2; [0070]: "the computing system can provide the quantized machine learning model, for example, to be distributed to other computing devices" teaches that the quantized/compressed machine learning model (submodel) is provided to other computing devices (e.g. submodel obtained from compressing/quantizing is sent to first device));
receiving, from the first device, a first gradient obtained when the first device trains the first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)); and
performing, by the training apparatus, model training on the to-be-trained model based on at least the first gradient, to obtain an updated to-be-trained model (Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus). Fig. 1; [0052]-[0054]: "The server computing device 140 can train the machine-learned models 150 via interaction with the training computing system 160 that is communicatively coupled over the network 180. The training computing system 160 can be separate from the server computing device 140 or can be a portion of the server computing device 140 … The training computing system 160 can include one or more model trainer (s) 170 that trains the machine-learned models 150 stored at the server computing device 140 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time) … the model trainer 170 can train a machine-learned model 150 based on a set of training data 172. The training data 172 can include centrally collected data or remotely obtained data" teaches that the server trains the machine learning model using the training computing system 160 using backwards propagation of errors (backpropagation computes gradients for model training) based on training data that has been remotely obtained (e.g. using the trained model parameters/gradients obtained from the remote user device)).
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
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.
The factual inquiries for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
This application currently names joint inventors. In considering patentability of the claims the examiner presumes that the subject matter of the various claims was commonly owned as of the effective filing date of the claimed invention(s) absent any evidence to the contrary. Applicant is advised of the obligation under 37 CFR 1.56 to point out the inventor and effective filing dates of each claim that was not commonly owned as of the effective filing date of the later invention in order for the examiner to consider the applicability of 35 U.S.C. 102(b)(2)(C) for any potential 35 U.S.C. 102(a)(2) prior art against the later invention.
Claims 6, 8, 13, 17, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Jyrki et al. (US 2021/0027195 A1) in view of Sharma et al. (US 2021/0150330 A1).
Regarding Claim 6,
Jyrki et al. teaches the method of claim 1.
In addition, Jyrki et al. further teaches wherein the performing model training on the to-be-trained model based on at least the first gradient comprises: training the first submodel based on the first gradient, to obtain an updated first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized first submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized first submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)).
Jyrki et al. does not appear to explicitly teach performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model.
However, Sharma et al. teaches performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model ([0052]: "The first computing apparatus (e.g., the headquarters server) may further train a student model (i.e., the second trained machine learning model) for the task based on the plurality of first trained machine learning models using a teacher-student technique. During the training process of the student model, the plurality of first trained machine learning models may serve as multiple teacher models. The student model may learn from the multiple teacher models (i.e., the first trained machine learning models) to achieve better performance and generalization than the multiple teacher models" teaches a knowledge distillation teacher-student technique for training a student model (to-be-trained model) based on a trained teacher model (updated/trained first submodel). [0061]: "The trained second machine learning model may be updated from time to time, e.g., periodically or not, based on a sample set that is at least partially different from the original sample set from which the original trained second machine learning model is determined and/or based on the updating of the first trained machine learning model " teaches that the second ML model (student model) is trained based on the updating of the first trained ML model (teacher model)).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model as taught by Sharma et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification because "the multi-stage modeling based on a teacher-student training technique as disclosed herein may improve the efficiency of model training" (Sharma et al. [0052]).
Regarding Claim 8,
Jyrki et al. teaches the method of claim 1.
Jyrki et al. does not appear to explicitly teach the method further comprising: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, the second submodel being different from the first submodel; and receiving, from the second device, a second gradient obtained when the second device trains the second submodel; and wherein the performing model training on the to-be-trained model based on at least the first gradient comprises: performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model.
However, Sharma et al. teaches the method further comprising: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, the second submodel being different from the first submodel ([0094]-[0095]: "In some embodiments, using the teacher-student training technique, the first computing apparatus 120 may train a second machine learning model based on outputs of the plurality of first trained machine learning… In 507, the first computing apparatus 120 (e.g., the transmission module 406) may transmit the second trained machine learning model to at least one of the multiple second computing apparatuses" teaches that a second machine learning model (second submodel) is a student model of a teacher-student training technique (a compressed version of the teacher) that is transmitted to a second computing apparatus (second device)); and
receiving, from the second device, a second gradient obtained when the second device trains the second submodel ([0112]-[0113]: "The second machine learning model 705 (also referred to as a student model) … The second machine learning model 705 may be updated by adjusting the parameters WB based on the value of the loss function. The values of the parameters WB may be updated by performing an iteration of a backpropagation training procedure, e.g., a stochastic gradient descent backpropagation training technique, to determine the updated values of the parameters WB of the second machine learning model" teaches that the second machine learning model (second submodel) is trained using gradient descent backpropagation to update parameters of the second machine learning model (second submodel) (i.e. a second gradient from training the second submodel is obtained)); and
wherein the performing model training on the to-be-trained model based on at least the first gradient comprises: performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model ([0087]: "A first trained machine learning model may be provided by one of the multiple second computing apparatuses via training a first machine learning model using a plurality of first training samples… A first trained machine learning model may be trained using the plurality of first training samples based on a training algorithm. Exemplary training algorithms may include a gradient descent algorithm… a conjugate gradient algorithm, or the like, or a combination thereof… at least one of the plurality of first trained machine learning models may be generated by one of the multiple second computing apparatuses using a distributed learning technique" teaches that the machine learning model (to-be-trained model) is trained via first training samples based on a conjugate gradient descent algorithm, that combines a first and second gradient to update the (to-be-trained) model via a distributed learning technique combining first and second models).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the method further comprising: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, the second submodel being different from the first submodel; and receiving, from the second device, a second gradient obtained when the second device trains the second submodel; and wherein the performing model training on the to-be-trained model based on at least the first gradient comprises: performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model as taught by Sharma et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification because "the multi-stage modeling based on a teacher-student training technique as disclosed herein may improve the efficiency of model training" (Sharma et al. [0052]).
Regarding Claim 13,
Jyrki et al. in view of Sharma et al. teaches the method of claim 8.
In addition, Jyrki et al. further teaches wherein the performing model training on the to-be-trained model based on the first gradient and the second gradient comprises: training the first submodel based on the first gradient, to obtain the updated first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized first submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized first submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)).
Additionally, Sharma et al. further teaches training the second submodel based on the second gradient, to obtain an updated second submodel ([0112]-[0113]: "the teacher-student training framework 700… second machine learning model 705 (also referred to as a student model) may learn from the plurality of first trained machine learning models … The second machine learning model 705 may generate an estimated output 709 based on the training sample. The plurality of reference outputs and the estimated output 709 may be inputted into a loss function layer 711 that is configured with a loss function (i.e., cost function)… The second machine learning model 705 may be updated by adjusting the parameters WB based on the value of the loss function. The values of the parameters WB may be updated by performing an iteration of a backpropagation training procedure, e.g., a stochastic gradient descent backpropagation training technique, to determine the updated values of the parameters WB of the second machine learning model" teaches that the second machine learning model (second submodel) is trained using gradient descent backpropagation to update parameters of the second machine learning model (second submodel) (i.e. a second gradient from training the second submodel is obtained)); and
performing knowledge distillation on the to-be-trained model by using the updated first submodel and the updated second submodel as teacher models and the to-be-trained model as a student model, to obtain the updated to-be-trained model ([0052]: "During the training process of the student model, the plurality of first trained machine learning models may serve as multiple teacher models. The student model may learn from the multiple teacher models… to achieve better performance and generalization than the multiple teacher models" teaches a knowledge distillation teacher-student technique for training a student model (to-be-trained model) based on multiple trained teacher models (updated/trained first and second submodels). [0061]: "a first trained machine learning model may be updated from time to time, e.g., periodically or not, based on a sample set that is at least partially different from the original sample set from which the original first trained machine learning model is determined. The first trained machine learning models may be updated synchronously or asynchronously by the one or more second computing apparatus 110" teaches that the multiple first trained machine learning models (teacher models) are updated periodically from a partially different sample set of the original first machine learning model, indicating the models are submodels of the original model).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate training the second submodel based on the second gradient, to obtain an updated second submodel; and performing knowledge distillation on the to-be-trained model by using the updated first submodel and the updated second submodel as teacher models and the to-be-trained model as a student model, to obtain the updated to-be-trained model as taught by Sharma et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification because "the multi-stage modeling based on a teacher-student training technique as disclosed herein may improve the efficiency of model training" (Sharma et al. [0052]).
Regarding Claim 17,
Jyrki et al. teaches the apparatus of claim 14.
In addition, Jyrki et al. further teaches wherein the processor is configured to execute the code, to perform: training the first submodel based on the first gradient, to obtain an updated first submodel (Fig. 1; [0040]: "the one or more machine-learned models 112 can be received from the server computing device 140 over network 180, stored in the user computing device memory 108, and then used or otherwise implemented by the one or more processors 104. In some implementations, the user computing device 102 can implement multiple parallel instances of a single machine-learned model 112" teaches that the user device (e.g. first device) can receive a machine learning model (e.g. the compressed/quantized first submodel) from the server device (includes training apparatus) and can implement instances/submodels of the machine learning model. Fig. 1; [0042]: "The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" teaches that the user device (first device) trains the received machine learning model (e.g. the compressed/quantized first submodel) using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server (includes training apparatus)).
Jyrki et al. does not appear to explicitly teach performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model.
However, Sharma et al. teaches performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model ([0052]: "The first computing apparatus (e.g., the headquarters server) may further train a student model (i.e., the second trained machine learning model) for the task based on the plurality of first trained machine learning models using a teacher-student technique. During the training process of the student model, the plurality of first trained machine learning models may serve as multiple teacher models. The student model may learn from the multiple teacher models (i.e., the first trained machine learning models) to achieve better performance and generalization than the multiple teacher models" teaches a knowledge distillation teacher-student technique for training a student model (to-be-trained model) based on a trained teacher model (updated/trained first submodel). [0061]: "The trained second machine learning model may be updated from time to time, e.g., periodically or not, based on a sample set that is at least partially different from the original sample set from which the original trained second machine learning model is determined and/or based on the updating of the first trained machine learning model " teaches that the second ML model (student model) is trained based on the updating of the first trained ML model (teacher model)).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate performing knowledge distillation on the to-be-trained model by using at least the updated first submodel as a teacher model and the to-be-trained model as a student model, to obtain the updated to-be-trained model as taught by Sharma et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification because "the multi-stage modeling based on a teacher-student training technique as disclosed herein may improve the efficiency of model training" (Sharma et al. [0052]).
Regarding Claim 19,
Jyrki et al. teaches the apparatus of claim 14.
Jyrki et al. does not appear to explicitly teach wherein the processor is configured to execute the code, to perform: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, and the second submodel is different from the first submodel; and receiving, from the second device, a second gradient obtained when the second device trains the second submodel; and performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model.
However, Sharma et al. teaches wherein the processor is configured to execute the code, to perform: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, and the second submodel is different from the first submodel ([0094]-[0095]: "In some embodiments, using the teacher-student training technique, the first computing apparatus 120 may train a second machine learning model based on outputs of the plurality of first trained machine learning… In 507, the first computing apparatus 120 (e.g., the transmission module 406) may transmit the second trained machine learning model to at least one of the multiple second computing apparatuses" teaches that a second machine learning model (second submodel) is a student model of a teacher-student training technique (a compressed version of the teacher) that is transmitted to a second computing apparatus (second device)); and
receiving, from the second device, a second gradient obtained when the second device trains the second submodel ([0112]-[0113]: "The second machine learning model 705 (also referred to as a student model) … The second machine learning model 705 may be updated by adjusting the parameters WB based on the value of the loss function. The values of the parameters WB may be updated by performing an iteration of a backpropagation training procedure, e.g., a stochastic gradient descent backpropagation training technique, to determine the updated values of the parameters WB of the second machine learning model" teaches that the second machine learning model (second submodel) is trained using gradient descent backpropagation to update parameters of the second machine learning model (second submodel) (i.e. a second gradient from training the second submodel is obtained)); and
performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model ([0087]: "A first trained machine learning model may be provided by one of the multiple second computing apparatuses via training a first machine learning model using a plurality of first training samples… A first trained machine learning model may be trained using the plurality of first training samples based on a training algorithm. Exemplary training algorithms may include a gradient descent algorithm… a conjugate gradient algorithm, or the like, or a combination thereof… at least one of the plurality of first trained machine learning models may be generated by one of the multiple second computing apparatuses using a distributed learning technique" teaches that the machine learning model (to-be-trained model) is trained via first training samples based on a conjugate gradient descent algorithm, that combines a first and second gradient to update the (to-be-trained) model via a distributed learning technique combining first and second models).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the processor is configured to execute the code, to perform: sending, to a second device, a second submodel obtained by compressing the to-be-trained model, and the second submodel is different from the first submodel; and receiving, from the second device, a second gradient obtained when the second device trains the second submodel; and performing model training on the to-be-trained model based on the first gradient and the second gradient, to obtain the updated to-be-trained model as taught by Sharma et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification because "the multi-stage modeling based on a teacher-student training technique as disclosed herein may improve the efficiency of model training" (Sharma et al. [0052]).
Claims 7 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Jyrki et al. (US 2021/0027195 A1) in view of Bourges-Sevenier et al. (US 2019/0325314 A1).
Regarding Claim 7,
Jyrki et al. teaches the method of claim 1.
Jyrki et al. does not appear to explicitly teach the method further comprising: obtaining a data processing capability of the first device, the data processing capability comprising at least one of: an available storage resource or an available computing resource; and obtaining, based on a first mapping relationship, the first submodel corresponding to the first device, wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel, and wherein, in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel.
However, Bourges-Sevenier et al. teaches the method further comprising: obtaining a data processing capability of the first device, the data processing capability comprising at least one of: an available storage resource or an available computing resource ([0037]: "example scheduler 275 uses the additional metadata embedded by the packager 255 to coordinate decisions on which devices, with which resources, for what expected quantization error, and so on, tasks should be executed. Such metadata includes, for example, a hardware description on which the model and/or portions thereof can be executed, estimated memory requirements for the model and/or portions thereof, number of processing units required to execute the model and/or portions thereof, a quantization error for the model and/or portions thereof, etc." teaches obtaining a data processing capability of a device including memory (storage resource) availability and hardware/processing units (computing resource) availability); and
obtaining, based on a first mapping relationship, the first submodel corresponding to the first device ([0039]-[0040]: "In a heterogeneous system, a DNN model may run on multiple different hardware devices. The example program 270 typically ships with (and/or accesses) a trained model with a generic precision that can be split, quantized, and/or compressed for all devices it runs on that system. Based on the complexity of data movement and arithmetic throughput of each device, portions of the model (e.g., groups of nodes, layers, etc.) can be executed in parallel… portions of the model may be more efficiently executed by different devices… In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU). The second group of nodes 320 is executed by a graphics processing unit (GPU). The third group of nodes 330 is executed by a digital signal processor (DSP)" teaches that the program selects a model that matches device capabilities, representing a mapping relationship of a first model to a first device),
wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel ([0037]: "example scheduler 275 uses the additional metadata embedded by the packager 255 to coordinate decisions on which devices, with which resources, for what expected quantization error, and so on, tasks should be executed. Such metadata includes, for example, a hardware description on which the model and/or portions thereof can be executed… number of processing units required to execute the model and/or portions thereof" teaches that the example scheduler maps (mapping relationship) the model portions (submodels) that can be executed based on processing unit requirements (data processing capability)), and
wherein, in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel ([0040]: "portions of the model may be more efficiently executed by different devices… In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU)" teaches that the program selects a model that matches device capabilities, representing a mapping relationship and the first group of nodes (first submodel) corresponds/maps to and is executed independently by a CPU device (first device), representing a mapping relationship of a first model to a first device).
Jyrki et al. is analogous to the claimed invention because it is directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the method further comprising: obtaining a data processing capability of the first device, the data processing capability comprising at least one of: an available storage resource or an available computing resource; and obtaining, based on a first mapping relationship, the first submodel corresponding to the first device, wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel, and wherein, in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Regarding Claim 18,
Jyrki et al. teaches the apparatus of claim 14.
Jyrki et al. does not appear to explicitly teach wherein the processor is configured to execute the code, to perform: obtaining a data processing capability of the first device, wherein the data processing capability comprises at least one of: an available storage resource or an available computing resource; and obtaining, based on a first mapping relationship, the first submodel corresponding to the first device, wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel, and in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel.
However, Bourges-Sevenier et al. teaches wherein the processor is configured to execute the code, to perform: obtaining a data processing capability of the first device, wherein the data processing capability comprises at least one of: an available storage resource or an available computing resource ([0037]: "example scheduler 275 uses the additional metadata embedded by the packager 255 to coordinate decisions on which devices, with which resources, for what expected quantization error, and so on, tasks should be executed. Such metadata includes, for example, a hardware description on which the model and/or portions thereof can be executed, estimated memory requirements for the model and/or portions thereof, number of processing units required to execute the model and/or portions thereof, a quantization error for the model and/or portions thereof, etc." teaches obtaining a data processing capability of a device including memory (storage resource) availability and hardware/processing units (computing resource) availability); and
obtaining, based on a first mapping relationship, the first submodel corresponding to the first device ([0039]-[0040]: "In a heterogeneous system, a DNN model may run on multiple different hardware devices. The example program 270 typically ships with (and/or accesses) a trained model with a generic precision that can be split, quantized, and/or compressed for all devices it runs on that system. Based on the complexity of data movement and arithmetic throughput of each device, portions of the model (e.g., groups of nodes, layers, etc.) can be executed in parallel… portions of the model may be more efficiently executed by different devices… In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU). The second group of nodes 320 is executed by a graphics processing unit (GPU). The third group of nodes 330 is executed by a digital signal processor (DSP)" teaches that the program selects a model that matches device capabilities, representing a mapping relationship of a first model to a first device),
wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel ([0037]: "example scheduler 275 uses the additional metadata embedded by the packager 255 to coordinate decisions on which devices, with which resources, for what expected quantization error, and so on, tasks should be executed. Such metadata includes, for example, a hardware description on which the model and/or portions thereof can be executed… number of processing units required to execute the model and/or portions thereof" teaches that the example scheduler maps (mapping relationship) the model portions (submodels) that can be executed based on processing unit requirements (data processing capability)), and
in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel ([0040]: "portions of the model may be more efficiently executed by different devices… In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU)" teaches that the program selects a model that matches device capabilities, representing a mapping relationship and the first group of nodes (first submodel) corresponds/maps to and is executed independently by a CPU device (first device), representing a mapping relationship of a first model to a first device).
Jyrki et al. is analogous to the claimed invention because it is directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the processor is configured to execute the code, to perform: obtaining a data processing capability of the first device, wherein the data processing capability comprises at least one of: an available storage resource or an available computing resource; and obtaining, based on a first mapping relationship, the first submodel corresponding to the first device, wherein the first mapping relationship comprises a correspondence between a data processing capability and a submodel, and in the first mapping relationship, the data processing capability of the first device corresponds to the first submodel as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Claims 9-12 are rejected under 35 U.S.C. 103 as being unpatentable over Jyrki et al. (US 2021/0027195 A1) in view of Sharma et al. (US 2021/0150330 A1) and further in view of Bourges-Sevenier et al. (US 2019/0325314 A1).
Regarding Claim 9,
Jyrki et al. in view of Sharma et al. teaches the method of claim 8.
In addition, Jyrki et al. further teaches the data processing capability comprises at least one of: an available storage resource or an available computing resource (Fig 1; [0038]: "The user computing device 102 includes one or more processors 104 and a memory 106. The one or more processors 104 can be any suitable processing device (e.g., a processor core, a microprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.) and can be one processor or a plurality of processors that are operatively connected" teaches that the user device data processing capability is based on the available memory (storage resource) and the available processing device (computing resource)).
Jyrki et al. in view of Sharma et al. does not appear to explicitly teach wherein the data processing capability of the first device is different from a data processing capability of the second device.
However, Bourges-Sevenier et al. further teaches wherein the data processing capability of the first device is different from a data processing capability of the second device ([0039]-[0040]: "FIG. 3 is a schematic illustration of an example neural network 300 having groups of nodes to be executed by heterogeneous hardware. The example neural network 300 of FIG. 3 includes a first group of nodes 310, a second group of nodes 320, and a third group of nodes 330 … In some examples, portions of the model may be more efficiently executed by different devices … In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU). The second group of nodes 320 is executed by a graphics processing unit (GPU)" teaches that the first and second devices may be a CPU and a GPU, which have different processing capabilities).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the data processing capability of the first device is different from a data processing capability of the second device as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al. in view of Sharma et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Regarding Claim 10,
Jyrki et al. in view of Sharma et al. teaches the method of claim 8.
Jyrki et al. in view of Sharma et al. does not appear to explicitly teach wherein the storage resource for storing the first submodel is different from a storage resource for storing the second submodel.
However, Bourges-Sevenier et al. further teaches wherein the storage resource for storing the first submodel is different from a storage resource for storing the second submodel ([0039]: "FIG. 3 is a schematic illustration of an example neural network 300 having groups of nodes to be executed by heterogeneous hardware. The example neural network 300 of FIG. 3 includes a first group of nodes 310, a second group of nodes 320…In a heterogeneous system, a DNN model may run on multiple different hardware devices… Based on the complexity of data movement and arithmetic throughput of each device, portions of the model (e.g., groups of nodes, layers, etc.) can be executed in parallel to hide data transfer latency between memory sub-systems" teaches that the groups of nodes of the neural network (submodels) are executed in separate memory sub-systems (i.e. have different storage resources)).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the storage resource for storing the first submodel is different from a storage resource for storing the second submodel as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al. in view of Sharma et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Regarding Claim 11,
Jyrki et al. in view of Sharma et al. teaches the method of claim 8.
Jyrki et al. in view of Sharma et al. does not appear to explicitly teach wherein the computing resource for training the first submodel is different from a computing resource for training the second submodel.
However, Bourges-Sevenier et al. further teaches wherein the computing resource for training the first submodel is different from a computing resource for training the second submodel ([0039]-[0040]: "FIG. 3 is a schematic illustration of an example neural network 300 having groups of nodes to be executed by heterogeneous hardware. The example neural network 300 of FIG. 3 includes a first group of nodes 310, a second group of nodes 320, and a third group of nodes 330 … In some examples, portions of the model may be more efficiently executed by different devices … In the illustrated example of FIG. 3, the first group of nodes 310 is executed by a central processing unit (CPU). The second group of nodes 320 is executed by a graphics processing unit (GPU)" teaches that the groups of nodes of the neural network (submodels) are executed in separate processing units of a CPU and a GPU, which have different processing capabilities).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the computing resource for training the first submodel is different from a computing resource for training the second submodel as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al. in view of Sharma et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Regarding Claim 12,
Jyrki et al. in view of Sharma et al. teaches the method of claim 8.
Jyrki et al. in view of Sharma et al. does not appear to explicitly teach wherein the second submodel is obtained by performing at least one of the following model compression techniques on the to-be-trained model: pruning, knowledge distillation, or quantization.
However, Bourges-Sevenier et al. further teaches wherein the second submodel is obtained by performing at least one of the following model compression techniques on the to-be-trained model: pruning, knowledge distillation, or quantization ([0039]: "The example neural network 300 of FIG. 3 includes a first group of nodes 310, a second group of nodes 320, and a third group of nodes 330. In a heterogeneous system, a DNN model may run on multiple different hardware devices… The example program 270 typically ships with (and/or accesses) a trained model with a generic precision that can be split, quantized, and/or compressed for all devices it runs on that system" teaches that machine learning model may be compressed/quantized to obtained a second group of nodes (second submodel)).
Jyrki et al. and Sharma et al. are analogous to the claimed invention because they are directed towards machine learning model training.
Bourges-Sevenier et al. is analogous to the claimed invention because it is directed towards efficient implementation of machine learning models based on available computing resource capabilities.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate wherein the second submodel is obtained by performing at least one of the following model compression techniques on the to-be-trained model: pruning, knowledge distillation, or quantization as taught by Bourges-Sevenier et al. to the disclosed invention of Jyrki et al. in view of Sharma et al.
One of ordinary skill in the art would have been motivated to make this modification to "improve the efficiency of using a computing device by quantizing parameters of ... models and enabling efficient scheduling of operations based on hardware-specific features" (Bourges-Sevenier et al. [0080]).
Response to Arguments
Applicant’s arguments, filed 12/26/2025, with respect to the drawing objections have been fully considered and are persuasive. Therefore, the drawings objections have been withdrawn.
Applicant’s arguments, filed 12/26/2025, with respect to the specification objections have been fully considered and are persuasive. Therefore, the specification objections have been withdrawn.
Applicant’s arguments, filed 12/26/2025, with respect to the claim objections have been fully considered and are persuasive. Therefore, the claim objections have been withdrawn.
Applicant’s arguments, filed 12/26/2025, with respect to the claim rejections under 35 U.S.C. 112(b) have been fully considered and are persuasive. Therefore, the 35 U.S.C. 112(b) rejections have been withdrawn.
Applicant’s arguments, filed 12/26/2025, with respect to the 35 U.S.C. 101 abstract idea rejections have been fully considered and are persuasive. Therefore, the 35 U.S.C. 101 abstract idea rejections have been withdrawn.
Applicant's arguments, filed 12/26/2025, with respect to the 35 U.S.C. 102 and 103 prior art rejections to claims 1-20 have been fully considered but they are not persuasive. Applicant asserts “It is respectfully submitted claim 1 includes at least one limitation that is not disclosed or suggested by the reference. Specifically, for example, claim 1 recites as follows:
A model training method applied to a training apparatus, comprising:
sending, to a first device, a first submodel obtained by compressing a to-be-trained model;
receiving, from the first device, a first gradient obtained when the first device trains the first submodel; and
performing, by the training apparatus, model training on the to-be-trained model based on at least the first gradient, to obtain an updated to-be-trained model.
(emphasis added).
It is respectfully submitted that Jyrki does not disclose the above emphasized claim limitations.
For example, the Office Action contends that paragraph 42 of Jyrki discloses the emphasized features "performing, by the training apparatus, model training on the to-be- trained model based on at least the first gradient, to obtain an updated to-be-trained model" as recited in amended claim 1. (Office Action, p. 37).
Paragraph 42 of Jyrki only discloses that "some information about the trained model's parameters" from the user computing device is delivered back to the server. While this suggests that model parameters are transmitted, Jyrki is silent regarding any subsequent use of those parameters to further train a different, to-be-trained model. In particular, Jyrki does not indicate that the model trained on the user device is a submodel of the to-be-trained model. The mere delivery of parameters does not imply that the server performs an additional training step on a to-be-trained model using these parameters. Consequently, Jyrki fails to disclose at least the following features: (1) the existence of a submodel trained at the user device, and (2) a subsequent training process at the server that incorporates those parameters into a separate to-be-trained model.
Therefore, in view of above, Applicants respectfully submit that claim 1 is patentable over the cited references.
Similar arguments can be applied to independent claims 14 and 20 similar to those recited for claim 1. Thus, for the reasons similar to those discussed above, independent claims 14 and 20 are patentable over the cited references. Given that the rest of the claims depend from one of the above independent claims, at least for the reasons similar to those discussed above, it is respectfully submitted that the rest of the claims are patentable over the cited references.
Claims 6, 8, 13, 17, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Jyrki in view of Sharma (US 20210150330 Al; hereinafter Sharma).
Claims 7 and 18 are rejected under 35 U.S.C. 103 as being unpatentable over Jyrki in view of Bourges-Sevenier (US 20190325314 Al; hereinafter Bourges).
Claims 9-12 are rejected under 35 U.S. C. 103 as being unpatentable over Jyrki in view of Sharma and further in view of Bourges.
Claims 6-13 and 17-19 depend on one of the above independent claims. It is submitted Sharma and Bourges also fail to disclose or suggest the limitations set forth above.
Sharma relates to an apparatus that trains a second model from a plurality of first models. Sharma, abstract. Bourges relates to quantizing a model layer based on execution constraints, and packing these representations into a binary for efficient execution. Bourges, abstract. Sharma and Bourges, however, do not disclose the above emphasized features in claim 1. According, Sharma and Bourges fail to disclose the above emphasized claim limitations. Therefore, for reasons set forth above, it is respectfully submitted claims 1-20 are also patentable over the above cited references.” (Remarks Pages 19-20).
Examiner’s Response:
The examiner respectfully disagrees. Regarding claim 1, the examiner respectfully disagrees to applicant’s assertion that “performing, by the training apparatus, model training on the to-be-trained model based on at least the first gradient, to obtain an updated to-be-trained model” is at least not disclosed by the cited prior arts. In particular, examiner points to paragraphs [0042] and [0052]-[0054] of Jyrki Alakuijala et al. (US 2021/0027195 A1), which specifically disclose, with respect to Fig. 1, “The user computing device 102 can also include model trainer(s) 114. The model trainer 114 can train or re-train machine-learned models 112 stored at user computing device 102 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time). In particular, the model trainer 114 can train or re-train one or more of the machine-learned models 112 using locally stored data as training data. The model trainer 114 can perform a number of generalization techniques to improve the generalization capability of the models being trained. In some implementations, some information about the trained model's parameters can be delivered by the user computing device 102 back to the server computing device 140" (i.e. the user device trains the received compressed/quantized machine learning model using backwards propagation of errors (backpropagation computes gradients for model training) and provides the trained model parameters (e.g. gradients) back to the server device) and "The server computing device 140 can train the machine-learned models 150 via interaction with the training computing system 160 that is communicatively coupled over the network 180. The training computing system 160 can be separate from the server computing device 140 or can be a portion of the server computing device 140 … The training computing system 160 can include one or more model trainer (s) 170 that trains the machine-learned models 150 stored at the server computing device 140 using various training or learning techniques, such as, for example, backwards propagation of errors (e.g., truncated backpropagation through time) … the model trainer 170 can train a machine-learned model 150 based on a set of training data 172. The training data 172 can include centrally collected data or remotely obtained data" (i.e. the server device trains the machine learning model using the training computing system 160 using backwards propagation of errors (backpropagation computes gradients for model training) based on training data that has been remotely obtained (e.g. using the trained model parameters/gradients obtained from the remote user device)). The user device uses backpropagation (which computes gradients) to train the compressed model (submodel) received from the server device and sends trained model parameters (e.g. including gradients) back to the server device, which trains the machine learning model (to-be-trained model) with backpropagation (e.g. using gradients) with the training computing system using the remotely obtained training data to update/train the machine learning model on the server device.
Applicant relies on the arguments above regarding independent claims 14 and 20 and dependent claims 2-13 and 15-19 therefore the response above is applicable to those claims.
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 BRIAN J HALES whose telephone number is (571)272-0878. The examiner can normally be reached M-F 9: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, Kamran Afshar can be reached at (571) 272-7796. 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.
/BRIAN J HALES/Examiner, Art Unit 2125
/KAMRAN AFSHAR/Supervisory Patent Examiner, Art Unit 2125