WO2024069839A1 - 推定プログラム、情報処理装置および機械学習方法 - Google Patents

推定プログラム、情報処理装置および機械学習方法 Download PDF

Info

Publication number
WO2024069839A1
WO2024069839A1 PCT/JP2022/036413 JP2022036413W WO2024069839A1 WO 2024069839 A1 WO2024069839 A1 WO 2024069839A1 JP 2022036413 W JP2022036413 W JP 2022036413W WO 2024069839 A1 WO2024069839 A1 WO 2024069839A1
Authority
WO
WIPO (PCT)
Prior art keywords
algorithm
iterations
machine learning
execution time
molecule
Prior art date
Application number
PCT/JP2022/036413
Other languages
English (en)
French (fr)
Inventor
翔 竹森
裕平 梅田
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2022/036413 priority Critical patent/WO2024069839A1/ja
Publication of WO2024069839A1 publication Critical patent/WO2024069839A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena
    • G06N10/20Models of quantum computing, e.g. quantum circuits or universal quantum computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C20/00Chemoinformatics, i.e. ICT specially adapted for the handling of physicochemical or structural data of chemical particles, elements, compounds or mixtures
    • G16C20/70Machine learning, data mining or chemometrics

Definitions

  • the present invention relates to an estimation program, an information processing device, and a machine learning method.
  • Computers sometimes perform molecular simulations to analyze the properties of molecules through numerical calculations.
  • Molecular simulations are sometimes used in industrial fields such as materials and pharmaceutical development.
  • Molecular simulations include quantum chemical calculations that calculate the energy of molecules microscopically based on the electronic state of the molecule and the Schrödinger equation.
  • Quantum chemical calculation algorithms include algorithms that use quantum circuit data, such as the Variational Quantum Eigensolver (VQE). Algorithms that use quantum circuit data can also be executed by quantum computers. There are also other quantum chemical calculation algorithms, such as the Configuration Interaction (CI) method and the Coupled Cluster (CC) method.
  • VQE Variational Quantum Eigensolver
  • CI Configuration Interaction
  • CC Coupled Cluster
  • a typical algorithm performs an iterative process to repeatedly calculate the energy of a molecule while changing the electron configuration.
  • the algorithm may continue the iterative process until the energy calculations converge.
  • the algorithm may search for the electron configuration that results in the lowest energy, and may output this minimum energy as the ground state energy of the molecule.
  • a quantum chemical calculation device that dynamically selects some of the multiple molecular orbitals that a molecule has in the configuration interaction method, and calculates the energy of the molecule based on the electronic configuration limited to the selected molecular orbitals.
  • a computer may want to estimate the number of iterations of an algorithm that uses quantum circuit data before running the algorithm. For example, a computer could use the estimate of the number of iterations to schedule a job that calculates the energy of a molecule.
  • the present invention aims to estimate the number of iterations of a quantum chemical calculation algorithm.
  • an estimation program causes a computer to execute the following processes: A first algorithm, which is different from a second algorithm that uses quantum circuit data, among algorithms that calculate energy corresponding to a molecule by iterative processing is executed based on molecular information that indicates the molecule to be analyzed, and a first number of iterations of the first algorithm is identified. The first number of iterations is input to a first machine learning model that is trained using the number of iterations of the first algorithm as an explanatory variable and the number of iterations of the second algorithm as an objective variable. An estimate of the second number of iterations when the second algorithm is executed based on the molecular information, calculated by the first machine learning model, is output.
  • an information processing device is provided that is characterized by having a memory unit and a control unit.
  • a machine learning method characterized in that the following processes are executed by a computer.
  • a second algorithm that uses quantum circuit data and a first algorithm different from the second algorithm are executed based on molecular information that indicates the molecule of the sample, and a first number of iterations of the first algorithm and a second number of iterations of the second algorithm are identified.
  • a first machine learning model is trained in which the number of iterations of the first algorithm is an explanatory variable and the number of iterations of the second algorithm is an objective variable.
  • the number of iterations of a quantum chemical calculation algorithm can be estimated.
  • FIG. 1 is a diagram illustrating an information processing apparatus according to a first embodiment.
  • FIG. 11 illustrates an example of hardware of an information processing apparatus according to a second embodiment.
  • FIG. 13 is a diagram illustrating an example of an accuracy and execution time comparison of different algorithms.
  • FIG. 11 illustrates an example of job scheduling.
  • FIG. 13 is a diagram illustrating an example of input and output data of a time model and a repetition model.
  • FIG. 2 is a block diagram showing an example of functions of the information processing device; 1 is a flowchart showing an example of a machine learning procedure. 13 is a flowchart illustrating an example of a procedure for estimating an execution time. 11 is a graph showing an example of the estimation accuracy of the execution time.
  • FIG. 1 is a diagram for explaining an information processing device of the first embodiment.
  • the information processing device 10 uses a machine learning model to estimate the number of iterations of a quantum chemical calculation algorithm.
  • the information processing device 10 may train a machine learning model or execute an algorithm that estimates the number of iterations.
  • the information processing device 10 may also schedule quantum chemical calculation jobs based on the estimated number of iterations.
  • the information processing device 10 may be a client device or a server device.
  • the information processing device 10 may be called a computer, an estimation device, a machine learning device, a molecular simulation device, or a job scheduler.
  • the information processing device 10 has a memory unit 11 and a control unit 12.
  • the memory unit 11 may be a volatile semiconductor memory such as a RAM (Random Access Memory), or a non-volatile storage such as a HDD (Hard Disk Drive) or flash memory.
  • RAM Random Access Memory
  • HDD Hard Disk Drive
  • the control unit 12 is, for example, a processor such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a DSP (Digital Signal Processor). However, the control unit 12 may also include electronic circuits such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • the processor executes a program stored in a memory such as a RAM (which may be the memory unit 11).
  • a collection of processors may be called a multiprocessor or simply a "processor".
  • the memory unit 11 stores a trained machine learning model 15.
  • the machine learning model 15 may be a linear regression model, a nonlinear regression model, or a machine learning model other than a regression model.
  • the machine learning model 15 is trained using the number of iterations of algorithm 13 as an explanatory variable and the number of iterations of algorithm 14 as a target variable.
  • the machine learning model 15 estimates the number of iterations of algorithm 14 from the number of iterations of algorithm 13.
  • the explanatory variables may include other features related to the molecule, such as the distance between multiple atoms contained in the molecule.
  • Algorithms 13 and 14 are algorithms for quantum chemical calculations, and calculate the energy corresponding to a molecule by iterative processing. For example, algorithms 13 and 14 repeatedly calculate the energy of a molecule while changing the electronic configuration of the molecule, and calculate the minimum energy of the molecule as the ground energy when the molecule is in a stable state. The iterative processing is continued, for example, until the energy calculation result satisfies a convergence condition.
  • the convergence condition is, for example, that the difference between the latest energy and the energy from the previous time is less than a threshold value.
  • Algorithm 14 is an algorithm that uses quantum circuit data. Algorithm 14 is, for example, VQE. Algorithm 14 may be executed by a gate-type quantum computer. Algorithm 14 may also be executed by a quantum simulator that simulates the operation of a quantum computer on a von Neumann-type classical computer. Algorithm 14 may be called a quantum algorithm.
  • Quantum circuit data is a quantum computing model that specifies gate operations on quantum bits.
  • quantum circuit data specifies an Ansatz circuit that generates a quantum state using one or more quantum bits, and a measurement circuit that applies a Hamiltonian to the quantum state to measure its energy.
  • the Ansatz circuit and the measurement circuit each include one or more quantum gates arranged in series.
  • Quantum gates include the Controlled NOT (CNOT) gate, the Controlled Z (CZ) gate, the phase shift gate, and the Hadamard gate.
  • Quantum circuit data is generated from molecular information that describes the molecule being analyzed. For example, an Ansatz circuit is generated from basis functions that represent molecular orbitals. A measurement circuit is generated from a Pauli matrix that represents a Hamiltonian according to the type of molecule. The generation of quantum circuit data is sometimes called preprocessing of algorithm 14.
  • Algorithm 13 is a different algorithm from algorithm 14. For example, algorithm 13 does not use quantum circuit data. Algorithm 13 is executed by a von Neumann-type classical computer. Algorithm 13 may be referred to as a classical algorithm. It is preferable that the computational complexity and execution time of algorithm 13 are sufficiently smaller than those of algorithm 14. Algorithm 13 is, for example, a configuration interaction method or a coupled cluster method. Configuration interaction methods include CISD (Configuration Interaction Singles and Doubles). Coupled cluster methods include CCSD (Coupled Cluster Singles and Doubles) and CCSD(T) (Coupled Cluster Singles and Doubles (and Triples)).
  • Configuration interaction methods include CISD (Configuration Interaction Singles and Doubles). Coupled cluster methods include CCSD (Coupled Cluster Singles and Doubles) and CCSD(T) (Coupled Cluster Singles and Doubles (and Triples)).
  • the control unit 12 acquires molecular information 16 that indicates the molecule to be analyzed.
  • the molecular information 16 indicates, for example, the type of each of the multiple atoms contained in the molecule.
  • the molecular information 16 also indicates, for example, the position coordinates of each of the multiple atoms contained in the molecule.
  • the molecular information 16 may be input by a user or may be stored in the memory unit 11.
  • the control unit 12 estimates the number of iterations to be performed when executing the algorithm 14 based on the molecular information 16 before executing the algorithm 14.
  • control unit 12 executes the algorithm 13 based on the molecular information 16. However, the control unit 12 may cause another information processing device to execute the algorithm 13. The energy of the molecule indicated by the molecular information 16 is calculated by the algorithm 13. At this time, the control unit 12 specifies the number of iterations 17 of the algorithm 13 for the molecular information 16. The number of iterations 17 is, for example, the number of iterations of the iterative process performed by the algorithm 13 until the energy calculated from the molecular information 16 converges.
  • the control unit 12 then inputs the iteration number 17 to the machine learning model 15.
  • the machine learning model 15 calculates the iteration number 18 corresponding to the iteration number 17.
  • the iteration number 18 is an estimate of the iteration number when the algorithm 14 is executed based on the molecular information 16.
  • the iteration number 18 is the number of iterations of the iterative process performed by the algorithm 14 until the energy calculated from the molecular information 16 converges.
  • the iteration number 18 often does not match the iteration number 17, it has a positive correlation with the iteration number 17. Therefore, the larger the iteration number 17, the larger the iteration number 18 is often.
  • control unit 12 outputs the estimated number of iterations 18.
  • the control unit 12 may record the estimated number of iterations 18 in non-volatile storage, may display it on a display device, or may transmit it to another information processing device.
  • the control unit 12 may also estimate the execution time of the algorithm 14 for the molecular information 16 using the number of iterations 18. For example, the control unit 12 estimates the execution time as the product of the unit execution time per iteration and the number of iterations 18.
  • the unit execution time may be a fixed value, or may be estimated from the scale of the quantum circuit data used by the algorithm 14.
  • the unit execution time may be estimated using a machine learning algorithm other than the machine learning model 15.
  • the control unit 12 may output the estimated execution time.
  • the control unit 12 may record the estimated execution time in non-volatile storage, may display it on a display device, or may transmit it to another information processing device.
  • the control unit 12 may also control the execution of the algorithm 14 based on the estimated execution time.
  • the control unit 12 may also schedule a job to calculate the energy of a molecule indicated by the molecular information 16. For example, the control unit 12 determines the hardware resources to be allocated to the job based on the estimated execution time. For example, the control unit 12 determines the scheduled start time and scheduled end time of the job based on the estimated execution time. For example, the control unit 12 performs algorithm selection to determine whether to use algorithm 14 or another algorithm based on the estimated execution time.
  • the information processing device 10 of the first embodiment executes the algorithm 13 based on the molecular information 16 and identifies the number of iterations 17 of the algorithm 13.
  • the information processing device 10 inputs the number of iterations 17 to the machine learning model 15 that has been trained using the number of iterations of the algorithm 13 as an explanatory variable and the number of iterations of the algorithm 14 as a target variable.
  • the information processing device 10 outputs an estimate of the number of iterations 18 when the algorithm 14 is executed based on the molecular information 16, calculated by the machine learning model 15.
  • the number of iterations 18 of algorithm 14 is estimated before algorithm 14 is executed. This provides useful information that can be used for controlling the execution of algorithm 14, job scheduling, and the like.
  • the accuracy of estimating the number of iterations 18 is improved. In particular, the estimation accuracy is improved compared to the case where the number of iterations 18 is estimated only from the feature quantities that indicate the characteristics of the quantum circuit data.
  • the explanatory variables of the machine learning model 15 may further include interatomic distances.
  • the information processing device 10 may input the interatomic distances indicated by the molecular information 16 to the machine learning model 15 in addition to the number of iterations 17.
  • a different number of iterations 18 is calculated depending on the interatomic distances. For example, the greater the interatomic distance, the greater the number of iterations 18. This improves the accuracy of estimating the number of iterations 18.
  • the information processing device 10 may also identify features of the quantum circuit data used when executing the algorithm 14 based on the molecular information 16.
  • the information processing device 10 may input the identified features to another machine learning model trained with the features of the quantum circuit data as explanatory variables and the unit execution time per iteration included in the iterative processing as the objective variable. Then, the information processing device 10 may output an estimate of the unit execution time of the algorithm 14 calculated by the other machine learning model. This provides useful information that can be used for execution control of the algorithm 14, job scheduling, etc.
  • the information processing device 10 may estimate the execution time of the algorithm 14 based on the estimated value of the number of iterations 18 and the estimated value of the unit execution time. This provides useful information that can be used for controlling the execution of the algorithm 14, job scheduling, and the like.
  • the accuracy of estimating the execution time of the algorithm 14 is improved. In particular, the estimation accuracy is improved compared to the case where the execution time is estimated only from the feature quantities of the quantum circuit data.
  • the information processing device 10 may schedule jobs that calculate molecular energy based on the estimated execution time. This allows jobs to be scheduled based on highly accurate estimated execution times, improving the efficiency of use of hardware resources such as server devices and processors. In addition, the end time of the job can be made earlier.
  • Algorithm 13 may be a configuration interaction method or a coupled cluster method, and algorithm 14 may be a variational quantum eigensolver method. This allows the iteration count 18 to be quickly estimated in a time that is sufficiently shorter than the execution time of algorithm 14. Also, the iteration count 17 has a positive correlation with the iteration count 18, improving the estimation accuracy of the iteration count 18.
  • the information processing device 10 may train the machine learning model 15 as follows.
  • the information processing device 10 executes the algorithms 13 and 14, respectively, based on molecular information indicating the molecules of the sample, and identifies the number of iterations of the algorithm 13 and the number of iterations of the algorithm 14.
  • the information processing device 10 trains the machine learning model 15, in which the number of iterations of the algorithm 13 is an explanatory variable and the number of iterations of the algorithm 14 is an objective variable.
  • the information processing device 10 performs fitting of a regression model as the machine learning model 15 and optimizes parameter values included in the machine learning model 15. This improves the accuracy of estimating the number of iterations of the algorithm 14.
  • the information processing device 100 schedules a quantum chemical calculation job that calculates the energy of a molecule. For the purpose of scheduling, the information processing device 100 estimates the execution time of VQE before executing VQE.
  • the quantum chemical calculation algorithm may be executed by the information processing device 100, or may be executed by another information processing device.
  • the machine learning model used to estimate the execution time may be trained by the information processing device 100, or may be trained by another information processing device.
  • the information processing device 100 may be a client device or a server device.
  • the information processing device 100 may be called a computer, an estimation device, a machine learning device, a molecular simulation device, or a job scheduler.
  • the information processing device 100 corresponds to the information processing device 10 of the first embodiment.
  • FIG. 2 is a diagram showing an example of hardware of an information processing device according to the second embodiment.
  • the information processing device 100 has a CPU 101, a RAM 102, a HDD 103, a GPU 104, an input interface 105, a media reader 106, and a communication interface 107, all connected to a bus.
  • the CPU 101 corresponds to the control unit 12 in the first embodiment.
  • the RAM 102 or the HDD 103 corresponds to the storage unit 11 in the first embodiment.
  • the CPU 101 is a processor that executes program instructions.
  • the CPU 101 loads the programs and data stored in the HDD 103 into the RAM 102 and executes the programs.
  • the information processing device 100 may have multiple processors.
  • RAM 102 is a volatile semiconductor memory that temporarily stores programs executed by CPU 101 and data used in calculations by CPU 101.
  • Information processing device 100 may have a type of volatile memory other than RAM.
  • the HDD 103 is a non-volatile storage that stores software programs such as an operating system (OS), middleware, and application software, as well as data.
  • the information processing device 100 may also have other types of non-volatile storage, such as flash memory or an SSD (Solid State Drive).
  • the GPU 104 works in cooperation with the CPU 101 to perform image processing and output images to a display device 111 connected to the information processing device 100.
  • the display device 111 is, for example, a CRT (Cathode Ray Tube) display, a liquid crystal display, an organic EL (Electro Luminescence) display, or a projector. Other types of output devices, such as a printer, may also be connected to the information processing device 100.
  • the GPU 104 may also be used as a General Purpose Computing on Graphics Processing Unit (GPGPU).
  • the GPU 104 may execute a program in response to an instruction from the CPU 101.
  • the information processing device 100 may have a volatile semiconductor memory other than the RAM 102 as a GPU memory.
  • the input interface 105 receives an input signal from an input device 112 connected to the information processing device 100.
  • the input device 112 is, for example, a mouse, a touch panel, or a keyboard. Multiple input devices may be connected to the information processing device 100.
  • the media reader 106 is a reading device that reads programs and data recorded on the recording medium 113.
  • the recording medium 113 is, for example, a magnetic disk, an optical disk, or a semiconductor memory. Magnetic disks include flexible disks (FDs) and HDDs. Optical disks include compact discs (CDs) and digital versatile discs (DVDs).
  • the media reader 106 copies the programs and data read from the recording medium 113 to other recording media such as the RAM 102 or the HDD 103.
  • the read programs may be executed by the CPU 101.
  • the recording medium 113 may be a portable recording medium.
  • the recording medium 113 may be used for distributing programs and data.
  • the recording medium 113 and the HDD 103 may also be referred to as computer-readable recording media.
  • the communication interface 107 communicates with other information processing devices via the network 114.
  • the communication interface 107 may be a wired communication interface connected to a wired communication device such as a switch or a router, or a wireless communication interface connected to a wireless communication device such as a base station or an access point.
  • Quantum chemical calculations are a type of molecular simulation that analyzes molecular structures and intermolecular interactions from their electronic states. Quantum chemical calculations are sometimes used to support material development and pharmaceutical development. Quantum chemical calculations are microscopic molecular simulations that provide high analytical accuracy but impose a high computational load.
  • H the Hamiltonian
  • the wave function
  • E energy
  • the Hamiltonian H depends on the molecular structure of the target.
  • the wave function ⁇ corresponds to the eigenstate of electrons
  • the energy E corresponds to the eigenenergy corresponding to ⁇ .
  • Quantum chemical calculations calculate the ground state energy when the molecular structure is stable. However, it is difficult to solve the Schrödinger equation directly.
  • quantum chemical calculations express the wave function ⁇ using basis functions.
  • a basis function is a linear combination of known functions.
  • Each of the multiple terms included in the basis function corresponds to a molecular orbital.
  • a molecular orbital is a location where any one of the electrons contained in a molecule may be located.
  • Quantum chemical calculations accept molecular information indicating the position coordinates of the multiple atoms contained in the molecule, a solution-finding algorithm, and a basis function specification, and calculate the base energy based on the specified information.
  • Quantum chemistry calculations can generate potential energy curves.
  • Potential energy curves show the potential energies corresponding to different interatomic distances. Potential energy is the energy a molecule has when each atom is assumed to be at rest.
  • the horizontal axis of a potential energy curve represents the distance between two particular atoms of interest.
  • the vertical axis of a potential energy curve represents the ground state energy.
  • the unit of distance is, for example, angstrom ( ⁇ ).
  • the unit of energy is, for example, Hartree.
  • the energy is calculated for each of a number of discrete distances that fall within a certain range. The distances may be equally spaced. For example, the energy is calculated at 0.1 ⁇ intervals from 0.5 ⁇ to 3.0 ⁇ .
  • a potential energy curve is generated by plotting the calculated energies and connecting them with lines. The minimum point of the potential energy curve may represent the most stable state of the molecule. The maximum point of the potential energy curve may represent a transition state of the molecule.
  • a quantum chemistry calculation job may include jobs that calculate energies for different types of molecules.
  • a quantum chemistry calculation job may also include jobs that calculate energies for the same type of molecule with different distance settings.
  • a quantum chemistry calculation job may also include jobs requested by different users.
  • FIG. 3 shows a comparative example of the accuracy and execution time of different algorithms.
  • Quantum chemical calculation algorithms include classical algorithms that are intended to be executed on a von Neumann-type classical computer, and quantum algorithms that are intended to be executed on a gate-type quantum computer.
  • quantum algorithms may be executed using software that simulates the operation of a quantum computer and a classical computer. In the second embodiment, it is assumed that the quantum algorithm is executed using such a simulator.
  • Algorithm 31 is VQE.
  • VQE belongs to the quantum algorithm.
  • Algorithm 32 is CISD.
  • CISD belongs to the configuration interaction method.
  • Algorithm 33 is CCSD.
  • Algorithm 34 is CCSD(T).
  • CCSD and CCSD(T) belong to the coupled cluster method.
  • CISD, CCSD, and CCSD(T) belong to the classical algorithm.
  • VQE generates a quantum circuit that generates a quantum state using multiple quantum bits based on a specified basis function. This quantum circuit is sometimes called an Ansatz circuit. VQE also generates a quantum circuit that measures energy from a quantum state based on a Hamiltonian that corresponds to specified molecular information. This quantum circuit is sometimes called a measurement circuit.
  • a quantum circuit is a quantum computing model described by a combination of quantum gates. The generation of a quantum circuit is sometimes called preprocessing of VQE.
  • quantum circuits are implemented using physical quantum bits.
  • quantum simulator pseudo-qubit data is stored in memory, and pseudo-quantum gate operations are implemented using classical programs.
  • VQE generates quantum states using an Ansatz circuit and measures the energy using a measurement circuit. Each measurement is subject to noise and fluctuations. VQE generates quantum states and measures the energy multiple times for the same electronic configuration, and calculates the average value as the expected energy value. VQE changes the parameter values used to generate the quantum state so that the expected energy value becomes smaller. Changing the parameter values corresponds to changing the electronic configuration. VQE searches for the ground energy by repeating the above process. For example, VQE repeats the above process until the expected energy value converges.
  • VQE When using a quantum simulator, the memory usage and computational complexity of a classical computer doubles for each additional quantum bit.
  • the accuracy of the solution of VQE is higher than that of classical algorithms.
  • the execution time of VQE is significantly longer than that of classical algorithms.
  • the execution time of VQE can sometimes be 1000 times that of classical algorithms.
  • CISD uses the Born-Oppenheimer approximation to find an approximate solution to the Schrödinger equation based on specified molecular information and basis functions. CISD considers the effects of single and double excitations on energy as electronic states, and ignores the effects of triple or more excitations. CISD repeatedly calculates energy while changing the electronic configuration, searching for the minimum energy. CISD performs an iterative process until the calculated energy converges. For example, CISD compares the solution of the latest iteration with the solution of the previous iteration, and stops the iterative process when the difference between the two falls below a threshold.
  • CISD has a computational complexity on the order of the sixth power of the number of electrons.
  • CCSD is an algorithm based on the Hartree-Fock molecular orbital method, which uses an exponential cluster operator that takes into account electron correlation to approximate the wave functions of multi-electron molecules. CCSD uses the approximated wave functions to find an approximate solution to the Schrödinger equation, given molecular information and basis functions. CCSD considers the effects of single and double excitations on energy, and ignores the effects of triple or more electron excitations. Like CISD, CCSD repeatedly calculates energy while changing the electronic configuration, searching for the minimum energy. CCSD performs the iterative process until the calculated energy converges.
  • the accuracy of the solution of CCSD is lower than that of VQE and CCSD(T) and higher than that of CISD. Also, the execution time of CCSD is shorter than that of VQE and CCSD(T) and longer than that of CISD. CCSD has a computational complexity on the order of the sixth power of the number of electrons.
  • CCSD(T) is an algorithm that belongs to the same coupled cluster method as CCSD. However, CCSD(T) considers different electronic excitations than CCSD. CCSD(T) rigorously calculates the effect of single and double excitations on the energy of electronic states, and determines the effect of triple excitation on the energy from perturbation. On the other hand, CCSD(T) ignores the effect of quadruple or more electron excitations.
  • CCSD(T) In general, the accuracy of the solution of CCSD(T) is lower than that of VQE and higher than that of CISD and CCSD. Also, the execution time of CCSD(T) is shorter than that of VQE and longer than that of CISD and CCSD. CCSD(T) has a computational complexity on the order of the seventh power of the number of electrons.
  • the molecule being simulated is sometimes called a "system.”
  • Execution time is positively correlated with and can be proportional to resource usage.
  • Hardware resources used in quantum chemical calculations can include the processor's instruction execution time and memory storage space.
  • Classical algorithms can calculate the energy of molecules without using quantum circuits.
  • the information processing device 100 may allocate resources to two or more VQE jobs of the same user or different users.
  • the two or more VQE jobs may be executed by different computing nodes, or may be executed at different times by the same computing node.
  • the information processing device 100 estimates the execution time of each of the two or more VQE jobs.
  • the information processing device 100 may determine the start time of each VQE job based on the estimated execution time, and may notify the user of the scheduled end time.
  • the information processing device 100 may allocate the VQE jobs to multiple computation nodes based on the estimated execution time so as not to unevenly distribute the load on the multiple computation nodes.
  • the information processing device 100 may guarantee that the VQE jobs will be completed by a deadline specified by the user based on the estimated execution time.
  • the information processing device 100 may automatically select an algorithm based on the estimated execution time.
  • the algorithm selection is to select whether to calculate the energy of a molecule specified by the user using VQE or a classical algorithm. If the computing node has sufficient free resources, the information processing device 100 may select VQE, which has high accuracy. On the other hand, if there are not sufficient free resources, the information processing device 100 may select a classical algorithm with a short execution time. The information processing device 100 may select an algorithm based on a user-specified deadline and an estimated execution time.
  • FIG. 4 is a diagram showing an example of job scheduling.
  • the information processing device 100 determines the schedule for jobs 41, 42, and 43. Jobs 41, 42, and 43 are jobs of the same user, and calculate the energy of molecules of the same type but with different interatomic distances. Jobs 41, 42, and 43 are executed by VQE. For simplicity of explanation, consider the case where jobs 41, 42, and 43 are executed using a single computation node. The computation node that executes jobs 41, 42, and 43 may be the information processing device 100 itself.
  • the information processing device 100 generates a schedule for sequentially executing jobs 41, 42, and 43 on the computing nodes. At this time, the information processing device 100 estimates the execution time of each of jobs 41, 42, and 43 based on the specified molecular information. The information processing device 100 determines the start time and end time of each of jobs 41, 42, and 43 based on the estimated execution time.
  • the information processing device 100 determines the start time of job 41 to be T1.
  • the information processing device 100 also determines the start time of job 42 to be T2, which is later than T1.
  • Time T2 is, for example, time T1 plus the estimated execution time of job 41.
  • the information processing device 100 also determines the start time of job 43 to be T3, which is later than T2.
  • Time T3 is, for example, time T2 plus the estimated execution time of job 42.
  • the information processing device 100 may forcibly stop a job if the job is not completed by the start time of the next job. Therefore, the estimated execution times of jobs 41, 42, and 43 may be calculated to be longer than the expected values, taking into account the risks.
  • the information processing device 100 estimates the execution time of VQE using a pre-trained machine learning model.
  • the machine learning model may be called an estimator.
  • the machine learning model in the second embodiment is a Gaussian process regression model generated by a Gaussian process.
  • the information processing device 100 generates training data using molecular information of the sample, and trains the machine learning model using the generated training data.
  • the machine learning model includes a time model that estimates the execution time for each iteration of VQE, and an iteration model that estimates the number of iterations of VQE.
  • the execution time for each iteration corresponds to the time required to calculate the expected value of the energy corresponding to one electron configuration.
  • the number of iterations corresponds to the number of attempts to find the ground energy and change the electron configuration.
  • the estimated execution time of VQE is the product of the unit execution time estimated by the time model and the number of iterations estimated by the iteration model.
  • the estimation of the execution time of the iterative process is divided into an estimation of the execution time for each iteration and an estimation of the number of iterations. This is because it is difficult to accurately estimate the number of iterations based solely on the scale of the quantum circuit used in VQE. Furthermore, even if the interatomic distance is the same, the number of iterations required to converge may differ depending on the type of molecule.
  • the information processing device 100 may use an iterative model that takes into account at least one of randomness and uncertainty and outputs a number of iterations that is greater than the expected value.
  • An example of a machine learning model will be explained below using mathematical formulas.
  • the explanatory variable of the time model is a vector x of degree 3 shown in formula (1).
  • q is the number of quantum bits
  • d is the depth of the Ansatz circuit
  • l is the number of terms in the Hamiltonian.
  • the depth of the Ansatz circuit is the number of stages of quantum gates arranged in series.
  • the number of terms in the Hamiltonian is the number of terms when the Hamiltonian is decomposed into a sum of Pauli matrices.
  • a time model for calculating an expected value of the execution time for each iteration is defined, for example, as in Equation (2).
  • Equation (2) y is an objective variable indicating the execution time for each iteration
  • n is the number of records included in the training data.
  • the training data for training the time model includes n records, which are pairs of explanatory variable values and objective variable values, such as ( x1 , y1 ), ..., ( xn , yn ).
  • K n in the formula (2) is an n ⁇ n square matrix generated from the values of explanatory variables included in the training data.
  • the component of the i-th row and j-th column of the matrix K n is k(x i , x j ).
  • the matrix K n indicates the similarity between the values of two explanatory variables included in the training data.
  • I n is an n ⁇ n unit matrix.
  • k n (x) is a column vector whose component of the i-th row is k(x i , x).
  • k n (x) indicates the similarity between a certain vector x and each of the values of n explanatory variables included in the training data.
  • is a constant greater than 0.
  • the information processing device 100 can also use a time model that takes into account the risk that the actual execution time for each iteration varies from the expected value and takes into account robustness against the risk.
  • a Conditional Value at Risk (CVaR) is defined for the execution time for each iteration.
  • is a constant greater than 0 and less than or equal to 1.
  • ⁇ v (y) and U are defined as shown in Equation (4).
  • a time model that takes robustness into account is, for example, defined as in formula (5) using the CVaR in formula (3).
  • the estimate calculated by formula (5) reflects the risk of an upside deviation in the execution time for each iteration, and is assumed to be greater than the expected value calculated by formula (2). If the distribution for vector x is ⁇ and the cumulative distribution function corresponding to distribution ⁇ is F, then formula (5) gives the estimate of formula (6).
  • the information processing device 100 can further take into account the uncertainty of the estimation of the time model due to insufficient training data, and use a time model that takes into account robustness and uncertainty.
  • ⁇ n (x) is defined for the execution time for each iteration.
  • k T n (x) is the transpose matrix of k n (x).
  • Equation (8) The time model considering robustness and uncertainty is defined as shown in Equation (8), for example, by using ⁇ n (x) in Equation (7).
  • is a positive constant.
  • the estimated value calculated by Equation (8) reflects the risk of further upside deviation of the execution time for each iteration, and is larger than the estimated value calculated by Equation (5).
  • the explanatory variable of the iterative model is a vector z of degree 2 shown in formula (9).
  • m is the number of iterations of the classical algorithm
  • s is the interatomic distance.
  • CCSD One classical algorithm is selected in advance. For example, one is selected from CISD, CCSD, and CCSD(T). In the following explanation, it is assumed that CCSD is selected. Note that "CCSD" in the broad sense is sometimes interpreted as including CCSD in the narrow sense and CCSD(T). When a molecule contains three or more atoms, the interatomic distance s is the average of the distances between two atoms. The distance is, for example, the Euclidean distance.
  • the iterative model for estimating the number of iterations is defined, for example, as in Equation (10).
  • Equation (10) w is a response variable indicating the number of iterations of VQE.
  • Training data for training the iterative model includes n records, each of which is a pair of explanatory variable values and response variable values, such as (z 1 , w 1 ), ..., (z n , w n ).
  • l is the kernel of the Gaussian process.
  • Ln is an n ⁇ n square matrix generated from the values of explanatory variables included in the training data.
  • the component of the i-th row and j-th column of the matrix Ln is l(z i , z j ).
  • ln (z) is a column vector whose component of the i-th row is l(z i , z).
  • is a constant greater than 0.
  • the information processing device 100 can use an iterative model that takes into account the risk that the actual number of iterations varies from the expected value and takes into account robustness against the risk.
  • the iterative model that takes into account robustness is defined as in Equation (11), for example, using the CVaR of Equation (3).
  • Equation (3) and Equation (4) x is replaced by z, y is replaced by w, K n is replaced by L n , and k n is replaced by l n .
  • the information processing device 100 can further consider the uncertainty of the estimation of the repetitive model due to insufficient training data, and use a repetitive model that considers robustness and uncertainty.
  • the repetitive model that considers robustness and uncertainty is defined as shown in Equation (12), for example, using Equation (7).
  • Equation (7) x is replaced with z, K n is replaced with L n , and k n is replaced with l n .
  • FIG. 5 is a diagram showing an example of input/output data for the time model and the repetition model.
  • the information processing device 100 acquires data 131 for the molecule to be analyzed.
  • the data 131 indicates the type and coordinates of each of the multiple atoms contained in the molecule.
  • the information processing device 100 acquires n sets of sample data equivalent to the data 131.
  • the information processing device 100 generates data 132 from data 131.
  • Data 132 includes the number of quantum bits, the depth of the Ansatz circuit, the number of terms in the Hamiltonian, and the execution time for each iteration.
  • the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian are input data for the time model, and are calculated from data 131 by preprocessing of VQE.
  • the execution time for each iteration is output data for the time model.
  • the information processing device 100 When performing machine learning, the information processing device 100 generates n sets of data equivalent to the data 132 as training data for training the time model.
  • the execution time for each iteration corresponds to the teacher data and is measured by executing the VQE.
  • Data 133 includes interatomic distances, the number of iterations of the classical algorithm, and the number of iterations of VQE.
  • the interatomic distances and the number of iterations of the classical algorithm are input data for the iterative model.
  • the interatomic distances are calculated from the coordinates of each atom indicated by data 131.
  • the number of iterations of the classical algorithm is measured by executing the classical algorithm based on data 131.
  • the number of iterations of VQE is output data for the iterative model.
  • the information processing device 100 When performing machine learning, the information processing device 100 generates n sets of data equivalent to the data 133 as training data for training the repetitive model.
  • the number of iterations of the VQE corresponds to the teacher data and is measured by executing the VQE.
  • the information processing device 100 can measure both the execution time for each iteration and the number of iterations of the VQE.
  • the information processing device 100 generates data 134 from data 132 and 133.
  • Data 134 includes an estimate of the execution time of VQE.
  • the execution time is the product of the execution time for each iteration included in data 132 and the number of iterations of VQE included in data 133.
  • one or both of the execution time for each iteration output by the time model and the number of iterations of VQE output by the number of iterations may be an expected value, an estimate taking robustness into account, or an estimate taking robustness and uncertainty into account.
  • the user may specify the type of these estimates depending on the use of the estimated execution time.
  • FIG. 6 is a block diagram showing an example of the functions of the information processing device.
  • the information processing device 100 has a molecular information storage unit 121, a training data storage unit 122, and a model storage unit 123. These storage units are implemented using, for example, a RAM 102 or a HDD 103.
  • the information processing device 100 also has a CCSD execution unit 124, a VQE execution unit 125, a training data generation unit 126, a machine learning unit 127, an execution time estimation unit 128, and a scheduler 129. These processing units are implemented using, for example, a CPU 101 or a GPU 104 and a program.
  • the molecular information storage unit 121 stores molecular information of samples used in machine learning.
  • the molecular information storage unit 121 also stores molecular information indicating the molecules to be analyzed.
  • the molecular information is created by the user.
  • the aforementioned data 131 is stored in the molecular information storage unit 121.
  • the training data storage unit 122 stores training data for training a time model that estimates the execution time for each iteration.
  • the training data storage unit 122 also stores training data for training an iteration model that estimates the number of iterations of VQE. These training data are generated based on the molecular information of the samples stored in the molecular information storage unit 121.
  • the aforementioned data 132 and 133 are stored in the training data storage unit 122.
  • the model storage unit 123 stores the time model and the iteration model as trained machine learning models.
  • the CCSD execution unit 124 executes CCSD as a representative classical algorithm. However, the information processing device 100 may execute CISD or CCSD(T). The CCSD execution unit 124 executes CCSD based on the molecular information and basis functions of the sample specified by the training data generation unit 126, and performs iterative processing until the energy converges. The CCSD execution unit 124 measures the number of iterations and outputs the result to the training data generation unit 126.
  • the CCSD execution unit 124 also executes CCSD based on the molecular information and basis functions of the analysis target specified by the execution time estimation unit 128, and performs iterative processing until the energy converges.
  • the CCSD execution unit 124 measures the number of iterations and outputs the result to the execution time estimation unit 128.
  • the VQE execution unit 125 executes VQE using a quantum simulator. However, the VQE execution unit 125 may also use a quantum computer.
  • the VQE execution unit 125 performs preprocessing based on the molecular information and basis functions of the sample specified by the training data generation unit 126, and generates a quantum circuit corresponding to the molecule of the sample.
  • the VQE execution unit 125 executes VQE based on the generated quantum circuit, and performs iterative processing until the energy converges.
  • the VQE execution unit 125 measures the execution time and number of iterations for each iteration, and outputs them to the training data generation unit 126 together with the generated quantum circuit.
  • the VQE execution unit 125 also performs preprocessing based on the molecular information and basis functions of the analysis target specified by the execution time estimation unit 128, and generates a quantum circuit according to the molecule of the analysis target.
  • the VQE execution unit 125 outputs the generated quantum circuit to the execution time estimation unit 128.
  • the VQE execution unit 125 also executes VQE based on the generated quantum circuit according to the schedule specified by the scheduler 129.
  • the training data generation unit 126 generates training data for training the time model and training data for training the iterative model, and stores the data in the training data storage unit 122. For each sample of molecular information, the training data generation unit 126 obtains a quantum circuit from the VQE execution unit 125, extracts the features of the quantum circuit, and obtains the execution time for each iteration from the VQE execution unit 125. This generates training data for the time model.
  • the training data generation unit 126 also calculates the interatomic distance for each piece of molecular information of the sample based on the molecular information, obtains the number of iterations from the CCSD execution unit 124, and obtains the number of iterations from the VQE execution unit 125. This generates training data for the iterative model.
  • the machine learning unit 127 uses the training data stored in the training data storage unit 122 to train a time model and a repetitive model using a Gaussian process, and stores the trained time model and repetitive model in the model storage unit 123.
  • the machine learning unit 127 may train a machine learning model that outputs an expected value, may train a machine learning model that takes robustness into account, or may train a machine learning model that takes robustness and uncertainty into account.
  • the user may specify to the machine learning unit 127 whether or not to take robustness and uncertainty into account.
  • the execution time estimation unit 128 uses the machine learning model stored in the model storage unit 123 to estimate the execution time when VQE is executed based on the molecular information of the analysis target.
  • the execution time estimation unit 128 outputs the estimated execution time to the scheduler 129.
  • the execution time estimation unit 128 acquires a quantum circuit from the VQE execution unit 125 and extracts the features of the quantum circuit.
  • the execution time estimation unit 128 inputs the features of the quantum circuit into a time model and estimates the execution time for each iteration.
  • the execution time estimation unit 128 also calculates interatomic distances for the molecular information of the analysis target based on the molecular information, and obtains the number of iterations from the CCSD execution unit 124.
  • the execution time estimation unit 128 inputs the interatomic distances and the number of iterations of CCSD into an iteration model to estimate the number of iterations of VQE.
  • the execution time estimation unit 128 then multiplies the estimated execution time for each iteration by the number of iterations of VQE to estimate the execution time of VQE.
  • the scheduler 129 schedules jobs that calculate the energy of the molecule being analyzed based on the estimated execution time obtained from the execution time estimation unit 128. For example, the scheduler 129 selects whether to calculate the energy of the molecule being analyzed using VQE or a classical algorithm (e.g., CCSD(T)) based on the estimated execution time. The scheduler 129 also determines the schedule of multiple VQE jobs (e.g., the start time of each VQE job) based on the estimated execution time.
  • VQE a classical algorithm
  • FIG. 7 is a flowchart showing an example of the machine learning procedure.
  • the training data generation unit 126 acquires molecular information of the sample.
  • the training data generation unit 126 calculates the average interatomic distance from the molecular information.
  • the CCSD execution unit 124 executes a classical algorithm (e.g., CCSD) based on the molecular information and the basis functions, and measures the number of iterations of the classical algorithm.
  • the VQE execution unit 125 performs preprocessing of VQE based on the molecular information and basis functions, and generates a quantum circuit to be used in VQE.
  • the training data generation unit 126 identifies the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian from the results of the preprocessing in step S12.
  • the VQE execution unit 125 executes VQE based on the result of the pre-processing in step S12, and measures the execution time and the number of iterations for each iteration of VQE.
  • the training data generation unit 126 generates training data including the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian identified in step S13, and the execution time for each iteration measured in step S14.
  • the training data generation unit 126 generates training data including the interatomic distances calculated in step S10, the number of iterations of the classical algorithm measured in step S11, and the number of iterations of VQE measured in step S14.
  • the machine learning unit 127 uses the training data generated in step S15 to train a time model that estimates the execution time for each iteration.
  • the machine learning unit 127 uses the training data generated in step S16 to train an iterative model that estimates the number of iterations of VQE.
  • the machine learning unit 127 saves the time model trained in step S17 and the repetitive model trained in step S18 in non-volatile storage.
  • the machine learning unit 127 may display the trained time model and the repetitive model on the display device 111, or may transmit them to another information processing device.
  • FIG. 8 is a flowchart showing an example of the procedure for estimating execution time.
  • the execution time estimation unit 128 acquires molecular information indicating the molecule to be analyzed.
  • the execution time estimation unit 128 calculates the average interatomic distance from the molecular information.
  • the CCSD execution unit 124 executes a classical algorithm (e.g., CCSD) based on the molecular information and the basis function, and measures the number of iterations of the classical algorithm.
  • the VQE execution unit 125 performs preprocessing of VQE based on the molecular information and basis functions, and generates a quantum circuit to be used in VQE.
  • the execution time estimation unit 128 identifies the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian from the result of the preprocessing in step S22.
  • the execution time estimation unit 128 inputs the number of quantum bits, the depth of the Ansatz circuit, and the number of terms in the Hamiltonian identified in step S23 into the trained time model, and estimates the execution time for each iteration.
  • the execution time estimation unit 128 inputs the interatomic distances calculated in step S20 and the number of iterations of the classical algorithm measured in step S21 into the trained iterative model, and estimates the number of iterations of VQE.
  • the execution time estimation unit 128 estimates the execution time of the VQE by multiplying the execution time for each iteration estimated in step S24 by the number of iterations estimated in step S25.
  • the execution time estimation unit 128 outputs the estimated execution time to the scheduler 129. Note that the execution time estimation unit 128 may store the estimated execution time in non-volatile storage, may display it on the display device 111, or may transmit it to another information processing device.
  • Figure 9 is a graph showing an example of the estimation accuracy of execution time.
  • Graphs 51, 52, and 53 are scatter plots showing the relationship between the estimated execution time and the actual execution time of VQE.
  • the estimated execution time here is the expected value of the execution time.
  • the horizontal axis represents the logarithm of the estimated execution time
  • the vertical axis represents the logarithm of the actual execution time.
  • Graph 51 shows the simulation results for H2O molecules.
  • Graph 52 shows the simulation results for H4 molecules.
  • Graph 53 shows the simulation results for H6 molecules.
  • the execution time of VQE varies greatly depending on the molecular structure. In contrast, as shown in graphs 51, 52, and 53, the information processing device 100 can estimate expected values that are close to the actual execution time.
  • the information processing device 100 of the second embodiment estimates the execution time of VQE before executing VQE. This allows the information processing device 100 to efficiently perform job scheduling for quantum chemistry calculations based on the estimated execution time. Furthermore, the information processing device 100 divides the estimation of the execution time into an estimation of the execution time for each iteration and an estimation of the number of iterations, and estimates both using different machine learning models. This allows features suitable for calculating each estimated value to be used, improving the accuracy of estimating the execution time.
  • the information processing device 100 executes a classical algorithm such as CCSD to measure the number of iterations of the classical algorithm, and estimates the number of iterations of VQE using the number of iterations of the classical algorithm. Because the number of iterations of the classical algorithm that is correlated with the number of iterations of VQE is used, the estimation accuracy is improved compared to estimating the number of iterations of VQE from only the features of the quantum circuit. In addition, because the execution time of the classical algorithm is sufficiently shorter than that of VQE, the information processing device 100 can quickly estimate the execution time of VQE.
  • the information processing device 100 further estimates the number of iterations of VQE using the interatomic distance. This allows the machine learning model to learn the tendency for the number of iterations of VQE to increase as the interatomic distance becomes longer, improving the accuracy of estimating the number of iterations. Furthermore, the information processing device 100 takes into account the risk that the execution time of VQE will exceed the expected value due to randomness in the number of iterations or a lack of training data, and calculates an estimate that covers the risk. This allows the information processing device 100 to suppress the risk that the execution time of VQE will exceed the estimated value to an acceptable level, enabling highly reliable job scheduling.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

