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 .
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 3 and 12 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Regarding claims 3 and 12, “a memory capacity shortage” renders the claim indefinite because it is unclear if antecedence is to the parent claim’s memory capacity shortage.
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.
Claim(s) 1-4, 9-14, and 18-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over Keuper (J. Keuper and F. -J. Preundt, "Distributed Training of Deep Neural Networks: Theoretical and Practical Limits of Parallel Scalability," 2016 2nd Workshop on Machine Learning in HPC Environments (MLHPC), Salt Lake City, UT, USA, 2016, pp. 19-26, doi: 10.1109/MLHPC.2016.006.) in view of Chen (Chen, Songqing, Li Xiao, and Xiaodong Zhang. "Dynamic load sharing with unknown memory demands in clusters." Proceedings 21st International Conference on Distributed Computing Systems. IEEE, 2001.)
Regarding claim 1, Keuper teaches a non-transitory computer-readable recording medium storing a distributed learning program for causing a computer to perform a process (see Figure 2 regarding the distributed learning program and §1, B, 3 regarding the non-transitory computer readable medium) comprising:
a layer group for machine learning of a machine learning model that includes a plurality of layers performed in parallel by a plurality of nodes that each has a memory (Figure 2, §1, A, 1 – “…training samples are fed to n workers holding synchronous local copies of the model state…Inner Parallelization, located at the compute units of the nodes using parallel algorithms to compute the forward and backward operations within the layers of the DNN…”).
While Keuper discloses the general construct of a distributed training system for a neural network, Keuper does not teach
identifying a layer group that includes at least one layer in which a memory capacity shortage occurs when machine learning of a machine learning model that includes a plurality of layers is performed in parallel by a plurality of nodes that each has a memory; and causing the plurality of nodes to share processing in the identified layer group.
Chen teaches a distributed computing system (see Abstract) and an associated method which includes
identifying a layer group that includes at least one layer in which a memory capacity shortage occurs when computation is performed in parallel by a plurality of nodes that each has a memory (§2.2, “memory allocations” and “page faults”, §4, memory usage is tested against a threshold and exceeding the threshold can be considered a shortage); and causing the plurality of nodes to share processing in the identified layer group (§4.2, when memory shortage occurs, load sharing is started where a neighboring worker/node shares processing).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Keuper such that the method includes identifying a layer group that includes at least one layer in which a memory capacity shortage occurs when machine learning of a machine learning model that includes a plurality of layers is performed in parallel by a plurality of nodes that each has a memory; and causing the plurality of nodes to share processing in the identified layer group in order to avoid exceeding any memory thresholds in the worker nodes.
The application of the teachings of Chen to Keuper would result in the claimed invention because the memory threshold testing would be applied to each worker to indicate if migration is necessary to another worker. Identifying a worker where a memory threshold has been exceeded would constitute “identifying a layer group that includes at least one layer in which a memory capacity shortage occurs when machine learning of a machine learning model that includes a plurality of layers is performed in parallel by a plurality of nodes that each has a memory” because identifying the worker constitutes identifying the layer group.
Regarding claim 2, Keuper as modified teaches all of the limitations of claim 1.
Keuper as modified does not teach where
the identifying the layer group is performed during a backpropagation process in the machine learning.
As shown with respect to claim 1, Keuper in view of Chen renders obvious the identification of the layer group. Per Keuper, the workers perform both forward and backward propagation. It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to monitor both forward and backward propagation and therefore include where the identifying the layer group is performed during a backpropagation process in the machine learning in as a natural application of Chen to Keuper in order to detect memory threshold violations in the layer group.
Regarding claim 3, Keuper as modified teaches all of the limitations of claim 2, wherein
the identifying the layer group includes identifying a location at which execution of machine learning becomes an error due to a memory capacity shortage during the backpropagation process (see Chen §2.2, “memory allocations” and “page faults”, §4, memory usage is tested against a threshold and exceeding the threshold can be considered a shortage, the identification of the layer group is itself an identification of a location at which the execution encounters the memory capacity shortage, i.e. in that particular layer group).
Regarding claim 4, Keuper as modified teaches all of the limitations of claim 2, wherein
the identifying the layer group includes acquiring a profile of memory usage when the machine learning is performed in an environment with a larger memory capacity than the plurality of nodes (see Keuper as modified by Chen according to claims 1-2. A memory threshold is determined for worker nodes which constitutes “a profile of memory usage when the machine learning is performed in an environment with a larger memory capacity than the plurality of nodes” because the machine learning is performed in the environment with the plurality of nodes and their total memory capacity is larger than the plurality because they are instantiated, i.e. the is sufficient memory to hold the plurality of nodes by virtue of them being instantiated and the memory threshold is identified under this condition because it is identified when the system is in operation), and based on the profile, identifying a location at which the memory usage exceeds a memory capacity of the plurality of nodes that are actual machines (as shown with respect to claims 1-2, Keuper as modified identifies a worker, i.e. location, at which the memory usage exceeds a memory capacity of the worker, i.e. a capacity of the plurality of nodes).
Regarding claim 9, Keuper as modified teaches all of the limitations of claim 1, wherein
at a portion in which the memory capacity is not insufficient, machine learning is performed in parallel by the plurality of nodes (see Figure 2 of Keuper, machine learning is performed in parallel and in Keuper as modified, parallel workers are used to carry out machine learning in parallel when memory capacity is exceeded).
Regarding claim 14, Keuper as modified teaches all of the limitations of claim 10. Per MPEP 2111.04, II, contingent limitations such as “when the layer group is a group of layers for which activation checkpointing is performed…” are not required under the broadest reasonable interpretation of the claim. Therefore, the body of claim 14 is not required under its broadest reasonable interpretation and therefore Keuper as modified teaches all of the limitations of claim 14 by teaching all of the limitations of claim 10.
Regarding claims 10-13 and 18-20, Keuper as modified according to claims 1-4 similarly teaches claims 10-13 and 19-20 and Keuper as modified according to claim 9 similarly teaches claim 18.
Allowable Subject Matter
Claims 5-8 and 15-17 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims.
Claims 5-8 and 15-17 are not anticipated or rendered obvious in the prior art. Particularly, the prior art does not establish an prima facie case of obviousness to arrive at the claimed invention of claims 5-7 and/or 15-16, from which claims 8 and 17 depend and therefore inherit the allowable subject matter.
Regarding claim 5, there is no credible prima facie case of obviousness to be made for the specification of activation checkpointing in combination with the processing sharing of Keuper as modified.
Regarding claim 6, the same rational as claim 5 applies but with respect to tensor parallel.
Regarding claim 7, the same rational as claim 5 applies but with respect to the possible combinations and shortest processing time.
Generally, the prior art establishes that the sharing of processing in a parallel, distributed machine learning system is prima facie obvious. However, the particulars expressed in claims 5-7 (and corresponding claims 15-16) further interweave the notions of load sharing and parallel/distributed load sharing such that impermissible hindsight would be required to arrive at the claimed subject matter.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Tanaka (US20220391701A1)
Any inquiry concerning this communication or earlier communications from the examiner should be directed to SCHYLER S SANKS whose telephone number is (571)272-6125. The examiner can normally be reached 06:30 - 15:30 Central Time, M-F.
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, Michael Huntley can be reached at (303) 297-4307. 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.
/SCHYLER S SANKS/Primary Examiner, Art Unit 2129