DETAILED ACTION
This Action is responsive to claims filed 06/24/2025.
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 .
Status of the Claims
Claims 1, 10, and 18 are amended. Claims 12, 15, and 21 are cancelled. Claims 1-11, 13-14, and 16-20 are pending.
Response to Amendment
The issue regarding the extra page of claims 20 and 21 has been resolved. The previous objection has been withdrawn.
Applicant’s arguments, see Pages 7-15, filed 06/24/2025, with respect to the rejection(s) of claim(s) 1-11, 13-14, and 16-21 under 35 U.S.C. 103 have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new ground(s) of rejection is made in view of Zhao et al. (BaPipe: Exploration of Balanced Pipeline Parallelism for DNN Training, 2020) and Chen et al. (EFFICIENT AND ROBUST PARALLEL DNN TRAINING THROUGH MODEL PARALLELISM ON MULTI-GPU PLATFORM, 2019).
Claim Rejections - 35 USC § 103
The text of those sections of Title 35, U.S. Code not included in this action can be found in a prior Office action.
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.
Claim(s) 1-11, 13-14, and 16-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhao et al. (BaPipe: Exploration of Balanced Pipeline Parallelism for DNN Training, 2020), hereinafter BaPipe, and Chen et al. (EFFICIENT AND ROBUST PARALLEL DNN TRAINING THROUGH MODEL PARALLELISM ON MULTI-GPU PLATFORM, 2019), hereinafter SpecTrain.
In regards to claim 1: The present invention claims: “A computer system comprising: one or more processors; and a non-transitory computer readable storage medium coupled to the one or more processors and having stored thereon program code executable by the one or more processors to…” See BaPipe’s Evaluation section IV (pages 5-6) for hardware and software implementation.
“train, using plurality of data samples, an artificial intelligence model in a plurality of stages forming a pipeline, the pipeline including a first stage and a last stage, each of the plurality of stages of the pipeline performing a forward pass calculation based on a particular weight, a backward pass calculation based on the particular weight, and a weight update calculation based on the particular weight for at least some of the plurality of data samples” BaPipe teaches “In this section, we present BaPipe, a novel distributed DNN training framework with intra-batch pipeline parallelism.” (Page 2, Section III); “The partition algorithm partitions the network into several stages across accelerators to balance the computational load, communication cost, and memory consumption.” (Page 3, Section III); “FS/FR denotes the time to send/receive outputs/inputs features in FP while BS/BR denotes the time to send/receive outputs/ inputs error in BP. Also, we assume all input/output activation/error of each stage is the same so that the FS, FR, BS, and BR of each accelerator are all same.” (Page 4, left column); and “such as 8 micro-batches in Fig. 3, and updates weights after backward propagation of each mini-batch to ensure the convergence of training and decrease memory requirement of weight stashing.” (Page 3, right column).
While BaPipe does teach intra-batch or pipeline synchronizing (Figures 3, 4, at least), BaPipe fails to explicitly teach: “synchronously apply updated weights to the plurality of stages during a same timestep occurring at one or more predetermined intervals during a steady state operation of the training of the artificial intelligence model, at least one of the predetermined intervals occurring when a weight update calculation of the last stage has been performed based on a particular data sample and a weight update calculation of the first stage has not been performed based on the particular data sample;”,
“within the pipeline, perform the weight update calculation for a first data sample at the last stage of the plurality of stages;”, and
“and subsequent to performing the weight update calculation for the first data sample at the last stage, selectively skip the weight update calculation for the first data sample at a select stage in response to determining that the weight update calculation for the first data sample is based on stale data.”
However, SpecTrain, in a similar field of endeavor of DNN training, teaches using a predicted weight, rather than calculating weights each stage, until the final stage finishes and the update operation is performed (Section 3.2 and Figure 7(d)). This reasonably reads on delaying (or skipping) individual weight update calculations in favor of using a predicted weight until a last stage is reached and a weight update operation can be performed synchronously. This method is to mitigate weight staleness during computation before an update operation.
SpecTrain highlights its uses in training efficiency and as answer to weight staleness in DNN training (Sections 2.3, 3.1, at least. It would have been obvious to one of ordinary skill in the art at the time of the Applicant’s filing to combine the staleness-mitigating strategies of SpecTrain in a method such as BaPipe to improve the intra-batch parallelization and computation.
In regards to claim 2: The present invention claims: “wherein an updated weight applied to the last stage is based on the particular data sample, and an updated weight applied to the first stage is not based on the particular data sample.” SpecTrain reasonably reads on the broad recitation of a weight update being applied to a last stage without being based on a particular data sample, given the weight update calculations are based on a predicted update following the trend towards the last stage, rather that intermediate stages.
In regards to claim 3: The present invention claims: “wherein a second interval occurs after a first interval, and an updated weight applied to the first stage at a second interval is based on a first data sample used in a forward pass calculation during the first interval.” A combination of BaPipe and SpecTrain reads on claim 3. It would have been obvious to one of ordinary skill in the art to continue using a similar method and the current updated weights as proposed in the combination of BaPipe and SpecTrain in subsequent training iterations or between mini-/micro-batches.
In regards to claim 4: The present invention claims: “wherein the weight update calculation of the first stage is not performed based on the particular data sample during the training of the artificial intelligence model.” SpecTrain reasonable reads on the broad recitation of claim 4, given that SpecTrain is not calculating a predicted weight based on any given data sample, but rather a weight trend (Page 5, Weight Prediction).
In regards to claim 5: The present invention claims: “wherein the program code executable by the one or more processors to store, at the first stage, the updated weight and a previous weight used in calculating the updated weight.” BaPipe references storing weights similar to Pipedream (Page 2, Section II) and it would be reasonable to store weights or previous weights in the calculation of a weight trend such as in SpecTrain.
In regards to claim 6: The present invention claims: “wherein the pipeline is not flushed out prior to the applying of the updated weights to the plurality of stages.” Neither BaPipe nor SpecTrain make reference to flushing the pipeline prior to applying the weight update, explicitly. The Examiner interprets this as counterintuitive to SpecTrain’s use of a predicted weight calculation.
In regards to claim 7: The present invention claims: “wherein each backward pass calculation at a particular stage of the pipeline is based on a same weight as a corresponding forward pass calculation when the corresponding forward pass calculation is performed before an updated weight is applied to the particular stage and the backward pass calculation is performed after the updated weight is applied to the particular stage.” SpecTrain utilizes the predicted weight for forward and backward pass calculations for the various stages before an update is performed (Figure 7(d)).
In regards to claim 8: The present invention claims: “wherein the training of the artificial intelligence model is completed while only flushing data from the pipeline once.” Neither BaPipe nor SpecTrain make reference to flushing the pipeline prior to applying the weight update, explicitly. The Examiner interprets flushing the pipeline repeatedly as counterintuitive to SpecTrain’s use of a predicted weight calculation between mini-/micro-batches or training iterations.
In regards to claim 9: The present invention claims: “wherein the artificial intelligence model is an artificial neural network.” Both BaPipe and SpecTrain are for training DNNs.
In regards to claims 10-11, 13-14, and 16-17: Claims 10-11, 13-14, and 16-17 recite similar limitations to those contained in claims 1-9, with the exception of “A method...”, therefore, both sets of claims are similarly rejected.
In regards to claims 18-20: Claim 18-20 recite similar limitations to those contained claims 1-9, with the exception of “A non-transitory computer readable storage medium...”, therefore, both sets of claims are similarly rejected.
References Not Cited
The following references have been found to be relevant to the present Application, but have not been used for the Rejection herein:
Huang, Yanping, et al. "Gpipe: Efficient training of giant neural networks using pipeline parallelism." Advances in neural information processing systems 32 (2019).
Zhao, Xing, et al. "Dynamic stale synchronous parallel distributed training for deep learning." 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS). IEEE, 2019.
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 GRIFFIN T BEAN whose telephone number is (703)756-1473. The examiner can normally be reached M - F 7:30 - 4:30.
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, Li Zhen can be reached at (571) 272-3768. 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.
/GRIFFIN TANNER BEAN/ Examiner, Art Unit 2121
/Li B. Zhen/ Supervisory Patent Examiner, Art Unit 2121