量子化学計算のアルゴリズムの反復回数を推定する。 コンピュータは、分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、量子回路データを用いるアルゴリズム(14)と異なるアルゴリズム(13)を、分析対象の分子を示す分子情報(16)に基づいて実行し、アルゴリズム(13)の反復回数(17)を特定する。コンピュータは、アルゴリズム(13)の反復回数を説明変数とし、アルゴリズム(14)の反復回数を目的変数として訓練された機械学習モデル(15)に、反復回数(17)を入力する。コンピュータは、機械学習モデル(15)によって算出された、分子情報(16)に基づいてアルゴリズム(14)を実行する場合の反復回数(18)の推定値を出力する。

Description

推定プログラム、情報処理装置および機械学習方法
 本発明は推定プログラム、情報処理装置および機械学習方法に関する。
 コンピュータは、数値計算を通じて分子の特性を分析する分子シミュレーションを行うことがある。分子シミュレーションは、材料開発や医薬品開発などの産業分野で利用されることがある。分子シミュレーションには、分子の電子状態とシュレーディンガー方程式とに基づいて微視的に分子のエネルギーを算出する量子化学計算が含まれる。
 量子化学計算のアルゴリズムには、変分量子固有値ソルバ法(VQE:Variational Quantum Eigensolver)など、量子回路データを用いるアルゴリズムがある。量子回路データを用いるアルゴリズムは、量子コンピュータが実行することも可能である。また、量子化学計算のアルゴリズムには、配置間相互作用法(CI: Configuration Interaction)や結合クラスタ法(CC:Coupled Cluster)など、他のアルゴリズムもある。
 典型的なアルゴリズムは、電子配置を変えながら分子のエネルギーを繰り返し算出する反復処理を行う。アルゴリズムは、エネルギーの算出結果が収束するまで、反復処理を継続することがある。アルゴリズムは、エネルギーが最小になる電子配置を探索することがあり、最小のエネルギーを分子の基底エネルギーとして出力することがある。
 なお、配置間相互作用法において、分子がもつ複数の分子軌道のうち一部の分子軌道を動的に選択し、選択した分子軌道に限定した電子配置に基づいて分子のエネルギーを算出する量子化学計算装置が提案されている。
