IP Library Granted Patent US 12,430,147
Granted Patent B2
US 12,430,147 · App. 17/643,661 · Granted Sep 30, 2025

Hyperparameter tuning method, program trial system, and computer program

Inventors: Shotaro Sano (Tokyo, JP); Toshihiko Yanase (Tokyo, JP); Takeru Ohta (Tokyo, JP); Takuya Akiba (Tokyo, JP)
Assignee: Preferred Networks, Inc.
G06F9/4494G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,430,147
App. No.
17/643,661
Granted
Sep 30, 2025
Kind
B2
Abstract

A hyperparameter configuration device includes at least one memory, and at least one processor configured to acquire a program execution instruction including parameter description data, the program execution instruction being written through a command-line interface, set a value of a hyperparameter of a program to be trialed, based on the parameter description data, acquire a result of a trial of the program, the trial of the program being executed with the value of the hyperparameter, and set a next value of the hyperparameter of the program, based on the result of the trial.

Claims (113)

1. A hyperparameter configuration device comprising:

at least one memory; and

at least one processor configured to:

acquire a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

set a value of a hyperparameter of the program, based on the parameter description data;

acquire a result of a trial of the program, the trial of the program being executed with the value of the hyperparameter; and

set a next value of the hyperparameter of the program, based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the parameter description data includes a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter,

wherein the at least one processor sets the value of the hyperparameter based on the distribution identifier and the range specification value included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

2. The hyperparameter configuration device as claimed in claim 1 ,

wherein the parameter description data includes information related to a second hyperparameter that is set depending on a value of a first hyperparameter, and

wherein the at least one processor sets a value of the second hyperparameter based on the value of the first hyperparameter.

3. The hyperparameter configuration device as claimed in claim 1 , wherein the at least one processor terminates the trial of the program, before a specified number of iterations are finished, based on an intermediate result of the trial of the program.

4. The hyperparameter configuration device as claimed in claim 1 ,

wherein the program execution instruction includes first parameter description data and second parameter description data, the first parameter description data being written through the command-line interface, and the second parameter description data being written through the command-line interface,

wherein the at least one processor sets a first value of the hyperparameter and a second value of the hyperparameter, the first value of the hyperparameter being based on the first parameter description data, and the second value of the hyperparameter being based on the second parameter description data,

wherein the at least one processor acquires a result of a first trial of the program and a result of a second trial of the program, the first trial being executed with the first value of the hyperparameter, and the second trial being executed with the second value of the hyperparameter, and

wherein the at least one processor sets a next value of the hyperparameter of the program, based on the result of the first trial and the result of the second trial.

5. The hyperparameter configuration device as claimed in claim 4 , wherein the execution of the first trial with the first value of the hyperparameter and the execution of the second trial with the second value of the hyperparameter are performed in parallel.

6. The hyperparameter configuration device as claimed in claim 4 ,

wherein the program execution instruction includes identification information of the first trial, identification information of the second trial, information related to a storage area to be used to store the result of the first trial, and information related to a storage area to be used to store the result of the second trial, and

wherein the identification information of the first trial is identical to the identification information of the second trial, and the information related to the storage area to be used to store the result of the first trial is identical to the information related to the storage area to be used to store the result of the second trial.

7. The hyperparameter configuration device as claimed in claim 1 , wherein the trial of the program is executed by another device.

8. A program trial system comprising the hyperparameter configuration device as claimed in claim 1 , wherein the at least one processor executes the program with the value of the hyperparameter.

9. An interface device comprising:

at least one memory; and

at least one processor configured to:

acquire a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

generate parameter data in a data format that can be processed by at least one hyperparameter processor, based on the parameter description data, the at least one hyperparameter processor being configured to determine a value of a hyperparameter of the program;

acquire the value of the hyperparameter of the program, the value of the hyperparameter being determined by the at least one hyperparameter processor;

acquire a result of a trial of the program, the trial being executed with the value of the hyperparameter; and

acquire a next value of the hyperparameter of the program, the next value being determined by the at least one hyperparameter processor based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the at least one processor generates the parameter data in the data format, based on a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

10. The interface device as claimed in claim 9 , wherein the at least one processor generates the parameter data in the data format, based on a correspondence table retained in advance.

11. The interface device as claimed in claim 9 , wherein the at least one hyperparameter processor is the at least one processor.

12. A hyperparameter configuration method comprising:

acquiring, by at least one processor, a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

setting, by the at least one processor, a value of a hyperparameter of the program, based on the parameter description data;

acquiring, by the at least one processor, a result of a trial of the program, the trial of the program being executed with the value of the hyperparameter; and

