DETAILED ACTION
This correspondence is responsive to the application filed on June 13, 2023. Claims 1-20 are pending in the case, with claims 1, 11 and 20 in independent form.
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 .
Summary of Detailed Action
Claims 1-20 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite.
Claim 20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter.
Claims 1-6, 9-16 and 19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Claims 1-20 are rejected under 35 U.S.C. 103 as being unpatentable over Jia et al. in view of Qian et al.
Priority
Acknowledgment is made of applicant’s claim for foreign priority under 35 U.S.C. 119 (a)-(d). Receipt is acknowledged of certified copies of papers required by 37 CFR 1.55.
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 1-20 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. Claim 1 recites “obtaining a first model, splitting the first model to obtain at least one first subgraph.” It is not clear how a subgraph is connected to the model. It is further unclear how a subgraph is obtained from a model. It is yet further unclear how to split a model to obtain a subgraph. Therefore, the claim is unclear and indefinite. For examination purposes, the examiner is interpreting the claim as obtaining an artificial intelligence model and splitting a computational graph of artificial intelligence model to obtain a subgraph.
Applicant may cancel claim 1 or amend claim 1 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.
Claims 2-10 depend directly or indirectly from claim 1 and are rejected for the same reasons discussed above with respect to claim 1.
Claim 11 recites an apparatus that parallels the method of claim 1 and is rejected for the same reasons discussed above with respect to claim 1.
Claims 12-19 depend directly or indirectly from claim 1 and are rejected for the same reasons discussed above with respect to claim 11.
Claim 20 recites a computer storage medium that parallels the method of claim 1 and is rejected for the same reasons discussed above with respect to claim 1.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim 20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to non-statutory subject matter. The claim(s) does/do not fall within at least one of the four categories of patent eligible subject matter because independent claim 20 recites a computer storage medium that is described in paragraph 228 of the originally filed specification in an open-ended manner as any medium that can store program code and includes a non-exhaustive list of examples. Thus, the computer storage medium of claim 20 includes non-statutory transitory propagated signal media. Amending claim 2 to recite only “non-transitory” computer storage medium should overcome this rejection.
Claims 1-6, 9-16 and 19 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. The claim(s) recite(s) subject matter in a general, high-level manner of a method for obtaining a first model, splitting the first model to obtain at least one first subgraph, performing an optimization operation on the at least one first subgraph based on a genetic algorithm, to obtain at least one second subgraph, wherein the at least one first subgraph is in a one-to-one correspondence with the at least one second subgraph, and obtaining a second model based on the at least one second subgraph, which are mathematical concepts including mathematical relationships, mathematical formulas or equations, and mathematical calculations. MPEP 210604(a)(2)(I). This judicial exception is not integrated into a practical application and the claim(s) does/do not include additional elements that are sufficient to amount to significantly more than the judicial exception,
Claims 1-19 recite one of the four statutory categories of patentable subject matter and belong to the statutory class(es) of a process (method claims 1-10), a machine (system/apparatus claims 11-19), and an article of manufacture (non-transitory computer readable media claims ).
The examiner notes that claim 20 is rejected above as a transitory computer storage medium and not one of the four statutory categories of patentable subject matter. However, if claim 20 is amended only to recite non-transitory subject matter, then claim 20 would be rejected as being directed to an abstract idea similar to claims 1 and 11 below.
Claim 1 recites a method, thus a process and one of the four statutory categories of patentable subject matter. However, claim 1 further recites for obtaining a first model, splitting the first model to obtain at least one first subgraph, performing an optimization operation on the at least one first subgraph based on a genetic algorithm, to obtain at least one second subgraph, wherein the at least one first subgraph is in a one-to-one correspondence with the at least one second subgraph, and obtaining a second model based on the at least one second subgraph, which are mathematical concepts including mathematical relationships, mathematical formulas or equations, and mathematical calculations. MPEP 210604(a)(2)(I).
Claim 1 does not include any additional elements. Thus, claim 1 is directed to the abstract idea and is ineligible.
Claim 2, dependent on claim 1, recites only additional mathematical concepts for wherein the performing an optimization operation on the at least one first subgraph based on a genetic algorithm comprises: operation 1: adjusting one of the at least one first subgraph by using a plurality of first policies, to obtain a plurality of third subgraphs; operation 2: selecting a fourth subgraph in the plurality of third subgraphs based on performance values of the plurality of third subgraphs; operation 3: adjusting the fourth subgraph by using a plurality of second policies, to obtain a plurality of fifth subgraphs; and operation 4: selecting, from the plurality of fifth subgraphs, a subgraph whose performance value satisfies a preset condition as one of the at least one second subgraph, which are mathematical concepts including mathematical relationships, mathematical formulas or equations, and mathematical calculations. MPEP 210604(a)(2)(I).
Claim 3, dependent on claim 2, recites only additional mathematical concepts for wherein the method further comprises: repeatedly performing the operation 1, the operation 2, the operation 3, and the operation 4 until a quantity of times of repetition is greater than or equal to a first preset threshold.
Claim 4, dependent on claim 2, recites only additional mathematical concepts for wherein the selecting a fourth subgraph in the plurality of third subgraphs based on performance values of the plurality of third subgraphs comprises: running the plurality of third subgraphs to obtain the performance values of the plurality of third subgraphs; and determining a subgraph in the plurality of third subgraphs whose performance value is greater than or equal to a second preset threshold as the fourth subgraph.
Claim 5 dependent on claim 1, recites only additional mathematical concepts for wherein the first model comprises a first artificial intelligence (AI) operator and a second AI operator; and the splitting the first model to obtain at least one first subgraph comprises: splitting the first AI operator by using the second AI operator as a splitting point, to obtain the at least one first subgraph.
Claim 6 dependent on claim 1, recites only additional mathematical concepts for wherein the obtaining a second model based on the at least one second subgraph comprises: merging the at least one second subgraph to obtain the second model.
Claim 9 dependent on claim 1, recites only additional mathematical concepts for wherein the method further comprises: obtaining a first performance value of the first model and a second performance value of the second model.
Claim 10 dependent on claim 1, recites only additional mathematical concepts for wherein the method further comprises: in response to determining that a difference between the second performance value and the first performance value exceeds a third preset threshold, indicates that optimization of the first model succeeds.
Claim 10 does not include additional elements that integrate the abstract idea into a practical application because the additional element consist of:
outputting prompt information, wherein the prompt information (This additional element amounts to merely the words to “apply it” (or an equivalent) or are mere instructions to implement an abstract idea or other exception on a computer. MPEP 2106.05(f).)
Further, the additional elements, alone or in combination, do not provide significantly more than the abstract idea itself, because implementation on a computer (MPEP 2106.05(f)) cannot provide significantly more, and the combination of additional elements does not provide an inventive concept. Thus, claim 10 is ineligible.
Claim 11 recites an apparatus, thus a machine and one of the four statutory categories of patentable subject matter. However, claim 11 further recites for obtaining a first model; splitting the first model to obtain at least one first subgraph; performing an optimization operation on the at least one first subgraph based on a genetic algorithm, to obtain at least one second subgraph, wherein the at least one first subgraph is in a one-to-one correspondence with the at least one second subgraph; and obtain a second model based on the at least one second subgraph, which are mathematical concepts including mathematical relationships, mathematical formulas or equations, and mathematical calculations. MPEP 210604(a)(2)(I).
Claim 11 does not include additional elements that integrate the abstract idea into a practical application because the additional element consist of:
An apparatus, comprising at least one processor and at least one memory coupled to the at least one processor, wherein the at least one memory stores programming instructions for execution by the at least one processor to cause the apparatus to perform operations comprising (This additional element amounts to merely the words to “apply it” (or an equivalent) or are mere instructions to implement an abstract idea or other exception on a computer. MPEP 2106.05(f).)
Further, the additional elements, alone or in combination, do not provide significantly more than the abstract idea itself, because implementation on a computer (MPEP 2106.05(f)) cannot provide significantly more, and the combination of additional elements does not provide an inventive concept. Thus, claim 11 is ineligible.
Claims 12-16 and 19 are comparably rejected as set forth above with respect to claims 2-6, 9.
Thus, claims 1-6, 9-10, 11-16 and 19 are ineligible.
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-20 are rejected under 35 U.S.C. 103 as being unpatentable over Jia et al., "Optimizing DNN Computation With Relaxed Graph Substitutions," Proceedings of the 2nd Sys ML Conference, December 31, 2019, 13 pages, hereinafter Jia, in view of Qian et al. (CN 109784497 A, published May 21, 2019, English translation) hereinafter Qian. The examiner notes that Jia, CN 109784497 is cited on Applicant’s Information Disclosure Statements filed December 18, 2024 and December 26, 2024.
Regarding claim 1, Jia teaches:
A method (i.e., Figure 3 shows the main components of MetaFlow. … . Finally, MetaFlow generates an optimized computation graph of the input graph by using the optimized subgraphs as basic building blocks. Jia, abstract, Figure 3, section 2, paragraphs 4, 1-4.), comprising:
obtaining a first model (i.e., Similar to existing DNN optimizers (Abadi et al., 2016; Chen et al., 2018; PyTorch), MetaFlow uses a computation graph G to define computation and state in a DNN model (obtaining a first model). Jia, section 2, paragraphs 1, 1-4);
splitting the first model to obtain at least one first subgraph (i.e., First, for any input computation graph, MetaFlow uses a flow based graph split algorithm to recursively divide the input graph into subgraphs (splitting the first model to obtain at least one first subgraph) that are amenable to direct search.. Jia, section 2, paragraphs 4 );
performing an optimization operation on the at least one first subgraph based on a (i.e., For a given computation graph G, MetaFlow automatically finds an equivalent computation graph G with optimized run time performance by using compositions of provided graph substitutions. Jia, section 2, paragraphs 2, 4, 1-4. … Figure 3 shows the main components of MetaFlow. First, for any input computation graph, MetaFlow uses a flow based graph split algorithm to recursively divide the input graph into subgraphs that are amenable to direct search. Second, MetaFlow optimizes each individual subgraph with a backtracking search on the search space defined by repeated application of relaxed graph substitutions to each subgraph (performing an optimization operation on the at least one first subgraph (optimizes each individual subgraph) based on a . Finally, MetaFlow generates an optimized computation graph of the input graph by using the optimized subgraphs as basic building blocks. Jia, section 2, paragraphs 4, 2, 1-4.); and
obtaining a second model based on the at least one second subgraph (i.e., Finally, MetaFlow generates an optimized computation graph of the input graph by using the optimized subgraphs as basic building blocks (obtaining a second model (optimized computation graph) based on the at least one second subgraph (optimized subgraph)). Jia, section 2, paragraphs 4, 2, 1-4.).
Thus, Jia teaches performing an optimization operation on the at least one first subgraph based on an algorithm to obtain at least one second subgraph, wherein the at least one first subgraph is in a one-to-one correspondence with the at least one second subgraph. Jia does not specifically disclose “based on a genetic algorithm.”
However, Qian teaches in the field related to AI model (AI model, namely artificial intelligence model) related technology field, specifically relates to a method for automatically generating AI model based on calculation graph. Qian, Technical Field, bottom paragraph, page 1. Qian, which is analogous to the claimed invention because Qian is directed to automatically generating AI model based on calculation graph and using genetic algorithm, teaches performing an optimization algorithm on the at least one first subgraph based on a genetic algorithm in that Qian discloses “a method for automatically generating AI model based on calculation graph” and “using the genetic algorithm operator (optimization algorithm on the at least one first subgraph “based on a genetic algorithm”) to generate a calculation graph new model” Qian, claim 1, pages 7-8, and fifth paragraph page 2. Quian teaches that the purpose of the invention is providing an AI model automatic generating method based on the calculated graph, which can be used as machine learning and deep learning; avoiding the number of repeated calculation of the same model, improving the model design efficiency; ensuring the uniform distribution of diversity and sampling space; realizing the search in the local optimal range; at the same time, realizing the partial optimal jumping out; ensuring the efficiency of the searching (optimization algorithm on the at least one first subgraph “based on a genetic algorithm”) and preventing the fading of the performance of the searching network; It can be directly evaluated without training by actual data. Qian, fifth paragraph, page 2, claim 1 pages 7-8.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization algorithm based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 2, which depends from claim 1 and recites:
wherein the performing an optimization operation on the at least one first subgraph based on a genetic algorithm comprises:
Jia in view of Qian teaches the method of claim 1 from which claim 2 depends, including wherein the performing an optimization operation on the at least one first subgraph based on a genetic algorithm. Qian, claim 1, pages 7-8, and fifth paragraph page 2. Jia does not specifically disclose:
operation 1: adjusting one of the at least one first subgraph by using a plurality of first policies, to obtain a plurality of third subgraphs;
operation 2: selecting a fourth subgraph in the plurality of third subgraphs based on performance values of the plurality of third subgraphs;
operation 3: adjusting the fourth subgraph by using a plurality of second policies, to obtain a plurality of fifth subgraphs; and
operation 4: selecting, from the plurality of fifth subgraphs, a subgraph whose performance value satisfies a preset condition as one of the at least one second subgraph.
However, Qian teaches performing an optimization algorithm on the at least one firs subgraph based on a genetic algorithm comprising: Claim 1. A method for automatically generating AI model based on calculation graph, wherein it comprises the following steps: Step (1): according to the data preset by the user, preparing data, setting model design platform production parameter; starting model automatic design; Step (2): generating a first generation computation graph model by a genetic algorithm operator (performing an optimization operation on at least one fist subgraph based on a genetic algorithm); step (3): a, calculating the model performance according to the first generation calculating graph structure; b, according to the calculated graph performance and complexity, calculating the fitness of each calculated graph model; Step (4): according to the model fitness, removing the invalid model and repeating model, the remaining model as an alternative model, and reserving as the next generation seed (operation 1: adjusting one of the at least one first subgraph by using a plurality of first policies, to obtain a plurality of third subgraphs (generating computation graph model); operation 2: selecting a fourth subgraph in the plurality of third subgraphs based on performance values (calculating model performance, fitness and removing invalid) of the plurality of third subgraphs, steps 2-4); Step (5): according to the next generation seed reserved in step (4), selecting several optimal models; Step (6): using the genetic algorithm operator to generate a calculation graph new model according to the candidate model selected as the next generation seed selected in the step (4) (operation 3: adjusting the fourth subgraph by using a plurality of second policies, to obtain a plurality of fifth subgraphs, steps 5 and 6); Step (7): judging whether the calculated graph new model generated in step (6) is the calculated graph model; if not, entering step (8); if yes, returning to step (6); Step (8): storing the calculation graph model of the step (5) and (7) as the new generation calculation graph model; Step (9): judging whether the number of the new generation calculating graph model of step (8) satisfies the preset data in the step (1), if it is, entering the next step; if not, returning to step (6); (operation 4: selecting, from the plurality of fifth subgraphs, a subgraph whose performance value satisfies a preset condition as one of the at least one second subgraph (satisfies a preset condition as an optimized second subgraph, steps 7 and 8); step (10): a, the life cycle exceeds the model of the third generation, then searching the optimal solution or close to the optimal solution of the super-reference search, the life cycle exceeds the definition of the three generations in the genetic algorithm in the " generation " number, the first occurrence of the model structure in the flow is the first generation, the model after the reference search remains after entering the step (11); b, the life cycle is not more than three generations of model; calculating the model performance according to the calculated graph structure; calculating the fitness of each calculated graph model according to the calculated graph performance and complexity; then entering the step (11); Step (11): judging whether the calculating graph new model satisfies the preset evolution ending condition in step (1), if it satisfies, entering step (12); if not, returning to step (3b); Step (12): evolving calculation result summary, according to the model complexity and accuracy for comprehensive evaluation, selecting the optimal model. Qian, claim 1, pages 7-8.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization operation on at least one fist subgraph based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 3, which depends from claim 2 and recites:
wherein the method further comprises:
Jia in view of Qian teaches the method of claim 2 from which claim 3 depends, including wherein the performing an optimization operation on the at least one first subgraph based on a genetic algorithm. Jia does not specifically disclose:
repeatedly performing the operation 1, the operation 2, the operation 3, and the operation 4 until a quantity of times of repetition is greater than or equal to a first preset threshold.
However, Qian teaches performing an optimization algorithm on the at least one firs subgraph based on a genetic algorithm comprising: Claim 1. A method for automatically generating AI model based on calculation graph, wherein it comprises the following steps: Step (1): according to the data preset by the user, preparing data, setting model design platform production parameter; starting model automatic design; Step (2): generating a first generation computation graph model by a genetic algorithm operator; step (3): a, calculating the model performance according to the first generation calculating graph structure; b, according to the calculated graph performance and complexity, calculating the fitness of each calculated graph model; Step (4): according to the model fitness, removing the invalid model and repeating model, the remaining model as an alternative model, and reserving as the next generation seed (operation 1: adjusting one of the at least one first subgraph by using a plurality of first policies, to obtain a plurality of third subgraphs (generating computation graph model); operation 2: selecting a fourth subgraph in the plurality of third subgraphs based on performance values (calculating model performance, fitness and removing invalid) of the plurality of third subgraphs, steps 2-4); Step (5): according to the next generation seed reserved in step (4), selecting several optimal models; Step (6): using the genetic algorithm operator to generate a calculation graph new model according to the candidate model selected as the next generation seed selected in the step (4) (operation 3: adjusting the fourth subgraph by using a plurality of second policies, to obtain a plurality of fifth subgraphs, steps 5 and 6); Step (7): judging whether the calculated graph new model generated in step (6) is the calculated graph model; if not, entering step (8); if yes, returning to step (6); Step (8): storing the calculation graph model of the step (5) and (7) as the new generation calculation graph model; Step (9): judging whether the number of the new generation calculating graph model of step (8) satisfies the preset data in the step (1), if it is, entering the next step; if not, returning to step (6); (operation 4: selecting, from the plurality of fifth subgraphs, a subgraph whose performance value satisfies a preset condition as one of the at least one second subgraph (satisfies a preset condition as an optimized second subgraph, steps 7 and 8); step (10): a, the life cycle exceeds the model of the third generation, then searching the optimal solution or close to the optimal solution of the super-reference search, the life cycle exceeds the definition of the three generations in the genetic algorithm in the " generation " number, the first occurrence of the model structure in the flow is the first generation, the model after the reference search remains after entering the step (11); b, the life cycle is not more than three generations of model; calculating the model performance according to the calculated graph structure; calculating the fitness of each calculated graph model according to the calculated graph performance and complexity; then entering the step (11); Step (11): judging whether the calculating graph new model satisfies the preset evolution ending condition in step (1), if it satisfies, entering step (12); if not, returning to step (3b) (repeatedly performing the operation 1, the operation 2, the operation 3, and the operation 4 until a quantity of times of repetition is greater than or equal to a first preset threshold, step 11); Step (12): evolving calculation result summary, according to the model complexity and accuracy for comprehensive evaluation, selecting the optimal model. Qian, claim 1, pages 7-8.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization operation on at least one fist subgraph based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 4, which depends from claim 2 and recites:
wherein the selecting a fourth subgraph in the plurality of third subgraphs based on performance values of the plurality of third subgraphs comprises: running the plurality of third subgraphs to obtain the performance values of the plurality of third subgraphs; and determining a subgraph in the plurality of third subgraphs whose performance value is greater than or equal to a second preset threshold as the fourth subgraph.
Jia in view of Qian teaches the method of claim 2 from which claim 4 depends, including wherein the performing an optimization operation on the at least one first subgraph based on a genetic algorithm. Jia does not specifically disclose:
wherein the selecting a fourth subgraph in the plurality of third subgraphs based on performance values of the plurality of third subgraphs comprises: running the plurality of third subgraphs to obtain the performance values of the plurality of third subgraphs; and determining a subgraph in the plurality of third subgraphs whose performance value is greater than or equal to a second preset threshold as the fourth subgraph.
However, Qian teaches performing an optimization algorithm on the at least one firs subgraph based on a genetic algorithm comprising: Claim 1. A method for automatically generating AI model based on calculation graph, wherein it comprises the following steps: Step (1): according to the data preset by the user, preparing data, setting model design platform production parameter; starting model automatic design; Step (2): generating a first generation computation graph model by a genetic algorithm operator; step (3): a, calculating the model performance according to the first generation calculating graph structure; b, according to the calculated graph performance and complexity, calculating the fitness of each calculated graph model; Step (4): according to the model fitness, removing the invalid model and repeating model, the remaining model as an alternative model, and reserving as the next generation seed (wherein selecting a fourth subgraph in the plurality of third subgraphs based on performance values (calculating model performance, fitness and removing invalid) of the plurality of third subgraphs, by running the plurality of third subgraphs to obtain a plurality of performance values; and by determining a subgraph whose performance value is greater than or equal to a second preset threshold in the plurality of third subgraphs as the fourth subgraph)); Step (5): according to the next generation seed reserved in step (4), selecting several optimal models; Step (6): using the genetic algorithm operator to generate a calculation graph new model according to the candidate model selected as the next generation seed selected in the step (4); Step (7): judging whether the calculated graph new model generated in step (6) is the calculated graph model; if not, entering step (8); if yes, returning to step (6); Step (8): storing the calculation graph model of the step (5) and (7) as the new generation calculation graph model; Step (9): judging whether the number of the new generation calculating graph model of step (8) satisfies the preset data in the step (1), if it is, entering the next step; if not, returning to step (6);; step (10): a, the life cycle exceeds the model of the third generation, then searching the optimal solution or close to the optimal solution of the super-reference search, the life cycle exceeds the definition of the three generations in the genetic algorithm in the " generation " number, the first occurrence of the model structure in the flow is the first generation, the model after the reference search remains after entering the step (11); b, the life cycle is not more than three generations of model; calculating the model performance according to the calculated graph structure; calculating the fitness of each calculated graph model according to the calculated graph performance and complexity; then entering the step (11); Step (11): judging whether the calculating graph new model satisfies the preset evolution ending condition in step (1), if it satisfies, entering step (12); if not, returning to step (3b); Step (12): evolving calculation result summary, according to the model complexity and accuracy for comprehensive evaluation, selecting the optimal model. Qian, claim 1, pages 7-8.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization operation on at least one fist subgraph based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 5, which depends from claim 1 and recites:
wherein the first model comprises a first artificial intelligence (AI) operator and a second AI operator; and the splitting the first model to obtain at least one first subgraph comprises: splitting the first AI operator by using the second AI operator as a splitting point, to obtain the at least one first subgraph.
Jia in view of Qian teaches the method of claim 1 from which claim 5 depends, including splitting the first model to obtain at least one first subgraph. Jia teaches that, Many state-of-the-art DNN models are too large to optimize directly with the backtracking search. We use a flow-based graph split algorithm to recursively divide a computation graph into smaller disjoint subgraphs that are amenable to backtracking search. This is motivated by our observation that graph substitutions are performed on a few locally connected operators (wherein the first model comprises a first artificial intelligence (AI) operator and a second AI operator), and splitting a computation graph into smaller individual subgraphs can still preserve most graph substitutions. Jia, section 4.3 first paragraph. To split a graph into two disjoint subgraphs, we aim at minimizing the number of graph substitutions spanning the two subgraphs, since these graph substitutions cannot be performed on either subgraph. For each operator oi ∈ G, we define its capacity Cap(oi) to be the number of graph substitutions that map to at least one in-edge and one out edge of operator oi. These graph substitutions are disabled if operator oi is used to split the graph (splitting the first AI operator by using the second AI operator as a splitting point, to obtain the at least one first subgraph (operator oi is used as a splitting point, to obtain the at least on first subgraph)). By using Cap(oi) as the weight for each operator, we map the graph split problem to a minimum vertex cut problem (Cormen et al., 2009) and can use any max-flow algorithm to find a minimum cut. Jia, section 4.3 second paragraph.
Regarding claim 6 which depends from claim 1 and recites:
wherein the obtaining a second model based on the at least one second subgraph comprises: merging the at least one second subgraph to obtain the second model.
Jia in view of Qian teaches the method of claim 1 from which claim 6 depends, including obtaining a second model based on the at least one second subgraph. Jia teaches that, After running the backtracking search algorithm to optimize individual subgraphs, MetaFlow stitches the optimized sub graphs back together to constitute an entire computation graph (wherein the obtaining a second model based on the at least one second subgraph comprises: merging the at least one second subgraph to obtain the second model). Finally, a local backtracking search around each splitting point is performed for substitutions spanning the splitting point. Jia, section 4.3 fourth paragraph.
Regarding claim 7 which depends from claim 2 and recites:
wherein the method further comprises:
recording a first workflow in response to obtaining the at least one first subgraph by splitting the first model;
recording a second workflow in response to obtaining the at least one second subgraph by performing the optimization operation on the at least one first subgraph
recording a third workflow in response to obtaining the second model based on the at least one second subgraph.
Jia in view of Qian teaches the method of claim 2 from which claim 7 depends. Jia teaches that, Subgraph performance. We evaluate whether MetaFlow can improve the performance of individual subgraphs in a DNN (recording a first workflow in response to obtaining the at least one first subgraph by splitting the first model (evaluating recorded workflow and performance of individual subgraphs including individual first subgraph in response to obtaining the at least one individual first subgraph by splitting the first model); recording a second workflow in response to obtaining the at least one second subgraph by performing the optimization operation on the at least one first subgraph (evaluating recorded workflow and performance of individual subgraphs including individual second subgraph by performing the optimization operation on the at least one first subgraph). Figure 6 compares the performance of TensorRT and MetaFlow on individual subgraphs in Inception-v3.The figure shows that MetaFlow can consistently find faster computation graphs than TensorRT, which leads to an end-to-end performance improvement of 1.25×. Jia, 6.2.2 Subgraph performance.
We introduce a cost model that incorporates multiple dimensions to evaluate the runtime performance of a computation graph. The cost model computes metrics for each operator in a graph and combines them appropriately to obtain a total cost. … For example, once we have measured and stored the execution time of a convolution with particular parameters (i.e., kernel size, stride, padding, etc.), we can use that execution time for other convolutions with the same parameters (recording a third workflow in response to obtaining the second model based on the at least one second subgraph (recording a third workflow and workflow performance in response to obtaining the second convolution model based on the at least one subgraph). Jia, 4.1 Cost Model.
As discussed above, Jia does not specifically disclose based on the genetic algorithm. However, Qian teaches based on the genetic algorithm. Qian, claim 1 pages 7-8, fifth paragraph, page 2.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization algorithm based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 8 which depends from claim 7and recites:
wherein the method further comprises:
reading a workflow, wherein the workflow comprises at least one of the first workflow, the second workflow, or the third workflow; and restoring to a state that a subgraph has when the workflow is recorded, wherein the subgraph comprises at least one of the at least one first subgraph, the at least one second subgraph, one of the plurality of third subgraphs, the fourth subgraph, or one of the plurality of fifth subgraphs.
Jia in view of Qian teaches the method of claim 7 from which claim 8 depends including at least one of the first workflow, the second workflow, or the third workflow. Jia teaches that, Subgraph performance. We evaluate whether MetaFlow can improve the performance of individual subgraphs in a DNN (reading a workflow, wherein the workflow comprises at least one of the first workflow, the second workflow, or the third workflow (evaluating and reading at least one of the first recorded first workflow and performance, the second recorded second workflow and performance, or the third recorded third workflow and performance)). Figure 6 compares the performance of TensorRT and MetaFlow on individual subgraphs in Inception-v3.The figure shows that MetaFlow can consistently find faster computation graphs than TensorRT, which leads to an end-to-end performance improvement of 1.25×. Jia, 6.2.2 Subgraph performance.
We introduce a cost model that incorporates multiple dimensions to evaluate the runtime performance of a computation graph. The cost model computes metrics for each operator in a graph and combines them appropriately to obtain a total cost. … For example, once we have measured and stored the execution time of a convolution with particular parameters (i.e., kernel size, stride, padding, etc.), we can use that execution time for other convolutions with the same parameters (restoring to a state that a subgraph has when the workflow is recorded, wherein the subgraph comprises at least one of the at least one first subgraph, the at least one second subgraph, one of the plurality of third subgraphs, the fourth subgraph, or one of the plurality of fifth subgraphs (using that execution for restoring to convolutions with the same parameters and state that a subgraph has when the workflow is recorded, wherein the subgraph comprises at least one of the at least one first subgraph, the at least one second subgraph, one of the plurality of third subgraphs, the fourth subgraph, or one of the plurality of fifth subgraphs). Jia, 4.1 Cost Model.
As discussed above, Jia does not specifically disclose based on the genetic algorithm. However, Qian teaches based on the genetic algorithm. Qian, claim 1 pages 7-8, fifth paragraph, page 2.
It would have been obvious to one of ordinary skill in the art before the effective filing date of the present application to implement the optimizing DNN computation with relaxed graph substitutions of Jia using the optimization algorithm based on a genetic algorithm of Qian, with a reasonable expectation of success, in order to provide the benefits of automatic design of the network, improve the model design efficiency and ensure the efficiency of the search. Qian, bottom 2 paragraphs of page 3 to top 4 paragraphs of page 4. This would have provided the advantages of automatically and efficiently searching, generating and optimizing an AI computation graph model.
Regarding claim 9 which depends from claim 1 and recites:
wherein the method further comprises: obtaining a first performance value of the first model and a second performance value of the second model.
Jia in view of Qian teaches the method of claim 1 from which claim 9 depends. Jia teaches 6.2.1 End to end performance. We first compare the end-to-end inference performance between MetaFlow and existing deep learning frameworks, including TensorFlow, TensorFlowXLA, and TensorRT on a NVIDIAV100GPU. MetaFlow can automatically transform optimized computation graphs to standard formats accepted by the baseline frameworks, therefore we also evaluate the performance of the baseline frameworks with MetaFlow’s optimized computation graphs (obtaining a first performance value of the first (baseline) model and a second performance value of the second (optimized) model) Jia, 6.2.1 End to end performance.
Regarding claim 10 which depends from claim 9 and recites:
wherein the method further comprises: outputting prompt information in response to determining that a difference between the second performance value and the first performance value exceeds a third preset threshold, wherein the prompt information indicates that optimization of the first model succeeds.
Jia in view of Qian teaches the method of claim 9 from which claim 10 depends. Jia in view of Qian teaches the method of claim 1 from which claim 9 depends. Jia teaches 6.2.1 End to end performance. We first compare the end-to-end inference performance between MetaFlow and existing deep learning frameworks, including TensorFlow, TensorFlowXLA, and TensorRT on a NVIDIAV100GPU. MetaFlow can automatically transform optimized computation graphs to standard formats accepted by the baseline frameworks, therefore we also evaluate the performance of the baseline frameworks with MetaFlow’s optimized computation graphs ( (outputting prompt information (performance prompt information) in response to determining (end to end performance) that a difference between the second (second optimized baseline model) performance value and the first (baseline model) performance value exceeds a third preset threshold (second optimized baseline performance value exceeds lower prior baseline performance value threshold) wherein the prompt information (performance prompt information) indicates that the optimization of the first baseline model succeeds (second optimized baseline model succeeds)) Jia, 6.2.1 End to end performance.
Claims 11-18 recite apparatuses that parallel the methods of claims 1-9. Therefore, the analysis discussed above with respect to claims 1-9 also applies to claims 11-18, respectively. Accordingly, claims 11-18 are rejected based on substantially the same rationale as set forth above with respect to claims 1-9, respectively. More specifically regarding An apparatus, comprising at least one processor and at least one memory coupled to the at least one processor, wherein the at least one memory stores programming instructions for execution by the at least one processor to cause the apparatus to perform operations (i.e., An apparatus (hardware, run-time environment apparatus) with at least one (GPU CPU) processor and at least one memory (memory usage, accesses, disk storage, GPU device memory) coupled to the at least one processor (GPU,CPU), wherein the at least one memory (memory usage, access, disk, GPU device memory) stores programming instructions (kernels programming instructions) for execution by the at least one processor (GPU,CPU) to cause the apparatus to perform operations. Jia, Abstract, Sections 1 Introduction, 2 Overview, 3 Relaxed graph Substitutions, 4.1 Cost Model, 4.3 Flow-Based Recursive Graph Split, 5. Implementation, 6. Evaluation, Table 2, Figures 1, 5-10, A Artifact Appendix.).
Claim 20 recites a computer storage medium that parallels the method of claim 1. Therefore, analysis discussed above with respect to claim 1 also applies to claim 20. Accordingly, claim 20 is rejected based on substantially the same rationale as set forth above with respect to claim 1. More specifically regarding A computer storage medium, wherein the computer storage medium stores programming instructions for execution by one or more processors to cause an apparatus to perform operations (i.e., A computer storage medium (memory usage, accesses, disk storage, GPU device memory), wherein the computer storage medium stores programming instructions (kernels programming instructions) for execution by one or more processors (GPU,CPU) to cause an apparatus to perform operations. Jia, Abstract, Sections 1 Introduction, 2 Overview, 3 Relaxed graph Substitutions, 4.1 Cost Model, 4.3 Flow-Based Recursive Graph Split, 5. Implementation, 6. Evaluation, Table 2, Figures 1, 5-10, A Artifact Appendix.).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. US-20200293838-A1, US-12131254-B2, US-20190286972-A1, US-20190303762-A1, US-20200133980-A1.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BARBARA LEVEL whose telephone number is (303)297-4748. The examiner can normally be reached Monday through Friday 8:00 AM - 5:00 PM MT.
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, Mariela Reyes can be reached at (571) 270-1006. 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.
/BARBARA M LEVEL/ Examiner, Art Unit 2142