国際公開第2022/097298号
 コンピュータは、量子回路データを用いるアルゴリズムの反復回数を、そのアルゴリズムの実行前に推定したいことがある。例えば、コンピュータは、反復回数の推定値を利用して、分子のエネルギーを算出するジョブのスケジューリングを行うことが考えられる。
 しかし、アルゴリズムの反復回数は分析対象の分子によって大きく異なることがあり、精度よく推定することは容易でない。例えば、エネルギーの算出結果が収束するまでの反復回数は分子によって大きく異なることがあり、アルゴリズムが使用する量子回路データのみから推定することは容易でないことがある。そこで、1つの側面では、本発明は、量子化学計算のアルゴリズムの反復回数を推定することを目的とする。
 1つの態様では、以下の処理をコンピュータに実行させることを特徴とする推定プログラムが提供される。分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、量子回路データを用いる第2のアルゴリズムと異なる第1のアルゴリズムを、分析対象の分子を示す分子情報に基づいて実行し、第1のアルゴリズムの第1の反復回数を特定する。第1のアルゴリズムの反復回数を説明変数とし、第2のアルゴリズムの反復回数を目的変数として訓練された第1の機械学習モデルに、第1の反復回数を入力する。第1の機械学習モデルによって算出された、分子情報に基づいて第2のアルゴリズムを実行する場合の第2の反復回数の推定値を出力する。また、1つの態様では、記憶部と制御部とを有することを特徴とする情報処理装置が提供される。
 また、1つの態様では、以下の処理をコンピュータが実行することを特徴とする機械学習方法が提供される。分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、量子回路データを用いる第2のアルゴリズムと、第2のアルゴリズムと異なる第1のアルゴリズムとを、サンプルの分子を示す分子情報に基づいてそれぞれ実行し、第1のアルゴリズムの第1の反復回数と第2のアルゴリズムの第2の反復回数とを特定する。第1の反復回数および第2の反復回数を含む訓練データを用いて、第1のアルゴリズムの反復回数を説明変数とし、第2のアルゴリズムの反復回数を目的変数とする第1の機械学習モデルを訓練する。
 1つの側面では、量子化学計算のアルゴリズムの反復回数を推定できる。
 本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