setting, by the at least one processor, a next value of the hyperparameter of the program, based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the parameter description data includes a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter,

wherein the setting of the value of the hyperparameter includes setting the value of the hyperparameter based on the distribution identifier and the range specification value included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

13. The hyperparameter configuration method as claimed in claim 12 ,

wherein the parameter description data includes information related to a second hyperparameter that is set depending on a value of a first hyperparameter, and

wherein the setting of the value of the hyperparameter includes setting a value of the second hyperparameter based on the value of the first hyperparameter.

14. The hyperparameter configuration method as claimed in claim 12 , further comprising terminating, by the at least one processor, the trial of the program, before a specified number of iterations are finished, based on an intermediate result of the trial of the program.

15. The hyperparameter configuration method as claimed in claim 12 ,

wherein the program execution instruction includes first parameter description data and second parameter description data, the first parameter description data being written through the command-line interface, and the second parameter description data being written through the command-line interface,

wherein the setting of the value of the hyperparameter includes setting a first value of the hyperparameter and a second value of the hyperparameter, the first value of the hyperparameter being based on the first parameter description data, and the second value of the hyperparameter being based on the second parameter description data,

wherein the acquiring of the result of the trial includes acquiring a result of a first trial of the program and a result of a second trial of the program, the first trial being executed with the first value of the hyperparameter, and the second trial being executed with the second value of the hyperparameter, and

wherein the setting of the next value of the hyperparameter includes setting a next value of the hyperparameter of the program, based on the result of the first trial and the result of the second trial.

16. The hyperparameter configuration method as claimed in claim 15 , wherein the execution of the first trial with the first value of the hyperparameter and the execution of the second trial with the second value of the hyperparameter are performed in parallel.

17. The hyperparameter configuration method as claimed in claim 15 ,

wherein the program execution instruction includes identification information of the first trial, identification information of the second trial, information related to a storage area to be used to store the result of the first trial, and information related to a storage area to be used to store the result of the second trial, and

wherein the identification information of the first trial is identical to the identification information of the second trial, and the information related to the storage area to be used to store the result of the first trial is identical to the information related to the storage area to be used to store the result of the second trial.

18. The hyperparameter configuration method as claimed in claim 12 ,

wherein the program includes a machine learning model,

wherein the hyperparameter includes at least one of a learning rate, a batch size, a number of learning iterations, a number of layers of a neural network, or a number of channels of the neural network, and

wherein the result of the trial includes information related to at least one of accuracy of the machine learning model, execution time, or a degree of progress.

19. An interface method comprising:

acquiring, by at least one processor, a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

generating, by the at least one processor, parameter data in a data format that can be processed by at least one hyperparameter processor, based on the parameter description data, the at least one hyperparameter processor being configured to determine a value of a hyperparameter of the program;

acquiring, by the at least one processor, the value of the hyperparameter of the program, the value of the hyperparameter being determined by the at least one hyperparameter processor;

acquiring, by the at least one processor, a result of a trial of the program, the trial being executed with the value of the hyperparameter; and

acquiring, by the at least one processor, a next value of the hyperparameter of the program, the next value being determined by the at least one hyperparameter processor based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the generating of the parameter data includes generating the parameter data in the data format, based on a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

20. The interface method as claimed in claim 19 , wherein the generating of the parameter data includes generating the parameter data in the data format, based on a correspondence table retained in advance.

21. The interface method as claimed in claim 19 , wherein the at least one hyperparameter processor is the at least one processor.

22. A non-transitory computer-readable recording medium having stored therein a hyperparameter configuration program for causing at least one processor to execute a process comprising:

acquiring a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

setting a value of a hyperparameter of the program, based on the parameter description data;

acquiring a result of a trial of the program, the trial of the program being executed with the value of the hyperparameter; and

setting a next value of the hyperparameter of the program, based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the parameter description data includes a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter,

wherein the at least one processor sets the value of the hyperparameter based on the distribution identifier and the range specification value included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

23. A non-transitory computer-readable recording medium having stored therein an interface program for causing at least one processor to execute a process comprising:

acquiring a program execution instruction written through a command-line interface, the program execution instruction including a name of a program to be trialed and parameter description data;

generating parameter data in a data format that can be processed by at least one hyperparameter processor, based on the parameter description data, the at least one hyperparameter processor being configured to determine a value of a hyperparameter of the program;

acquiring, the value of the hyperparameter of the program, the value of the hyperparameter being determined by the at least one hyperparameter processor;

acquiring a result of a trial of the program, the trial being executed with the value of the hyperparameter; and

acquiring, a next value of the hyperparameter of the program, the next value being determined by the at least one hyperparameter processor based on the result of the trial,