第1の実施の形態の情報処理装置を説明するための図である。 第2の実施の形態の情報処理装置のハードウェア例を示す図である。 異なるアルゴリズムの精度および実行時間の比較例を示す図である。 ジョブスケジューリングの例を示す図である。 時間モデルおよび反復モデルの入出力データの例を示す図である。 情報処理装置の機能例を示すブロック図である。 機械学習の手順例を示すフローチャートである。 実行時間推定の手順例を示すフローチャートである。 実行時間の推定精度の例を示すグラフである。
 以下、本実施の形態を図面を参照して説明する。まず、第1の実施の形態を説明する。図1は、第1の実施の形態の情報処理装置を説明するための図である。情報処理装置10は、機械学習モデルを用いて、量子化学計算のアルゴリズムの反復回数を推定する。
 情報処理装置10は、機械学習モデルを訓練してもよく、反復回数を推定したアルゴリズムを実行してもよい。また、情報処理装置10は、推定した反復回数に基づいて、量子化学計算のジョブのスケジューリングを行ってもよい。情報処理装置10は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置10が、コンピュータ、推定装置、機械学習装置、分子シミュレーション装置またはジョブスケジューラと呼ばれてもよい。
 情報処理装置10は、記憶部11および制御部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージでもよい。
 制御部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。ただし、制御部12が、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、例えば、RAMなどのメモリ(記憶部11でもよい)に記憶されたプログラムを実行する。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
 記憶部11は、訓練済みの機械学習モデル15を記憶する。機械学習モデル15は、線形回帰モデルでもよく、非線形回帰モデルでもよく、回帰モデル以外の機械学習モデルでもよい。機械学習モデル15は、アルゴリズム13の反復回数を説明変数とし、アルゴリズム14の反復回数を目的変数として訓練される。よって、機械学習モデル15は、アルゴリズム13の反復回数からアルゴリズム14の反復回数を推定する。説明変数は、分子に含まれる複数の原子の間の距離など、分子に関する他の特徴量を含んでもよい。
 アルゴリズム13,14は、量子化学計算用のアルゴリズムであり、分子に対応するエネルギーを反復処理によって算出する。アルゴリズム13,14は、例えば、分子の電子配置を変えながら分子のエネルギーを繰り返し算出し、その分子の最小のエネルギーを、分子が安定状態にあるときの基底エネルギーとして算出する。反復処理は、例えば、エネルギーの算出結果が収束条件を満たすまで継続される。収束条件は、例えば、最新のエネルギーと1回前のエネルギーとの差が閾値未満であることである。
 アルゴリズム14は、量子回路データを用いるアルゴリズムである。アルゴリズム14は、例えば、VQEである。アルゴリズム14は、ゲート型の量子コンピュータにより実行されることがある。また、アルゴリズム14は、ノイマン型の古典コンピュータ上で量子コンピュータの動作をシミュレートする量子シミュレータにより実行されることがある。アルゴリズム14は、量子アルゴリズムと呼ばれてもよい。
 量子回路データは、量子ビットに対するゲート操作を規定する量子計算モデルである。例えば、量子回路データは、1以上の量子ビットを用いて量子状態を生成するアンザッツ(Ansatz)回路と、量子状態にハミルトニアンを適用してエネルギーを測定する測定回路とを規定する。アンザッツ回路および測定回路はそれぞれ、直列に並んだ1以上の量子ゲートを含む。量子ゲートには、制御ノット(CNOT:Controlled NOT)ゲート、制御Z(CZ:Controlled Z)ゲート、位相シフトゲート、アダマールゲートなどがある。
 量子回路データは、分析対象の分子を示す分子情報から生成される。例えば、アンザッツ回路は、分子軌道を表現する基底関数から生成される。測定回路は、分子の種類に応じたハミルトニアンを表現するパウリ行列から生成される。量子回路データの生成は、アルゴリズム14の前処理と呼ばれることがある。
 アルゴリズム13は、アルゴリズム14と異なるアルゴリズムである。例えば、アルゴリズム13は、量子回路データを用いない。アルゴリズム13は、ノイマン型の古典コンピュータにより実行される。アルゴリズム13は、古典アルゴリズムと呼ばれてもよい。アルゴリズム13の計算量および実行時間は、アルゴリズム14よりも十分に小さいことが好ましい。アルゴリズム13は、例えば、配置間相互作用法または結合クラスタ法である。配置間相互作用法は、CISD(Configuration Interaction Singles and Doubles)を含む。結合クラスタ法は、CCSD(Coupled Cluster Singles and Doubles)や、CCSD(T)(Coupled Cluster Singles and Doubles(and Triples))を含む。
 制御部12は、分析対象の分子を示す分子情報16を取得する。分子情報16は、例えば、分子に含まれる複数の原子それぞれの種類を示す。また、分子情報16は、例えば、分子に含まれる複数の原子それぞれの位置座標を示す。分子情報16は、ユーザから入力されてもよく、記憶部11に記憶されてもよい。制御部12は、分子情報16に基づいてアルゴリズム14を実行する場合の反復回数を、アルゴリズム14の実行前に推定する。
 まず、制御部12は、分子情報16に基づいてアルゴリズム13を実行する。ただし、制御部12は、アルゴリズム13を他の情報処理装置に実行させてもよい。アルゴリズム13により、分子情報16が示す分子のエネルギーが算出される。このとき、制御部12は、分子情報16に対するアルゴリズム13の反復回数17を特定する。反復回数17は、例えば、分子情報16から算出されるエネルギーが収束するまでにアルゴリズム13によって行われた反復処理のイテレーション数である。
 次に、制御部12は、機械学習モデル15に反復回数17を入力する。機械学習モデル15により、反復回数17に対応する反復回数18が算出される。反復回数18は、分子情報16に基づいてアルゴリズム14を実行する場合の反復回数の推定値である。例えば、反復回数18は、分子情報16から算出されるエネルギーが収束するまでにアルゴリズム14によって行われる反復処理のイテレーション数である。反復回数18は、反復回数17と一致しないことが多いものの、反復回数17と正の相関をもつ。よって、反復回数17が大きいほど、反復回数18が大きいことが多い。
 そして、制御部12は、推定された反復回数18を出力する。制御部12は、推定された反復回数18を不揮発性ストレージに記録してもよいし、表示装置に表示してもよいし、他の情報処理装置に送信してもよい。
 また、制御部12は、反復回数18を用いて、分子情報16に対するアルゴリズム14の実行時間を推定してもよい。例えば、制御部12は、イテレーション1回当たりの単位実行時間と反復回数18との積を、実行時間と推定する。単位実行時間は、固定値でもよく、アルゴリズム14が用いる量子回路データの規模から推定されてもよい。単位実行時間は、機械学習モデル15とは別の機械学習アルゴリズムを用いて推定されてもよい。
 制御部12は、推定された実行時間を出力してもよい。制御部12は、推定された実行時間を不揮発性ストレージに記録してもよいし、表示装置に表示してもよいし、他の情報処理装置に送信してもよい。また、制御部12は、推定された実行時間に基づいて、アルゴリズム14の実行を制御してもよい。
 また、制御部12は、分子情報16が示す分子のエネルギーを算出するジョブのスケジューリングを行ってもよい。例えば、制御部12は、推定された実行時間に基づいて、ジョブに割り当てるハードウェアリソースを決定する。また、例えば、制御部12は、推定された実行時間に基づいて、ジョブの開示予定時刻や終了予定時刻を決定する。また、例えば、制御部12は、推定された実行時間に基づいて、アルゴリズム14を使用するか他のアルゴリズムを使用するかを決めるアルゴリズム選択を行う。
 以上説明したように、第1の実施の形態の情報処理装置10は、分子情報16に基づいてアルゴリズム13を実行し、アルゴリズム13の反復回数17を特定する。情報処理装置10は、アルゴリズム13の反復回数を説明変数とし、アルゴリズム14の反復回数を目的変数として訓練された機械学習モデル15に、反復回数17を入力する。情報処理装置10は、機械学習モデル15によって算出された、分子情報16に基づいてアルゴリズム14を実行する場合の反復回数18の推定値を出力する。
 これにより、アルゴリズム14の実行前にアルゴリズム14の反復回数18が推定される。よって、アルゴリズム14の実行制御やジョブスケジューリングなどに利用可能な有用な情報が提供される。また、反復回数18と相関のあるアルゴリズム13の反復回数17を使用するため、反復回数18の推定精度が向上する。特に、量子回路データの特徴を示す特徴量のみから反復回数18を推定する場合よりも、推定精度が向上する。
 なお、機械学習モデル15の説明変数は、原子間距離を更に含んでもよい。情報処理装置10は、分子情報16が示す原子間距離を、反復回数17に加えて機械学習モデル15に入力してもよい。これにより、分子に含まれる原子の種類が同じであっても、原子間距離に応じて異なる反復回数18が算出される。例えば、原子間距離が大きいほど反復回数18が大きくなる。よって、反復回数18の推定精度が向上する。
 また、情報処理装置10は、分子情報16に基づいてアルゴリズム14を実行する場合に用いられる量子回路データの特徴量を特定してもよい。情報処理装置10は、量子回路データの特徴量を説明変数とし、反復処理に含まれるイテレーション1回当たりの単位実行時間を目的変数として訓練された他の機械学習モデルに、特定した特徴量を入力してもよい。そして、情報処理装置10は、当該他の機械学習モデルによって算出された、アルゴリズム14の単位実行時間の推定値を出力してもよい。これにより、アルゴリズム14の実行制御やジョブスケジューリングなどに利用可能な有用な情報が提供される。
 また、情報処理装置10は、反復回数18の推定値と単位実行時間の推定値とに基づいて、アルゴリズム14の実行時間を推定してもよい。これにより、アルゴリズム14の実行制御やジョブスケジューリングなどに利用可能な有用な情報が提供される。また、アルゴリズム14の実行時間の推定精度が向上する。特に、量子回路データの特徴量のみから実行時間を推定する場合よりも、推定精度が向上する。
 また、情報処理装置10は、推定された実行時間に基づいて、分子のエネルギーを算出するジョブのスケジューリングを行ってもよい。これにより、精度の高い推定実行時間に基づいてジョブのスケジューリングが行われ、サーバ装置やプロセッサなどのハードウェアリソースの利用効率が向上する。また、ジョブの終了時刻が早くなる。
 また、アルゴリズム13は、配置間相互作用法または結合クラスタ法であってもよく、アルゴリズム14は、変分量子固有値ソルバ法であってもよい。これにより、アルゴリズム14の実行時間よりも十分に短い時間で、反復回数18が迅速に推定される。また、反復回数17が反復回数18と正の相関をもち、反復回数18の推定精度が向上する。
 また、情報処理装置10は、以下のように機械学習モデル15を訓練してもよい。例えば、情報処理装置10は、アルゴリズム13,14を、サンプルの分子を示す分子情報に基づいてそれぞれ実行し、アルゴリズム13の反復回数とアルゴリズム14の反復回数とを特定する。情報処理装置10は、特定した反復回数を含む訓練データを用いて、アルゴリズム13の反復回数を説明変数とし、アルゴリズム14の反復回数を目的変数とする機械学習モデル15を訓練する。
 例えば、情報処理装置10は、機械学習モデル15としての回帰モデルのフィッティングを行い、機械学習モデル15に含まれるパラメータ値を最適化する。これにより、アルゴリズム14の反復回数の推定精度が向上する。
 次に、第2の実施の形態を説明する。第2の実施の形態の情報処理装置100は、分子のエネルギーを算出する量子化学計算のジョブのスケジューリングを行う。情報処理装置100は、スケジューリングのために、VQEの実行前にVQEの実行時間を推定する。
 量子化学計算のアルゴリズムは、情報処理装置100によって実行されてもよいし、他の情報処理装置によって実行されてもよい。また、実行時間の推定に用いる機械学習モデルは、情報処理装置100によって訓練されてもよいし、他の情報処理装置によって訓練されてもよい。情報処理装置100は、クライアント装置でもよいしサーバ装置でもよい。情報処理装置100が、コンピュータ、推定装置、機械学習装置、分子シミュレーション装置またはジョブスケジューラと呼ばれてもよい。情報処理装置100は、第1の実施の形態の情報処理装置10に対応する。
 図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。情報処理装置100は、バスに接続されたCPU101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の制御部12に対応する。RAM102またはHDD103は、第1の実施の形態の記憶部11に対応する。
 CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムおよびデータをRAM102にロードし、プログラムを実行する。情報処理装置100は、複数のプロセッサを有してもよい。
 RAM102は、CPU101で実行されるプログラムおよびCPU101で演算に使用されるデータを一時的に記憶する揮発性半導体メモリである。情報処理装置100は、RAM以外の種類の揮発性メモリを有してもよい。
 HDD103は、オペレーティングシステム(OS:Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラムと、データとを記憶する不揮発性ストレージである。情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の不揮発性ストレージを有してもよい。
 GPU104は、CPU101と連携して画像処理を行い、情報処理装置100に接続された表示装置111に画像を出力する。表示装置111は、例えば、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイまたはプロジェクタである。情報処理装置100に、プリンタなどの他の種類の出力デバイスが接続されてもよい。
 また、GPU104は、GPGPU(General Purpose Computing on Graphics Processing Unit)として使用されてもよい。GPU104は、CPU101からの指示に応じてプログラムを実行し得る。情報処理装置100は、RAM102以外の揮発性半導体メモリをGPUメモリとして有してもよい。
 入力インタフェース105は、情報処理装置100に接続された入力デバイス112から入力信号を受け付ける。入力デバイス112は、例えば、マウス、タッチパネルまたはキーボードである。情報処理装置100に複数の入力デバイスが接続されてもよい。
 媒体リーダ106は、記録媒体113に記録されたプログラムおよびデータを読み取る読み取り装置である。記録媒体113は、例えば、磁気ディスク、光ディスクまたは半導体メモリである。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)およびHDDが含まれる。光ディスクには、CD(Compact Disc)およびDVD(Digital Versatile Disc)が含まれる。媒体リーダ106は、記録媒体113から読み取られたプログラムおよびデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、CPU101によって実行されることがある。
 記録媒体113は、可搬型記録媒体であってもよい。記録媒体113は、プログラムおよびデータの配布に用いられることがある。また、記録媒体113およびHDD103が、コンピュータ読み取り可能な記録媒体と呼ばれてもよい。
 通信インタフェース107は、ネットワーク114を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
 次に、量子化学計算のアルゴリズムについて説明する。量子化学計算は、分子シミュレーションの一種であり、分子構造や分子間相互作用を電子状態から解析する。量子化学計算は、材料開発の支援や医薬品開発の支援に用いられることがある。量子化学計算は、微視的な分子シミュレーションであり、解析精度が高いものの計算負荷が高い。
 量子化学計算は、シュレーディンガー方程式HΨ=EΨを解く。Hはハミルトニアン、Ψは波動関数、Eはエネルギーである。ハミルトニアンHは、対象の分子構造に依存する。波動関数Ψは電子の固有状態に相当し、エネルギーEはΨに対応する固有エネルギーに相当する。量子化学計算は、分子構造が安定しているときの基底エネルギーを算出する。ただし、シュレーディンガー方程式を直接解くことは難しい。
 そこで、量子化学計算は、波動関数Ψを基底関数で表現する。基底関数は、既知関数の線形結合である。基底関数に含まれる複数の項それぞれが、分子軌道に対応する。分子軌道は、分子に含まれる電子のうち何れか1つの電子が入る可能性のある場所である。量子化学計算は、分子に含まれる複数の原子の位置座標を示す分子情報、求解アルゴリズムおよび基底関数の指定を受け付け、指定された情報に基づいて基底エネルギーを算出する。
 量子化学計算は、ポテンシャルエネルギー曲線を生成することがある。ポテンシャルエネルギー曲線は、異なる原子間距離に対応するポテンシャルエネルギーを示す。ポテンシャルエネルギーは、各原子が静止していると仮定した場合に分子がもつエネルギーである。ポテンシャルエネルギー曲線の横軸は、着目する特定の2つの原子の間の距離を表す。ポテンシャルエネルギー曲線の縦軸は、基底エネルギーを表す。
 距離の単位は、例えば、オングストローム(Å)である。エネルギーの単位は、例えば、ハートリーである。エネルギーは、一定範囲に含まれる離散的な複数の距離それぞれに対して算出される。それら複数の距離は、等間隔であってもよい。例えば、エネルギーは、0.5Åから3.0Åまで0.1Å間隔で算出される。算出されたエネルギーをプロットして線で結ぶことで、ポテンシャルエネルギー曲線が生成される。ポテンシャルエネルギー曲線の極小点は、分子の最も安定した状態を表すことがある。ポテンシャルエネルギー曲線の極大点は、分子の遷移状態を表すことがある。
 量子化学計算のジョブには、異なる種類の分子に対するエネルギーを算出するジョブが含まれることがある。また、量子化学計算のジョブには、種類が同一で距離設定が異なる分子に対するエネルギーを算出するジョブが含まれることがある。また、量子化学計算のジョブには、異なるユーザから要求されたジョブが含まれることがある。
 図3は、異なるアルゴリズムの精度および実行時間の比較例を示す図である。量子化学計算のアルゴリズムには、ノイマン型の古典コンピュータでの実行を想定した古典アルゴリズムと、ゲート型の量子コンピュータでの実行を想定した量子アルゴリズムとがある。ただし、量子アルゴリズムは、量子コンピュータの動作をシミュレートするソフトウェアと古典コンピュータとを用いて実行されることがある。第2の実施の形態では、量子アルゴリズムが、このようなシミュレータを用いて実行される場合を想定する。
 量子化学計算のアルゴリズムの例として、図3に示すように、アルゴリズム31,32,33,34が挙げられる。アルゴリズム31は、VQEである。VQEは、量子アルゴリズムに属する。アルゴリズム32は、CISDである。CISDは、配置間相互作用法に属する。アルゴリズム33は、CCSDである。アルゴリズム34は、CCSD(T)である。CCSD,CCSD(T)は、結合クラスタ法に属する。CISD,CCSD,CCSD(T)は、古典アルゴリズムに属する。
 VQEは、指定された基底関数に基づいて、複数の量子ビットを用いて量子状態を生成する量子回路を生成する。この量子回路は、アンザッツ回路と呼ばれることがある。また、VQEは、指定された分子情報に応じたハミルトニアンに基づいて、量子状態からエネルギーを測定する量子回路を生成する。この量子回路は、測定回路と呼ばれることがある。量子回路は、量子ゲートの組み合わせにより記述される量子計算モデルである。量子回路の生成は、VQEの前処理と呼ばれることがある。
 量子コンピュータを用いる場合、物理的な量子ビットを用いて量子回路が実装される。量子シミュレータを用いる場合、擬似的な量子ビットデータがメモリに記憶され、擬似的な量子ゲート操作が古典プログラムを用いて実装される。
 VQEは、アンザッツ回路を用いて量子状態を生成し、測定回路を用いてエネルギーを測定する。個々の測定値は、ノイズや揺らぎの影響を受けている。VQEは、同一の電子配置に関して量子状態の生成およびエネルギーの測定を複数回行い、その平均値をエネルギーの期待値として算出する。VQEは、エネルギーの期待値が小さくなるように、量子状態を生成するためのパラメータ値を変更する。パラメータ値の変更は、電子配置の変更に相当する。VQEは、上記の処理を繰り返すことで、基底エネルギーを探索する。例えば、VQEは、エネルギーの期待値が収束するまで上記の処理を繰り返す。
 量子シミュレータを用いる場合、量子ビットが1ビット増加する毎に、古典コンピュータのメモリ使用量および計算量が2倍になる。VQEの解の精度は、古典アルゴリズムよりも高い。ただし、VQEの実行時間は、古典アルゴリズムよりも顕著に長い。VQEの実行時間は、古典アルゴリズムの1000倍になることもある。
 CISDは、指定された分子情報および基底関数のもとで、ボルン-オッペンハイマー近似を用いてシュレーディンガー方程式の近似解を求める。CISDは、電子状態として、1電子励起および2電子励起がエネルギーに与える影響を考慮し、3電子励起以上の電子励起の影響を無視する。CISDは、電子配置を変えながらエネルギーを繰り返し算出し、最小のエネルギーを探索する。CISDは、算出されるエネルギーが収束するまで反復処理を行う。例えば、CISDは、最新のイテレーションの解と1つ前のイテレーションの解とを比較し、両者の差が閾値未満になると反復処理を停止する。
 一般的に、CISDの解の精度は、VQE,CCSD,CCSD(T)よりも低い。また、CISDの実行時間は、VQE,CCSD,CCSD(T)よりも短い。CISDは、電子数の6乗のオーダーの計算量をもつ。
 CCSDは、ハートリーフォック分子軌道法をベースにするアルゴリズムであり、電子相関を考慮する指数関数クラスタ演算子を用いて多電子分子の波動関数を近似する。CCSDは、指定された分子情報および基底関数のもとで、近似した波動関数を用いて、シュレーディンガー方程式の近似解を求める。CCSDは、1電子励起および2電子励起がエネルギーに与える影響を考慮し、3電子励起以上の電子励起の影響を無視する。CISDと同様に、CCSDは、電子配置を変えながらエネルギーを繰り返し算出し、最小のエネルギーを探索する。CCSDは、算出されるエネルギーが収束するまで反復処理を行う。
 一般的に、CCSDの解の精度は、VQE,CCSD(T)よりも低くCISDよりも高い。また、CCSDの実行時間は、VQE,CCSD(T)よりも短くCISDよりも長い。CCSDは、電子数の6乗のオーダーの計算量をもつ。
 CCSD(T)は、CCSDと同じ結合クラスタ法に属するアルゴリズムである。ただし、CCSD(T)は、考慮する電子励起がCCSDと異なる。CCSD(T)は、電子状態として、1電子励起および2電子励起がエネルギーに与える影響を厳密に計算し、3電子励起がエネルギーに与える影響を摂動から求める。一方、CCSD(T)は、4電子励起以上の電子励起の影響を無視する。
 一般的に、CCSD(T)の解の精度は、VQEよりも低くCISD,CCSDよりも高い。また、CCSD(T)の実行時間は、VQEよりも短くCISD,CCSDよりも長い。CCSD(T)は、電子数の7乗のオーダーの計算量をもつ。
 なお、シミュレーション対象の分子は「系」と呼ばれることがある。実行時間は、リソース使用量と正の相関をもち、リソース使用量と比例することがある。量子化学計算が使用するハードウェアリソースには、プロセッサの命令実行時間やメモリの記憶領域が含まれ得る。古典アルゴリズムは、量子回路を用いずに分子のエネルギーを算出し得る。
 次に、ジョブスケジューリングについて説明する。ジョブスケジューリングとして、情報処理装置100は、同一ユーザまたは異なるユーザの2以上のVQEジョブにリソースを割り当てることがある。2以上のVQEジョブは、異なる計算ノードによって実行されることがあり、同一の計算ノードによって異なる時刻に実行されることがある。
 このとき、情報処理装置100は、2以上のVQEジョブそれぞれの実行時間を推定する。情報処理装置100は、推定実行時間に基づいて、各VQEジョブの開始時刻を決定してもよく、終了予定時刻をユーザに通知してもよい。また、情報処理装置100は、推定実行時間に基づいて、複数の計算ノードの負荷が偏らないように、複数の計算ノードにVQEジョブを割り振ってもよい。また、情報処理装置100は、推定実行時間に基づいて、ユーザが指定する期限までにVQEジョブが終了することを保証してもよい。
 また、ジョブスケジューリングの一環として、情報処理装置100は、推定実行時間に基づいてアルゴリズムを自動的に選択することがある。アルゴリズム選択は、ユーザから指定された分子のエネルギーを、VQEによって算出するか古典アルゴリズムによって算出するかを選択する。計算ノードの空きリソースに余裕がある場合、情報処理装置100は、精度の高いVQEを選択してもよい。一方、空きリソースに余裕がない場合、情報処理装置100は、実行時間の短い古典アルゴリズムを選択してもよい。情報処理装置100は、ユーザ指定の期限と推定実行時間とからアルゴリズムを選択してもよい。
 図4は、ジョブスケジューリングの例を示す図である。ここでは、情報処理装置100は、ジョブ41,42,43のスケジュールを決定する。ジョブ41,42,43は、同一ユーザのジョブであり、分子の種類が同じで原子間距離が異なる分子のエネルギーを算出する。ジョブ41,42,43は、VQEによって実行される。説明を簡単にするため、単一の計算ノードを用いてジョブ41,42,43を実行する場合を考える。ジョブ41,42,43を実行する計算ノードは、情報処理装置100自身でもよい。
 情報処理装置100は、ジョブ41,42,43を順に計算ノードに実行させるスケジュールを生成する。このとき、情報処理装置100は、指定された分子情報に基づいてジョブ41,42,43それぞれの実行時間を推定する。情報処理装置100は、推定実行時間に基づいて、ジョブ41,42,43それぞれの開始時刻と終了時刻を決定する。
 例えば、情報処理装置100は、ジョブ41の開始時刻をT1に決定する。また、情報処理装置100は、ジョブ42の開始時刻をT1より後のT2に決定する。時刻T2は、例えば、時刻T1にジョブ41の推定実行時間を加えた時刻である。また、情報処理装置100は、ジョブ43の開始時刻をT2より後のT3に決定する。時刻T3は、例えば、時刻T2にジョブ42の推定実行時間を加えた時刻である。
 なお、情報処理装置100は、あるジョブが次のジョブの開始時刻までに終わらない場合、当該ジョブを強制的に停止することがある。そのため、ジョブ41,42,43の推定実行時間は、リスクを考慮して期待値よりも大きく算出されることがある。
 次に、VQEの実行時間の推定について説明する。情報処理装置100は、事前に訓練された機械学習モデルを用いてVQEの実行時間を推定する。機械学習モデルが推定器と呼ばれてもよい。第2の実施の形態の機械学習モデルは、ガウス過程によって生成されるガウス過程回帰モデルである。また、情報処理装置100は、サンプルの分子情報を用いて訓練データを生成し、生成された訓練データを用いて機械学習モデルを訓練する。
 機械学習モデルは、VQEのイテレーション毎の実行時間を推定する時間モデルと、VQEの反復回数を推定する反復モデルとを含む。イテレーション毎の実行時間は、1つの電子配置に対応するエネルギーの期待値を算出する時間に相当する。反復回数は、基底エネルギーを求めて電子配置を変更する試行回数に相当する。VQEの実行時間の推定値は、時間モデルが推定する単位実行時間と反復モデルが推定する反復回数との積である。
 このように、第2の実施の形態では、反復処理の実行時間の推定が、イテレーション毎の実行時間の推定と反復回数の推定とに分割される。これは、VQEで使用される量子回路の規模のみでは、反復回数を精度よく推定することが難しいためである。また、原子間距離が同じであっても、分子の種類によって収束までの反復回数が異なることがある。
 また、実際の反復回数は、ランダム性によって揺れることがあり、期待値よりも上振れするリスクがある。また、訓練データが少ないことに起因して、反復モデルの推定結果に不確実性が生じることがある。そこで、情報処理装置100は、ランダム性および不確実性の少なくとも一方を考慮して、期待値より多い反復回数を出力する反復モデルを使用することがある。以下、数式を用いて機械学習モデルの一例を説明する。
 まず、イテレーション毎の実行時間を推定する時間モデルについて説明する。時間モデルの説明変数は、数式(1)に示す次数3のベクトルxである。数式(1)において、qは量子ビット数、dはアンザッツ回路の深さ、lはハミルトニアンの項数である。アンザッツ回路の深さは、直列に並んだ量子ゲートの段数である。ハミルトニアンの項数は、ハミルトニアンをパウリ行列の和に分解した場合の項数である。
Figure JPOXMLDOC01-appb-M000001
 イテレーション毎の実行時間の期待値を算出する時間モデルは、例えば、数式(2)のように規定される。数式(2)において、yはイテレーション毎の実行時間を示す目的変数であり、nは訓練データに含まれるレコードの個数である。時間モデルを訓練するための訓練データには、(x,y),…,(x,y)のように、説明変数の値と目的変数の値のペアであるレコードがn個含まれる。
Figure JPOXMLDOC01-appb-M000002
 kをガウス過程のカーネルとする。カーネルkは、ベクトル間の類似度を規定する関数である。カーネルkの例として、RBF(Radial Basis Function)カーネルやMaternカーネルなどが挙げられる。数式(2)のKは、訓練データに含まれる説明変数の値から生成されるn×nの正方行列である。行列Kのi行j列の成分は、k(x,x)である。行列Kは、訓練データに含まれる2つの説明変数の値の間の類似度を示す。Iは、n×nの単位行列である。k(x)は、i行目の成分がk(x,x)である列ベクトルである。k(x)は、あるベクトルxについて、訓練データに含まれるn個の説明変数の値それぞれとの類似度を示す。λは、0より大きい定数である。
 情報処理装置100は、実際のイテレーション毎の実行時間が期待値から変動するリスクを考慮し、そのリスクに対するロバスト性を考慮した時間モデルを使用することもできる。まず、数式(3)に示すように、イテレーション毎の実行時間について、CVaR(Conditional Value at Risk)が規定される。数式(3)において、αは0より大きく1以下の定数である。ψν(y)およびUは、数式(4)のように規定される。
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
 ロバスト性を考慮した時間モデルは、例えば、数式(3)のCVaRを用いて数式(5)のように規定される。数式(5)によって算出される推定値は、イテレーション毎の実行時間の上振れリスクが反映されており、数式(2)によって算出される期待値より大きいと想定される。ベクトルxについての分布をρとし、分布ρに対応する累積分布関数をFとすると、数式(5)は数式(6)の推定値を与えている。
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
 また、情報処理装置100は、訓練データが不十分であることによる時間モデルの推定の不確実性を更に考慮し、ロバスト性および不確実性を考慮した時間モデルを使用することもできる。まず、数式(7)に示すように、イテレーション毎の実行時間についてσ(x)が規定される。数式(7)において、k (x)はk(x)の転置行列である。