wherein a behavior of a machine learning algorithm is controlled using the next value of the hyperparameter,

wherein the parameter description data is written through the command-line interface,

wherein the at least one processor generates the parameter data in the data format, based on a name of the hyperparameter, a distribution identifier of the hyperparameter, and a range specification value of the hyperparameter included in the parameter description data,

wherein the distribution identifier includes information of at least one of a type of a target to be selected as the value of the hyperparameter or a distribution of the target to be selected as the value of the hyperparameter, and

wherein the parameter description data is not written within the program.

24. The non-transitory computer-readable recording medium as claimed in claim 23 , wherein the at least one hyperparameter processor is the at least one processor.

25. The hyperparameter configuration device as claimed in claim 1 , wherein the at least one processor is configured to control the machine learning algorithm by using the next value of the hyperparameter.

26. The hyperparameter configuration device as claimed in claim 1 ,

wherein the at least one processor is configured to transmit the next value of the hyperparameter to another device, and

wherein the machine learning algorithm is controlled using the next value of the hyperparameter by the another device.

27. The hyperparameter configuration device as claimed in claim 25 , wherein the at least one processor is configured to train a machine learning model using the next value of the hyperparameter.

28. The hyperparameter configuration device as claimed in claim 26 , wherein a machine learning model is trained using the next value of the hyperparameter by the another device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2021
From: SANO, SHOTARO; YANASE, TOSHIHIKO; OHTA, TAKERU; AKIBA, TAKUYA
To: PREFERRED NETWORKS, INC.
Reel/Frame 058496/0752 →
Priority Claims (1)
JP 2019-109537 · Jun 12, 2019 · national
Continuity (2)
Continuation PCTJP2020022428 · Jun 5, 2020
Related Publication 20220100531A1 · Mar 31, 2022
References Cited (18)
US 10565498B1 · Zhiyanov · 2020 [cited by examiner]
US 20180336493A1 · Hayes · 2018 [cited by examiner]
US 20190156229A1 · Tee · 2019 [cited by examiner]
US 20190236487A1 · Huang · 2019 [cited by examiner]
US 20200097853A1 · Golovin · 2020 [cited by examiner]
US 20210224692A1 · Akiba · 2021 [cited by applicant]
JP 2013242604 · 2013 [cited by applicant]
Jérémy Rapin, Add a Nevergrad Sweeper plugin (#430), Mar. 11, 2020 (JST), <https://github.com/facebookresearch/hydra/commit/0bfb4f44fd6d526f121632a1a31ff14ad8663289>. [cited by applicant]
Jérémy Rapin et al., Add a Nevergrad Sweeper plugin #430, Feb. 21, 2020( JST) to Mar. 11, 2020 (JST), <https://github.com/facebookresearch/hydra/pull/430#issue-568483145>. [cited by applicant]
Rishav1 et al., Suggested design changes for version 0.10. Issue#368, May 24, 2019 version, <https://github.com/pfnet/pptuna/issues/368#issue-426985605>. [cited by applicant]
The easiest way to run, track, and compare machine learning experiments, May 24, 2019 version, <https://guild.ai/>. [cited by applicant]
Hyperparameter Search, May 24, 2019 version, <https://docs.snark.ai/use-cases/hyperparameter.html>. [cited by applicant]
GitHub—Epistimio/orion: Asynchronous Distributed Hyperparameter Optimization., May 24, 2019 version, <https://github.com/Epistimio/orion>. [cited by applicant]
Simple example—orion v0.1.2.post0 documentation, May 24, 2019 version, <https://orion.readthedocs.io/en/latest/user/bytorch.html#adapting-the-code-of-mnist-example>. [cited by applicant]
GitHub—sseemayer/ParOpt: Generic command-line parameter optimization, May 24, 2019 version, <https://github.com/sseemayer/ParOpt>. [cited by applicant]
Takuya Akiba, Optuna: An Automatic Hyperparameter Optimization Framework, Preferred Networks Research & Development Blog [online], Dec. 3, 2018, Internet:<URL:https://tech.preferred.jp.ja/blog/optuna-release/>, [retriev… [cited by applicant]
@Koshian2, GridSearchCV is already old!, Support vector machines are also easily tuned with Optuna., Qiita [online], May 13, 2019, Internet:<URL:https://qiita.com/koshian2/items/1c0f781d244a6046b83e>, [retrieval date Ju… [cited by applicant]
Takuya Akiba et al., “Optuna: A Next-generation Hyperparameter Optimization Framework”, KDD 2019 Applied Data Science track [online], Jul. 26, 2019, Internet:<URL:https://arxiv.org/abs/1907.10902>, [retrieval date Jul. … [cited by applicant]