Figure JPOXMLDOC01-appb-M000007
 ロバスト性および不確実性を考慮した時間モデルは、例えば、数式(7)のσ(x)を用いて数式(8)のように規定される。数式(8)において、βは正の定数である。数式(8)によって算出される推定値は、イテレーション毎の実行時間の更なる上振れリスクが反映されており、数式(5)によって算出される推定値より大きい。
Figure JPOXMLDOC01-appb-M000008
 次に、反復回数を推定する反復モデルについて説明する。反復モデルの基本的構造は、時間モデルと同じである。ただし、説明変数および目的変数の意味が時間モデルと異なる。反復モデルの説明変数は、数式(9)に示す次数2のベクトルzである。数式(9)において、mは古典アルゴリズムの反復回数、sは原子間距離である。
 古典アルゴリズムは、事前に1つ選択される。例えば、CISD,CCSD,CCSD(T)の中から1つ選択される。以下の説明では、CCSDが選択されていると仮定する。なお、広義の「CCSD」は、狭義のCCSDとCCSD(T)とを包含していると解釈されることがある。分子に3以上の原子が含まれる場合、原子間距離sは、2つの原子の距離の平均である。距離は、例えば、ユークリッド距離である。
Figure JPOXMLDOC01-appb-M000009
 反復回数を推定する反復モデルは、例えば、数式(10)のように規定される。数式(10)において、wはVQEの反復回数を示す目的変数である。反復モデルを訓練するための訓練データには、(z,w),…,(z,w)のように、説明変数の値と目的変数の値のペアであるレコードがn個含まれる。
Figure JPOXMLDOC01-appb-M000010
 数式(10)について、lをガウス過程のカーネルとする。Lは、訓練データに含まれる説明変数の値から生成されるn×nの正方行列である。行列Lのi行j列の成分は、l(z,z)である。l(z)は、i行目の成分がl(z,z)である列ベクトルである。λは、0より大きい定数である。
 時間モデルと同様に、情報処理装置100は、実際の反復回数が期待値から変動するリスクを考慮し、そのリスクに対するロバスト性を考慮した反復モデルを使用することもできる。ロバスト性を考慮した反復モデルは、例えば、数式(3)のCVaRを用いて数式(11)のように規定される。ただし、数式(3)および数式(4)について、xがzに置換され、yがwに置換され、KがLに置換され、kがlに置換される。
Figure JPOXMLDOC01-appb-M000011
 また、情報処理装置100は、訓練データが不十分であることによる反復モデルの推定の不確実性を更に考慮し、ロバスト性および不確実性を考慮した反復モデルを使用することもできる。ロバスト性および不確実性を考慮した反復モデルは、例えば、数式(7)を用いて数式(12)のように規定される。ただし、数式(7)について、xがzに置換され、KがLに置換され、kがlに置換される。
Figure JPOXMLDOC01-appb-M000012
 図5は、時間モデルおよび反復モデルの入出力データの例を示す図である。情報処理装置100は、分析対象の分子についてデータ131を取得する。データ131は、分子に含まれる複数の原子それぞれの種類および座標を示す。機械学習の際には、情報処理装置100は、サンプルデータとして、データ131に相当するものをnセット取得する。
 情報処理装置100は、データ131からデータ132を生成する。データ132は、量子ビット数、アンザッツ回路の深さ、ハミルトニアンの項数およびイテレーション毎の実行時間を含む。量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数は、時間モデルの入力データであり、VQEの前処理によってデータ131から算出される。イテレーション毎の実行時間は、時間モデルの出力データである。
 機械学習の際には、情報処理装置100は、時間モデルを訓練するための訓練データとして、データ132に相当するものをnセット生成する。その場合、イテレーション毎の実行時間は教師データに相当し、VQEを実行することで測定される。
 また、情報処理装置100は、データ131からデータ133を生成する。データ133は、原子間距離、古典アルゴリズムの反復回数およびVQEの反復回数を含む。原子間距離および古典アルゴリズムの反復回数は、反復モデルの入力データである。原子間距離は、データ131が示す各原子の座標から算出される。古典アルゴリズムの反復回数は、データ131に基づいて古典アルゴリズムを実行することで測定される。VQEの反復回数は、反復モデルの出力データである。
 機械学習の際には、情報処理装置100は、反復モデルを訓練するための訓練データとして、データ133に相当するものをnセット生成する。その場合、VQEの反復回数は教師データに相当し、VQEを実行することで測定される。情報処理装置100は、イテレーション毎の実行時間とVQEの反復回数を、併せて測定することが可能である。
 情報処理装置100は、データ132,133からデータ134を生成する。データ134は、VQEの実行時間の推定値を含む。実行時間は、データ132に含まれるイテレーション毎の実行時間と、データ133に含まれるVQEの反復回数との積である。なお、時間モデルが出力するイテレーション毎の実行時間および反復回数が出力するVQEの反復回数の一方または両方は、期待値でもよいし、ロバスト性を考慮した推定値でもよいし、ロバスト性および不確実性を考慮した推定値でもよい。ユーザは、推定される実行時間の用途に応じて、これら推定値の種類を指定してもよい。
 次に、情報処理装置100の機能および処理手順について説明する。図6は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、分子情報記憶部121、訓練データ記憶部122およびモデル記憶部123を有する。これらの記憶部は、例えば、RAM102またはHDD103を用いて実装される。また、情報処理装置100は、CCSD実行部124、VQE実行部125、訓練データ生成部126、機械学習部127、実行時間推定部128およびスケジューラ129を有する。これらの処理部は、例えば、CPU101またはGPU104とプログラムとを用いて実装される。
 分子情報記憶部121は、機械学習に用いるサンプルの分子情報を記憶する。また、分子情報記憶部121は、分析対象の分子を示す分子情報を記憶する。分子情報は、ユーザにより作成される。前述のデータ131は、分子情報記憶部121に記憶される。
 訓練データ記憶部122は、イテレーション毎の実行時間を推定する時間モデルを訓練するための訓練データを記憶する。また、訓練データ記憶部122は、VQEの反復回数を推定する反復モデルを訓練するための訓練データを記憶する。これら訓練データは、分子情報記憶部121に記憶されたサンプルの分子情報に基づいて生成される。前述のデータ132,133は、訓練データ記憶部122に記憶される。モデル記憶部123は、訓練済みの機械学習モデルとして、時間モデルおよび反復モデルを記憶する。
 CCSD実行部124は、古典アルゴリズムの代表としてCCSDを実行する。ただし、情報処理装置100は、CISDまたはCCSD(T)を実行してもよい。CCSD実行部124は、訓練データ生成部126から指定されるサンプルの分子情報および基底関数に基づいてCCSDを実行し、エネルギーが収束するまで反復処理を行う。CCSD実行部124は、反復回数を測定して訓練データ生成部126に出力する。
 また、CCSD実行部124は、実行時間推定部128から指定される分析対象の分子情報および基底関数に基づいてCCSDを実行し、エネルギーが収束するまで反復処理を行う。CCSD実行部124は、反復回数を測定して実行時間推定部128に出力する。
 VQE実行部125は、量子シミュレータを用いてVQEを実行する。ただし、VQE実行部125は、量子コンピュータを用いてもよい。VQE実行部125は、訓練データ生成部126から指定されるサンプルの分子情報および基底関数に基づいて前処理を行い、サンプルの分子に応じた量子回路を生成する。VQE実行部125は、生成された量子回路に基づいてVQEを実行し、エネルギーが収束するまで反復処理を行う。VQE実行部125は、イテレーション毎の実行時間および反復回数を測定し、生成された量子回路と併せて訓練データ生成部126に出力する。
 また、VQE実行部125は、実行時間推定部128から指定される分析対象の分子情報および基底関数に基づいて前処理を行い、分析対象の分子に応じた量子回路を生成する。VQE実行部125は、生成された量子回路を実行時間推定部128に出力する。また、VQE実行部125は、スケジューラ129から指定されるスケジュールに従い、生成された量子回路に基づいてVQEを実行する。
 訓練データ生成部126は、時間モデルを訓練するための訓練データおよび反復モデルを訓練するための訓練データを生成し、訓練データ記憶部122に格納する。訓練データ生成部126は、サンプルの分子情報それぞれについて、VQE実行部125から量子回路を取得して量子回路の特徴量を抽出し、VQE実行部125からイテレーション毎の実行時間を取得する。これにより、時間モデルの訓練データが生成される。
 また、訓練データ生成部126は、サンプルの分子情報それぞれについて、分子情報に基づいて原子間距離を算出し、CCSD実行部124から反復回数を取得し、VQE実行部125から反復回数を取得する。これにより、反復モデルの訓練データが生成される。
 機械学習部127は、訓練データ記憶部122に記憶された訓練データを用いて、ガウス過程により時間モデルおよび反復モデルを訓練し、訓練された時間モデルおよび反復モデルをモデル記憶部123に格納する。機械学習部127は、期待値を出力する機械学習モデルを訓練してもよいし、ロバスト性を考慮した機械学習モデルを訓練してもよいし、ロバスト性および不確実性を考慮した機械学習モデルを訓練してもよい。ユーザが機械学習部127に対し、ロバスト性および不確実性の考慮の有無を指定してもよい。
 実行時間推定部128は、モデル記憶部123に記憶された機械学習モデルを用いて、分析対象の分子情報に基づいてVQEを実行した場合の実行時間を推定する。実行時間推定部128は、推定した実行時間をスケジューラ129に出力する。実行時間推定部128は、分析対象の分子情報について、VQE実行部125から量子回路を取得して量子回路の特徴量を抽出する。実行時間推定部128は、量子回路の特徴量を時間モデルに入力して、イテレーション毎の実行時間を推定する。
 また、実行時間推定部128は、分析対象の分子情報について、分子情報に基づいて原子間距離を算出し、CCSD実行部124から反復回数を取得する。実行時間推定部128は、原子間距離およびCCSDの反復回数を反復モデルに入力して、VQEの反復回数を推定する。そして、実行時間推定部128は、推定されたイテレーション毎の実行時間とVQEの反復回数とを乗じて、VQEの実行時間を推定する。
 スケジューラ129は、実行時間推定部128から取得した推定実行時間に基づいて、分析対象の分子のエネルギーを算出するジョブのスケジューリングを行う。例えば、スケジューラ129は、推定実行時間に基づいて、分析対象の分子のエネルギーをVQEで算出するか、古典アルゴリズム(例えば、CCSD(T))で算出するかを選択する。また、スケジューラ129は、推定実行時間に基づいて、複数のVQEのジョブのスケジュール(例えば、各VQEのジョブの開始時刻)を決定する。
 図7は、機械学習の手順例を示すフローチャートである。(S10)訓練データ生成部126は、サンプルの分子情報を取得する。訓練データ生成部126は、分子情報から原子間距離の平均を算出する。
 (S11)CCSD実行部124は、分子情報および基底関数に基づいて古典アルゴリズム(例えば、CCSD)を実行し、古典アルゴリズムの反復回数を測定する。
 (S12)VQE実行部125は、分子情報および基底関数に基づいてVQEの前処理を行い、VQEで使用される量子回路を生成する。
 (S13)訓練データ生成部126は、ステップS12の前処理の結果から、量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数を特定する。
 (S14)VQE実行部125は、ステップS12の前処理の結果に基づいてVQEを実行し、VQEのイテレーション毎の実行時間および反復回数を測定する。
 (S15)訓練データ生成部126は、ステップS13で特定された量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数と、ステップS14で測定されたイテレーション毎の実行時間とを含む訓練データを生成する。
 (S16)訓練データ生成部126は、ステップS10で算出された原子間距離と、ステップS11で測定された古典アルゴリズムの反復回数と、ステップS14で測定されたVQEの反復回数とを含む訓練データを生成する。
 (S17)機械学習部127は、ステップS15で生成された訓練データを用いて、イテレーション毎の実行時間を推定する時間モデルを訓練する。
 (S18)機械学習部127は、ステップS16で生成された訓練データを用いて、VQEの反復回数を推定する反復モデルを訓練する。
 (S19)機械学習部127は、ステップS17で訓練された時間モデルと、ステップS18で訓練された反復モデルとを、不揮発性ストレージに保存する。なお、機械学習部127は、訓練された時間モデルおよび反復モデルを表示装置111に表示してもよいし、他の情報処理装置に送信してもよい。
 図8は、実行時間推定の手順例を示すフローチャートである。(S20)実行時間推定部128は、分析対象の分子を示す分子情報を取得する。実行時間推定部128は、分子情報から原子間距離の平均を算出する。
 (S21)CCSD実行部124は、分子情報および基底関数に基づいて古典アルゴリズム(例えば、CCSD)を実行し、古典アルゴリズムの反復回数を測定する。
 (S22)VQE実行部125は、分子情報および基底関数に基づいてVQEの前処理を行い、VQEで使用される量子回路を生成する。
 (S23)実行時間推定部128は、ステップS22の前処理の結果から、量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数を特定する。
 (S24)実行時間推定部128は、ステップS23で特定された量子ビット数、アンザッツ回路の深さおよびハミルトニアンの項数を、訓練済みの時間モデルに入力し、イテレーション毎の実行時間を推定する。
 (S25)実行時間推定部128は、ステップS20で算出された原子間距離と、ステップS21で測定された古典アルゴリズムの反復回数とを、訓練済みの反復モデルに入力し、VQEの反復回数を推定する。
 (S26)実行時間推定部128は、ステップS24で推定されたイテレーション毎の実行時間とステップS25で推定された反復回数とを乗じて、VQEの実行時間を推定する。実行時間推定部128は、推定実行時間をスケジューラ129に出力する。なお、実行時間推定部128は、推定実行時間を不揮発性ストレージに保存してもよいし、表示装置111に表示してもよいし、他の情報処理装置に送信してもよい。
 図9は、実行時間の推定精度の例を示すグラフである。グラフ51,52,53は、VQEの推定実行時間と実際実行時間と関係を示す散布図である。ここでの推定実行時間は、実行時間の期待値である。グラフ51,52,53において、横軸は推定実行時間の対数を表し、縦軸は実際実行時間の対数を表す。また、線分は、推定実行時間=実際実行時間を表す。よって、線分に近い点ほど、推定精度が高いサンプルである。
 グラフ51は、H2O分子のシミュレーション結果を示す。グラフ52は、H4分子のシミュレーション結果を示す。グラフ53は、H6分子のシミュレーション結果を示す。VQEの実行時間は、分子構造によって大きく異なる。これに対して、グラフ51,52,53に示すように、情報処理装置100は、実際実行時間に近い期待値を推定できる。
 なお、ロバスト性を考慮した推定実行時間、または、ロバスト性および不確実性を考慮した推定実行時間を算出した場合、グラフ51,52,53の点は右方向に移動する。その場合、大部分の点は線分より右側に存在し、線分より左側に存在する点は少数である。そのため、VQEの実行時間が推定値を超えるリスクが十分に抑制され、情報処理装置100は、効率的なジョブスケジューリングを行うことができる。
 以上説明したように、第2の実施の形態の情報処理装置100は、VQEの実行前にVQEの実行時間を推定する。これにより、情報処理装置100は、推定実行時間に基づいて、量子化学計算のジョブスケジューリングを効率的に行うことができる。また、情報処理装置100は、実行時間の推定を、イテレーション毎の実行時間の推定と反復回数の推定とに分割し、異なる機械学習モデルを用いて両者を推定する。これにより、それぞれの推定値の算出に適した特徴量が使用され、実行時間の推定精度が向上する。
 また、情報処理装置100は、CCSDなどの古典アルゴリズムを実行して古典アルゴリズムの反復回数を測定し、古典アルゴリズムの反復回数を用いてVQEの反復回数を推定する。VQEの反復回数と相関のある古典アルゴリズムの反復回数を使用するため、量子回路の特徴量のみからVQEの反復回数を推定する場合よりも推定精度が向上する。また、古典アルゴリズムの実行時間はVQEよりも十分に短いため、情報処理装置100は、VQEの実行時間を迅速に推定することができる。
 また、情報処理装置100は、更に原子間距離を用いてVQEの反復回数を推定する。これにより、機械学習モデルは、原子間距離が長いほどVQEの反復回数が増加する傾向を学習することができ、反復回数の推定精度が向上する。また、情報処理装置100は、反復回数のランダム性や訓練データの不足などにより、VQEの実行時間が期待値から上振れするリスクを考慮し、リスクをカバーした推定値を算出する。これにより、情報処理装置100は、VQEの実行時間が推定値を超えてしまうリスクを許容可能な水準に抑制することができ、信頼性の高いジョブスケジューリングが可能となる。
 上記については単に本発明の原理を示すものである。更に、多数の変形や変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応する全ての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
 10 情報処理装置
 11 記憶部
 12 制御部
 13,14 アルゴリズム
 15 機械学習モデル
 16 分子情報
 17,18 反復回数

Claims (8)

  1.  分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、量子回路データを用いる第2のアルゴリズムと異なる第1のアルゴリズムを、分析対象の分子を示す分子情報に基づいて実行し、前記第1のアルゴリズムの第1の反復回数を特定し、
     前記第1のアルゴリズムの反復回数を説明変数とし、前記第2のアルゴリズムの反復回数を目的変数として訓練された第1の機械学習モデルに、前記第1の反復回数を入力し、
     前記第1の機械学習モデルによって算出された、前記分子情報に基づいて前記第2のアルゴリズムを実行する場合の第2の反復回数の推定値を出力する、
     処理をコンピュータに実行させることを特徴とする推定プログラム。
  2.  前記説明変数は、分子に含まれる複数の原子の間の距離を更に含み、前記第1の反復回数の入力は、前記分子情報が示す第1の距離を更に入力することを含む、
     ことを特徴とする請求項1に記載の推定プログラム。
  3.  前記分子情報に基づいて前記第2のアルゴリズムを実行する場合に用いられる第1の量子回路データの特徴を示す第1の特徴量を特定し、
     前記量子回路データの特徴量を説明変数とし、前記第2のアルゴリズムの前記反復処理に含まれるイテレーション1回当たりの単位実行時間を目的変数として訓練された第2の機械学習モデルに、前記第1の特徴量を入力し、
     前記第2の機械学習モデルによって算出された、前記分子情報に基づいて前記第2のアルゴリズムを実行する場合の第1の単位実行時間の推定値を出力する、
     処理を前記コンピュータに更に実行させることを特徴とする請求項1に記載の推定プログラム。
  4.  前記第2の反復回数の推定値と前記第1の単位実行時間の推定値とに基づいて、前記分子情報に基づいて前記第2のアルゴリズムを実行する場合の実行時間を推定する、
     処理を前記コンピュータに更に実行させることを特徴とする請求項3に記載の推定プログラム。
  5.  前記推定された実行時間に基づいて、前記分析対象の分子に対応するエネルギーを算出するジョブのスケジューリングを行う、
     処理を前記コンピュータに更に実行させることを特徴とする請求項4に記載の推定プログラム。
  6.  前記第1のアルゴリズムは、配置間相互作用法または結合クラスタ法であり、前記第2のアルゴリズムは、変分量子固有値ソルバ法である、
     ことを特徴とする請求項1に記載の推定プログラム。
  7.  分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、第1のアルゴリズムの反復回数を説明変数とし、量子回路データを用いる第2のアルゴリズムの反復回数を目的変数として訓練された第1の機械学習モデルを記憶する記憶部と、
     分析対象の分子を示す分子情報に基づいて前記第1のアルゴリズムを実行し、前記第1のアルゴリズムの第1の反復回数を特定し、前記第1の機械学習モデルに前記第1の反復回数を入力し、前記第1の機械学習モデルによって算出された、前記分子情報に基づいて前記第2のアルゴリズムを実行する場合の第2の反復回数の推定値を出力する制御部と、
     を有することを特徴とする情報処理装置。
  8.  分子に対応するエネルギーを反復処理によって算出するアルゴリズムのうち、量子回路データを用いる第2のアルゴリズムと、前記第2のアルゴリズムと異なる第1のアルゴリズムとを、サンプルの分子を示す分子情報に基づいてそれぞれ実行し、前記第1のアルゴリズムの第1の反復回数と前記第2のアルゴリズムの第2の反復回数とを特定し、
     前記第1の反復回数および前記第2の反復回数を含む訓練データを用いて、前記第1のアルゴリズムの反復回数を説明変数とし、前記第2のアルゴリズムの反復回数を目的変数とする第1の機械学習モデルを訓練する、
     処理をコンピュータが実行することを特徴とする機械学習方法。
PCT/JP2022/036413 2022-09-29 2022-09-29 推定プログラム、情報処理装置および機械学習方法 WO2024069839A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/036413 WO2024069839A1 (ja) 2022-09-29 2022-09-29 推定プログラム、情報処理装置および機械学習方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/036413 WO2024069839A1 (ja) 2022-09-29 2022-09-29 推定プログラム、情報処理装置および機械学習方法

Publications (1)

Publication Number Publication Date
WO2024069839A1 true WO2024069839A1 (ja) 2024-04-04

Family

ID=90476749

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/036413 WO2024069839A1 (ja) 2022-09-29 2022-09-29 推定プログラム、情報処理装置および機械学習方法

Country Status (1)

Country Link
WO (1) WO2024069839A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158781A (ja) * 2006-12-22 2008-07-10 Nec Corp シミュレーションシステム
JP2020534607A (ja) * 2017-09-22 2020-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 量子コンピューティング・マシンのための高ハードウェア効率変分量子固有値ソルバを実現するためのシステム、方法、量子コンピューティング・デバイスおよびコンピュータ・プログラム
WO2022097298A1 (ja) * 2020-11-09 2022-05-12 富士通株式会社 量子化学計算プログラム、量子化学計算方法、および量子化学計算装置
JP2022102726A (ja) * 2020-12-25 2022-07-07 昭和電工株式会社 化学反応における活性化エネルギーの学習装置及び予測装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008158781A (ja) * 2006-12-22 2008-07-10 Nec Corp シミュレーションシステム
JP2020534607A (ja) * 2017-09-22 2020-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 量子コンピューティング・マシンのための高ハードウェア効率変分量子固有値ソルバを実現するためのシステム、方法、量子コンピューティング・デバイスおよびコンピュータ・プログラム
WO2022097298A1 (ja) * 2020-11-09 2022-05-12 富士通株式会社 量子化学計算プログラム、量子化学計算方法、および量子化学計算装置
JP2022102726A (ja) * 2020-12-25 2022-07-07 昭和電工株式会社 化学反応における活性化エネルギーの学習装置及び予測装置

Similar Documents

Publication Publication Date Title
Malakar et al. Benchmarking machine learning methods for performance modeling of scientific applications
Cerezo et al. Variational quantum algorithms
Bischl et al. Hyperparameter optimization: Foundations, algorithms, best practices, and open challenges
Yu et al. Hyper-parameter optimization: A review of algorithms and applications
Deshpande et al. Network inference with Granger causality ensembles on single-cell transcriptomics
US11568300B2 (en) Apparatus and method for managing machine learning with plurality of learning algorithms and plurality of training dataset sizes
Nikolaev et al. Simulated annealing
JP7312173B2 (ja) 量子古典コンピューティングハードウェア用いた量子コンピューティング対応の第一原理分子シミュレーションのための方法とシステム
Marathe et al. Performance modeling under resource constraints using deep transfer learning
Taddy et al. Bayesian guided pattern search for robust local optimization
Miu et al. Predicting the execution time of workflow activities based on their input features
JP6821614B2 (ja) モデル学習装置、モデル学習方法、プログラム
Peltola et al. Hierarchical Bayesian Survival Analysis and Projective Covariate Selection in Cardiovascular Event Risk Prediction.
CN114127856A (zh) 用于量子计算使能的分子从头算模拟的方法和系统
Madireddy et al. Machine learning based parallel I/O predictive modeling: A case study on Lustre file systems
Dartois et al. Investigating machine learning algorithms for modeling ssd i/o performance for container-based virtualization
JP6806376B2 (ja) 量子情報処理システム、量子情報処理方法、プログラム、及び記録媒体
Heese et al. Explaining quantum circuits with shapley values: Towards explainable quantum machine learning
Iorio et al. Transfer learning for cross-model regression in performance modeling for the cloud
JP2021505130A (ja) 外れ値検出に教師なしパラメータ学習を使用して産生のための生物を識別すること
WO2024069839A1 (ja) 推定プログラム、情報処理装置および機械学習方法
JP7231829B2 (ja) 機械学習プログラム、機械学習方法および機械学習装置
JP2022023420A (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2024069910A1 (ja) 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置
WO2024089862A1 (ja) 分子シミュレーションプログラム、分子シミュレーション方法および情報処理装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22960899

Country of ref document: EP

Kind code of ref document: A1