Information processing device, information processing method, program, and information processing system
By using high-spec servers with GPUs to perform neural network tasks via byte sequences, the system addresses prolonged processing times, achieving efficient and cost-effective high-speed processing for clients with varying specifications.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- PREFERRED NETWORKS INC
- Filing Date
- 2023-10-30
- Publication Date
- 2026-07-01
AI Technical Summary
The high computational load and time required for processing using neural network models, particularly in tasks like energy calculations and molecular dynamics simulations, due to repeated calculations and large data exchanges between devices with varying specifications, lead to prolonged processing times.
Implementing a system where high-spec servers with GPUs perform computationally intensive tasks using byte sequences directly, eliminating data format conversions and serialization, and communicating directly with clients to reduce processing and communication time.
This approach significantly reduces processing time and communication overhead, enabling faster results delivery even with clients having lower specifications, optimizing resource utilization and cost-effectiveness.
Smart Images

Figure 0007883087000001 
Figure 0007883087000002 
Figure 0007883087000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an information processing apparatus, an information processing method, a program, and an information processing system.
Background Art
[0002] With the recent development of deep learning, information provision using a model based on a trained neural network has come to be performed. For example, there is a method of training a neural network model to obtain a neural network potential (NNP) which is an interatomic potential, and performing structure optimization, molecular dynamics, etc. In these methods, there is a problem that a high-load process of calculating energy using a neural network model from the information of specified atoms may be executed multiple times based on various conditions, and the time until the processing result is obtained becomes long.
Prior Art Documents
Non-Patent Documents
[0003]
Non-Patent Document 1
Non-Patent Document 2
Non-Patent Document 3
Summary of the Invention
Problems to be Solved by the Invention
[0004] This disclosure reduces the time required for processing using the model. [Means for solving the problem]
[0005] An information processing system, which is one embodiment of the present disclosure, is realized by a first information processing device and a second information processing device. The second information processing device is configured to transmit atomic information to the first information processing device. The first information processing device is configured to receive the atomic information from the second information processing device, input the atomic information into a neural network to calculate energy information for the atomic information, and transmit the energy information to the second information processing device. Furthermore, the first information processing device can perform the calculation of the energy information using the neural network at a higher speed than the second information processing device. [Brief explanation of the drawing]
[0006] [Figure 1] A block diagram showing an information processing system in one embodiment. [Figure 2] A schematic sequence diagram of the overall process in one embodiment. [Figure 3] A block diagram showing an example of the hardware configuration in one embodiment. [Modes for carrying out the invention]
[0007] Embodiments of the present invention will be described below with reference to the drawings. The drawings and descriptions of the embodiments are provided as examples only and do not limit the present invention.
[0008] (One embodiment of the present invention) Figure 1 is a block diagram showing an example of an information processing system according to this embodiment. The information processing system in this embodiment comprises a server 1 (an example of a first information processing device) and a client 2 (an example of a second information processing device). Server 1 comprises a processing unit 11, a memory 12, and a communication unit 13. Client 2 comprises a processing unit 21, a memory 22, and a communication unit 23. Note that the processing performed by the server's processing unit and the processing performed by the client's processing unit are different.
[0009] Server 1 and Client 2 communicate with each other while carrying out predetermined processing. While not particularly limited, for example, a SaaS (Software as a Service) system in which Server 1 executes software and Client 2 obtains the execution results of that software via the network falls under the category of the information processing system according to this embodiment.
[0010] In SaaS, a high-spec server 1 equipped with a GPU (Graphics Processing Unit) can perform computationally intensive software processing, and the processing results can be provided to client 2. By using SaaS, even client 2 with lower specifications can easily obtain the results of high-load software execution.
[0011] Naturally, there are no limitations on the number of Server 1 and Client 2. An information processing system may have multiple Server 1s, each used by one or more Client 2s. Furthermore, when sending and receiving information between Server 1 and Client 2, one or more communication relay devices, such as proxy servers, may be present.
[0012] In a typical SaaS scenario, client 2 sends information to server 1 used to execute the server's software, and server 1 sends information to client 2 indicating the software execution results. When a large amount of information is exchanged between server 1 and client 2, the time required for communication (in other words, the communication duration) increases, leading to a problem where the time from when the client 2 user issues a SaaS usage instruction until the SaaS results are obtained becomes longer. Therefore, in this embodiment, the method of transmitting information is devised to shorten the processing and communication time required between server 1 and client 2.
[0013] Some processes using deep neural network models (one example of a model) can be computationally intensive. For example, one method involves training a neural network model to obtain the Neural Network Potential (NNP), which is the interatomic potential, and then performing structural optimization, molecular dynamics simulations, etc. These methods involve calculating energy and force using a neural network model for NNP (hereinafter referred to as the NNP model) based on the specified types and coordinates of each atom. In this embodiment, computationally intensive processes such as energy and force calculations are performed on a high-spec server 1 equipped with a GPU. The size of the data required for processing, such as the types of atoms used and the positions (coordinates) of each atom, increases depending on the number of atoms considered. Furthermore, it may be necessary to repeat the associated calculations. For example, when performing structural optimization using the BFGS method (Broyden-Fletcher-Goldfarb-Shanno algorithm) or when performing molecular dynamics simulations based on specific conditions such as temperature and pressure, the positions of atoms may be repeatedly updated to perform calculations using the NNP model. Furthermore, the data transmitted from server 1 to client 2, such as the forces per atom, will also increase in size depending on the number of atoms being considered.
[0014] Therefore, when providing NNP functionality as SaaS, as in this embodiment, multiple communications with large data volumes will occur between Server 1 and Client 2. For this reason, it is preferable to minimize the data volume per communication.
[0015] Therefore, in the information processing system of this embodiment, client 2 sends information to server 1 in the form of a byte sequence usable in that process, and server 1 uses that byte sequence during the process. For example, when performing calculations using a machine learning module, client 2 sends the byte sequence of the module to server 1 without performing data format conversions such as conversion to a data type specific to the programming language or serialization by the transmission method. This eliminates the need for data conversion and serialization by client 2, thereby reducing the processing time on client 2. Furthermore, since these conversions generally increase the data size, sending the byte sequence without conversion can reduce communication time. Server 2 can also reduce the processing time on server 1 by referencing the received byte sequence without performing data format conversions. Furthermore, server 2 sends the byte sequence of information based on server 2's processing to client 2 without performing data format conversions such as conversion to a data type specific to the programming language or serialization by the transmission method. Client 2 references the byte sequence without performing data format conversions. Hereafter, information sent by client 2 and used for processing by server 1 will be referred to as input information. Information based on the processing of server 1 will also be referred to as output information. Output information may show the result of processing or the calculation results during processing.
[0016] In this embodiment, we describe the case where both Server 1 and Client 2 send information as a byte sequence, but it is also possible for only one of Server 1 or Client 2 to send information as a byte sequence. Furthermore, it is also possible for only a portion of the information sent by Server 1 and Client 2 to be sent as a byte sequence.
[0017] Furthermore, depending on the communication bandwidth, communication quality, time of day for communication, and processing load of each device, it is possible to switch between sending data as a byte sequence and sending data that is not a byte sequence. It is also possible to send data other than a byte sequence. For example, it is possible to send the size of an array as a sequence of integers, and send the array type as metadata separately from the array size.
[0018] Each component of Server 1 and Client 2 will be described along with the overall processing flow. Figure 2 is a schematic sequence diagram of the overall processing in this embodiment.
[0019] The processing unit 21 of client 2 executes specified processing. Such processing may include preprocessing such as generating information used in the processing by server 1, and postprocessing such as outputting the results of the processing by server 1 to the user. First, the processing unit 21 of client 2 generates input information to be processed by server 1 (S101). The generation of the input information may follow a predetermined generation method or be based on a user's instruction. For example, when using NNP, information about atoms (hereinafter referred to as atomic information) is generated as the input information. The atomic information only needs to include information about the atoms used in NNP. For example, it includes information about the type and position of each atom. As information about the position of an atom, there are information directly indicating the position of the atom by coordinates, information directly or indirectly indicating the relative position between atoms, and the like. Also, the information about the position of an atom may be information expressing the positional relationship between atoms by the distance, angle, dihedral angle, etc. between atoms. In addition to the information about the type and position of atoms, the atomic information may include information about charge, information about atomic bonds, periodic boundary conditions, information such as the size of the Cell, and the like. Also, in addition to the atomic information, the input information may include information specifying the model used in NNP, metadata including the ID of the client or request, and the like. When sending the atomic information in a two-dimensional or higher-dimensional array structure (array), in order to speed up the processing, it is conceivable to use the array of Numpy, which is an extension module for machine learning in the programming language Python (registered trademark). The processing unit 21 of client 2 may generate information in the form of this Numpy array.
[0020] Generally, information based on the processing by an information processing device is stored in the memory of the information processing device as a byte sequence. Therefore, the input information generated by the processing unit 21 of client 2 is stored in the memory 22 of client 2 as a byte sequence.
[0021] The communication unit 23 of client 2 manages the communication with server 1. The communication unit 23 of client 2 refers to the byte sequence related to the input information (for example, atomic information) from the memory 22 (S102). The reference to the byte sequence may use various functions provided in the information processing device. For example, when information is generated in the form of the aforementioned Numpy array, the byte sequence can be referred to from the memory by executing a predetermined command such as "np.tobytes". Then, the communication unit 23 of client 2 includes the referred byte sequence in the communication packet without serializing it and transmits it to server 1 (S103).
[0022] Note that the communication protocol for the exchange of byte information between client 2 and server 1 may be determined as appropriate. For example, as the communication protocol, gRPC, which is a type of RPC (Remote Procedure Call) that can be used in the transport protocol HTTP / 2, may be used. Also, a description language such as Protocol buffer that can be used in gRPC may also be used. As described above, the information exchanged between client 2 and server 1 may include information that is not transmitted as a byte sequence.
[0023] The communication unit 13 of server 1 manages the communication with server 1. The communication unit 13 of server 1 receives the communication packet containing the byte sequence related to the input information from client 2 (S104). The input information contained in the received communication packet is stored in the memory 12 of server 1. Since it is not necessary to deserialize the byte sequence related to the input information, the processing time required for deserialization can be eliminated.
[0024] The processing unit 11 of server 1 references a byte sequence related to the input information from memory 12 in order to execute a specified process such as SaaS (S105). Various functions provided in the information processing device may be used to reference the byte sequence. For example, a byte sequence corresponding to information in Numpy array format can be referenced as data that the processing unit 11 of server 1 can handle using the command "np.frombuffer".
[0025] The processing unit 11 of server 1 executes a specified process, such as SaaS, based on the referenced input information (S106). This process may follow a predetermined method. For example, when providing NNP functionality, server 1 may input atomic information, such as the type and position of atoms, into a trained NNP model, and obtain processing results, such as energy for the input atomic information, from the NNP model. The NNP model can be trained using supervised learning based on correct data. These processing results from the processing unit 11 of server 1 are also stored in memory 12.
[0026] The communication unit 13 of server 1, like the communication unit 23 of client 2, references a byte sequence from memory 12 that corresponds to the information (output information) based on the processing of the processing unit 11 of server 1 (S107). Then, the communication unit 13 of server 1 includes the referenced byte sequence in a communication packet without serialization and sends it to client 2 (S108). The information based on the processing of the processing unit 11 of server 1 may be not only the processing result (for example, energy), but also intermediate calculation results. For example, it may be the output from the hidden layer rather than the output from the output layer of a trained neural network model. Also, the information based on the processing of the processing unit 11 of server 1 may be represented by a two-dimensional or higher array structure such as a Numpy array. In addition to the information based on the processing of the processing unit 11, server 1 may also send various other information to client 2, such as metadata including client and request IDs. As mentioned above, some of the information sent from server 1 to client 2 does not have to be sent as a byte sequence.
[0027] For example, Server 1 may improve user convenience by sending information other than energy, which is the result of the forward processing of the NNP model, such as force and stress, which are the results of the backward processing, to Client 2.
[0028] In this embodiment, when the NNP function is provided as SaaS, Server 1 calculates the processing result (an example of output information) for the atomic information received from Client 2 and sends it to Client 2. The processing result in this embodiment is information calculated based on atomic information and the NNP model, and may include at least one of the following: energy, information calculated based on energy, information calculated using the NNP model, or information regarding the analysis result using the output of the NNP model. The information calculated based on energy may include, as an example, information regarding the force of each atom, stress (stress of the entire system), virial of each atom, or virial of the entire system. The information calculated using the NNP model may, as an example, be the charge of each atom. The information regarding the analysis result using the output of the NNP model may include information after additional analysis has been performed by Server 1 on the information calculated using the NNP model. As an example, this may be the result of dynamics calculations (such as the position and velocity of atoms) or the calculation result of material properties. The information calculated using the NNP model may be the processing result calculated by using the NNP model multiple times.
[0029] The communication unit 23 of client 2 receives a communication packet from server 1 (S109). The output information contained in the received communication packet is stored in the memory 22 of client 2. Since there is no need to deserialize the byte sequence related to the output information, the processing time required for deserialization can be eliminated.
[0030] The processing unit 21 of client 2 references a byte sequence related to the output information from memory 22 (S110). The byte sequence reference can be performed in the same way as the processing unit 11 of server 1. Then, the processing unit 21 of client 2 executes processing based on the referenced byte sequence (S111). For example, if the referenced byte sequence is the processing result based on the input information, the processing unit 21 of client 2 may display the processing result on a monitor or the like for the user to recognize.
[0031] A user who recognizes the processing result may edit the previous input information and use the SaaS again based on the edited input information. In that case, new input information will be generated, and each process in Figure 2 will be repeated.
[0032] As described above, in this embodiment, high-load processing using a neural network model is executed on server 1, which is capable of processing faster than client 2. In particular, in this embodiment, high-load processing such as energy calculations based on atomic information is executed on server 1, thereby achieving high-speed processing for the entire system. In this case, information is exchanged as a byte sequence to further speed up communication between client 2 and server 1. This makes it possible to keep the communication time within a desired threshold, for example, when the size of at least one of the information input to the neural network model and the information output from the neural network model is large, and in normal file communication, at least one of the information update and download would exceed a desired threshold.
[0033] Furthermore, if client 2 has a GPU comparable to server 1, the time to obtain the final processing result will be shorter if client 2 performs the calculation using the neural network model than in this embodiment. However, generally speaking, the number of client 2s is considered to be greater than the number of server 1s. Therefore, this embodiment is more cost-effective than equipping all client 2s that want to perform calculations using the neural network model with expensive GPUs. In this embodiment, multiple clients 2 may be connected to server 1. In this case, it is sufficient that at least one of the multiple clients 2 cannot perform processing such as energy calculation for atomic information using a neural network faster than server 1. The same applies when multiple clients 2 are connected to multiple servers 1. In this embodiment, by consolidating and processing multiple client processes on server 1 equipped with multiple GPUs, the utilization efficiency of GPU resources on server 1 can be improved. Furthermore, this reduces the processing load on each client 2.
[0034] As in this embodiment, by reading a byte sequence and sending the read byte sequence to the server, communication time can be reduced compared to serialization. Furthermore, by defining the transmission of a byte sequence in a service definition file, it is possible to send a byte sequence without serialization. In addition, since there is no overhead for file conversion, processing time on both the server and the client can be reduced. In the processing using the NNP model of this embodiment, the atomic information (type of atom, position of atom, etc.) transmitted from client 2 to server 1 and the processing results (force, charge per atom, virial per atom, etc.) transmitted from server 1 to client 2 each contain information for each atom, resulting in a large data size. For example, the coordinates of an atom, which are an example of atomic information, may store values for the three directions x, y, and z for each atom. Similarly, the force, which is an example of a processing result, may store values for the three components x, y, and z for each atom. Therefore, by applying the information exchange using byte sequences in this embodiment to processing using the NNP model, processing time can be reduced. In this embodiment, the calculation of processing results using an NNP model has been mainly described, but a configuration similar to that of this embodiment may be applied to other atomic simulations using atomic information and neural networks. Furthermore, although the calculation of processing results using a neural network has been described in this embodiment, processing results may be calculated using models other than neural networks.
[0035] In the embodiments described above, some or all of the server and client devices may be composed of hardware, or they may be composed of information processing by software (programs) executed by a CPU (Central Processing Unit) or GPU (Graphics Processing Unit), etc. If the information processing is composed of software, the software that realizes at least some of the functions of each device in the embodiments described above may be stored on a non-temporary storage medium (non-temporary computer-readable medium) such as a flexible disk, CD-ROM (Compact Disc-Read Only Memory), or USB (Universal Serial Bus) memory, and the information processing of the software may be executed by having a computer read it. Alternatively, the software may be downloaded via a communication network. Furthermore, the information processing may be executed by hardware by implementing the software on a circuit such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array).
[0036] The type of storage medium used to store the software is not limited. The storage medium is not limited to removable media such as magnetic disks or optical disks; it may also be a fixed storage medium such as a hard disk or memory. Furthermore, the storage medium may be located inside or outside the computer.
[0037] Figure 3 is a block diagram showing an example of the hardware configuration of each device in the embodiment described above. Each device may be implemented as a computer 7, for example, comprising a processor 71, a main memory 72 (memory), an auxiliary memory 73 (memory), a network interface 74, and a device interface 75, which are connected via a bus 76.
[0038] The computer 7 in Figure 3 has one of each component, but it may have multiple identical components. Also, although Figure 3 shows one computer 7, the software may be installed on multiple computers, and each of these multiple computers may execute the same or different parts of the software's processing. In this case, it may be a distributed computing configuration in which each computer communicates via a network interface 74 or the like to execute processing. In other words, each device in the above-described embodiment may be configured as a system that realizes its function by one or more computers executing instructions stored in one or more storage devices. Alternatively, it may be configured so that information transmitted from a terminal is processed by one or more computers located on the cloud, and the processing results are transmitted to the terminal.
[0039] The various calculations performed by each device in the embodiments described above may be executed in parallel using one or more processors, or using multiple computers connected via a network. Alternatively, the various calculations may be distributed to multiple processing cores within a processor and executed in parallel. Furthermore, some or all of the processing and means of this disclosure may be executed by at least one of a processor and a storage device located on a cloud that can communicate with computer 7 via a network. Thus, each device in the embodiments described above may be in the form of parallel computing using one or more computers.
[0040] The processor 71 may be an electronic circuit (processing circuit, processing circuitry, CPU, GPU, FPGA, or ASIC, etc.) including a computer control unit and arithmetic unit. Alternatively, the processor 71 may be a semiconductor device including a dedicated processing circuit. The processor 71 is not limited to an electronic circuit using electronic logic elements, but may also be implemented using an optical circuit using optical logic elements. Furthermore, the processor 71 may include computational functions based on quantum computing.
[0041] The processor 71 performs calculations based on data and software (programs) input from various devices within the computer 7, and can output calculation results and control signals to these devices. The processor 71 may also control the various components of the computer 7 by executing the computer 7's OS (Operating System) or applications.
[0042] Each of the embodiments described above may be implemented by one or more processors 71. Here, processor 71 may refer to one or more electronic circuits arranged on one chip, or one or more electronic circuits arranged on two or more chips or two or more devices. When multiple electronic circuits are used, each electronic circuit may communicate by wire or wireless.
[0043] The main memory 72 is a storage device that stores instructions executed by the processor 71 and various data, and the information stored in the main memory 72 is read by the processor 71. The auxiliary storage device 73 is a storage device other than the main memory 72. These storage devices refer to any electronic component capable of storing electronic information, and may be semiconductor memory. The semiconductor memory may be either volatile memory or non-volatile memory. In each device of the above-described embodiment, the storage device for storing various data may be implemented by the main memory 72 or the auxiliary storage device 73, or by the built-in memory of the processor 71. For example, the memory 12 of the server 1 and the memory 22 of the client 2 in the above-described embodiment may be implemented by the main memory 72 or the auxiliary storage device 73.
[0044] Multiple processors may be connected to one memory device, or only one processor may be connected to one memory device. Multiple memory devices may be connected to one processor. In the above-described embodiment, if each device consists of at least one memory device and multiple processors connected to this at least one memory device, the configuration may include at least one of the multiple processors being connected to at least one memory device. This configuration may also be realized by memory devices and processors included in multiple computers. Furthermore, the configuration may include a memory device integrated with a processor (for example, a cache memory including an L1 cache and an L2 cache).
[0045] The network interface 74 is an interface for connecting to the communication network 8 wirelessly or via a wired connection. The network interface 74 can be any appropriate interface, such as one conforming to existing communication standards. Information may be exchanged between the computer 7 and an external device 9A connected via the communication network 8 through the network interface 74. The communication network 8 may be a WAN (Wide Area Network), LAN (Local Area Network), PAN (Personal Area Network), or a combination thereof, as long as information is exchanged between the computer 7 and the external device 9A. An example of a WAN is the Internet; an example of a LAN is IEEE 802.11 or Ethernet; and an example of a PAN is Bluetooth® or NFC (Near Field Communication).
[0046] The device interface 75 is an interface such as USB that connects directly to the external device 9B.
[0047] External device 9A is a device connected to computer 7 via a network. External device 9B is a device directly connected to computer 7.
[0048] External device 9A or external device 9B may, for example, be an input device. The input device may be a camera, microphone, motion capture device, various sensors, keyboard, mouse, or touch panel, and it will provide the acquired information to computer 7. Alternatively, it may be a personal computer, tablet terminal, or smartphone, or any other device equipped with an input unit, memory, and processor.
[0049] Furthermore, external device 9A or external device B may, for example, be an output device. The output device may be a display device such as an LCD (Liquid Crystal Display), CRT (Cathode Ray Tube), PDP (Plasma Display Panel), or organic EL (Electro Luminescence) panel, or it may be a speaker that outputs sound, etc. It may also be a device equipped with an output unit, memory, and processor, such as a personal computer, tablet terminal, or smartphone.
[0050] Furthermore, external devices 9A and 9B may be storage devices (memory). For example, external device 9A may be network storage, and external device 9B may be storage such as an HDD.
[0051] Furthermore, the external device 9A or external device 9B may be a device having some of the functions of the components of each device in the embodiment described above. In other words, the computer 7 may transmit or receive some or all of the processing results of the external device 9A or external device 9B.
[0052] Where the expression "at least one of a, b, and c" or "at least one of a, b, or c" (including similar expressions) is used in this specification (including the claims), it includes any of a, b, c, ab, ac, bc, or abc. It also includes multiple instances of any element, such as aa, abb, aabbcc, etc. Furthermore, it includes adding other elements other than the enumerated elements (a, b, and c), such as abcd which has d.
[0053] In this specification (including the claims), when expressions such as "data as input / based on / according to / in accordance with data" (including similar expressions) are used, unless otherwise specified, this includes cases where the data itself is used as input, or where the data has been processed in some way (e.g., data with added noise, normalized data, intermediate representations of the data, etc.) is used as input. Furthermore, when it is stated that some result is obtained "based on / according to / in accordance with data", this includes cases where the result is obtained based solely on the data in question, as well as cases where the result is also influenced by other data, factors, conditions, and / or states other than the data in question. Furthermore, when it is stated that "data is output", unless otherwise specified, this includes cases where the data itself is used as output, or where the data has been processed in some way (e.g., data with added noise, normalized data, intermediate representations of the data, etc.) is used as output.
[0054] In this specification (including the claims), the terms “connected” and “coupled” are intended to be non-restrictive terms that include any direct connection / coupling, indirect connection / coupling, electrical connection / coupling, communicative connection / coupling, operational connection / coupling, physical connection / coupling, etc. The terms should be interpreted as appropriate in the context in which they are used, but any form of connection / coupling that is not intentionally or naturally excluded should be interpreted non-restrictively as being included in the terms.
[0055] In this specification (including the claims), when the expression "A configured to B" is used, it may include that the physical structure of element A has a configuration capable of performing operation B, and that the permanent or temporary setting / configuration of element A is configured to actually perform operation B. For example, if element A is a general-purpose processor, it is sufficient that the processor has a hardware configuration capable of performing operation B, and that it is configured to actually perform operation B by the setting of a permanent or temporary program (instruction). Furthermore, if element A is a dedicated processor or dedicated arithmetic circuit, it is sufficient that the circuit structure of the processor is implemented to actually perform operation B, regardless of whether control instructions and data are actually attached.
[0056] Wherever terms meaning "comprising" or "possessing" (e.g., "comprising / including" and "having") are used in this specification (including the claims), they are intended to be open-ended terms, including cases where the subject matter of such terms is not the object of the term. Where the object of such terms meaning "comprising" or "possessing" is an expression that does not specify a quantity or suggests a singular number (an expression with the article "a" or "an"), such expression should be interpreted as not being limited to a specific number.
[0057] In this specification (including the claims), even if expressions such as "one or more" or "at least one" are used in one place, and expressions that do not specify a quantity or suggest a singularity (expressions using the articles a or an) are used in another place, the latter expressions are not intended to mean "one." In general, expressions that do not specify a quantity or suggest a singularity (expressions using the articles a or an) should be interpreted as not necessarily being limited to a specific number.
[0058] In this specification, if a particular configuration of an embodiment is described as yielding a specific advantage or result, it should be understood, unless otherwise stated, that the same advantage or result can also be obtained from one or more other embodiments having the same configuration. However, it should be understood that the presence or absence of such an advantage or result generally depends on various factors, conditions, and / or states, and that the configuration does not necessarily guarantee that the advantage or result can be obtained. The advantage or result can only be obtained from the configuration described in the embodiment when various factors, conditions, and / or states are met, and the advantage or result cannot necessarily be obtained in the invention claimed to define that configuration or a similar configuration.
[0059] In this specification (including the claims), when terms such as "maximize" are used, they include finding the global maximum value, finding an approximation of the global maximum value, finding the local maximum value, and finding an approximation of the local maximum value, and should be interpreted appropriately depending on the context in which the term is used. They also include finding approximations of these maximum values probabilistically or heuristically. Similarly, when terms such as "minimize" are used, they include finding the global minimum value, finding an approximation of the global minimum value, finding the local minimum value, and finding an approximation of the local minimum value, and should be interpreted appropriately depending on the context in which the term is used. They also include finding approximations of these minimum values probabilistically or heuristically. Similarly, when terms such as "optimize" are used, they include finding the global optimal value, finding an approximation of the global optimal value, finding the local optimal value, and finding an approximation of the local optimal value, and should be interpreted appropriately depending on the context in which the term is used. They also include finding approximations of these optimal values probabilistically or heuristically.
[0060] In this specification (including the claims), when multiple hardware components perform a predetermined process, each component may cooperate to perform the predetermined process, or some components may perform all of the predetermined process. Alternatively, some components may perform part of the predetermined process, while other components perform the remainder. In this specification (including the claims), when expressions such as "one or more hardware components perform a first process, and the one or more hardware components perform a second process" are used, the hardware component performing the first process and the hardware component performing the second process may be the same or different. In other words, it is sufficient that the hardware component performing the first process and the hardware component performing the second process are included in the one or more hardware components. Hardware may include electronic circuits or devices containing electronic circuits.
[0061] In this specification (including the claims), when multiple memory devices store data, each of the multiple memory devices may store only a portion of the data or the entire data.
[0062] While embodiments of this disclosure have been described in detail above, this disclosure is not limited to the individual embodiments described above. Various additions, modifications, substitutions, and partial deletions are possible, provided that they do not depart from the conceptual idea and spirit of the present invention derived from the claims and their equivalents. For example, where numerical values or mathematical formulas are used in the description in all of the embodiments described above, they are provided as examples only and are not limited thereto. Also, the order of operations in the embodiments is provided as examples only and is not limited thereto. [Explanation of Symbols]
[0063] 1. Server (First Information Processing Device) 11 Server Processing Unit 12 Server memory 13. Server communication section 2. Client (Second Information Processing Device) 21. Client Processing Unit 22. Client memory 23. Client Communications Department 7 Computers 71 processors 72 Main storage 73 Auxiliary storage device 74 Network Interfaces 75 Device Interfaces 76 Bus 8. Communication Network 9A and 9B External Devices
Claims
1. An information processing system implemented by at least a first information processing device and a second information processing device, The second information processing device transmits atomic information to the first information processing device, and the first information processing device, The atomic information is received from each of the multiple second information processing devices, By inputting the atomic information into the neural network, the processing result for the atomic information is calculated. The processing result is transmitted to the corresponding second information processing device. The aforementioned neural network is an NNP (Neural Network Potential) model. The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The first information processing device can perform the calculation of the processing result using the NNP model at a higher speed than the second information processing device. Information processing system.
2. It is a SaaS (Software as a Service) system. The information processing system according to claim 1.
3. The second information processing device transmits to the first information processing device, in addition to the atomic information, at least one of the following: information specifying the neural network, metadata relating to the second information processing device, or metadata relating to a request to the first information processing device. The information processing system according to claim 1.
4. The processing result is the output from the intermediate layer of the neural network. The information processing system according to claim 1.
5. The second information processing device transmits the byte sequence of atomic information stored in the memory of the second information processing device to the first information processing device without performing any data format conversion. The information processing system according to any one of claims 1 to 4.
6. The second information processing device transmits the byte sequence of atomic information to the first information processing device without serializing it. The information processing system according to any one of claims 1 to 4.
7. The first information processing device transmits the processing result stored in the memory of the first information processing device to the second information processing device without converting the data format. The information processing system according to any one of claims 1 to 4.
8. The first information processing device transmits the processing result to the second information processing device without serializing it. The information processing system according to any one of claims 1 to 4.
9. At least one memory, An information processing device comprising at least one processor, The aforementioned at least one processor is Atomic information is received from each of several other information processing devices. By inputting the atomic information into the neural network, the processing result for the atomic information is calculated. The processing result is transmitted to the corresponding other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned information processing device is capable of calculating the processing results using the NNP model at a higher speed than the other information processing devices. Information processing device.
10. The functionality is provided as SaaS. The information processing apparatus according to claim 9.
11. In addition to the atomic information, the system receives from the other information processing device at least one of the following: information specifying the neural network, metadata relating to the other information processing device, or metadata relating to a request to the information processing device. The information processing apparatus according to claim 9.
12. The processing result is the output from the intermediate layer of the neural network. The information processing apparatus according to claim 9.
13. The at least one processor references the atomic information received from the other information processing device without deserializing it. The information processing apparatus according to any one of claims 9 to 12.
14. The at least one processor transmits the processing result to the other information processing device without serializing it. The information processing apparatus according to any one of claims 9 to 12.
15. At least one memory, An information processing device comprising at least one processor, The aforementioned at least one processor is The atomic information is transmitted to other information processing devices. The processing results calculated by inputting the atomic information into the neural network are received from the other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned other information processing device can perform the calculation of the processing result using the NNP model at a faster speed than the aforementioned information processing device. The other information processing device receives the atomic information from each of the multiple information processing devices, including the information processing device, and calculates the processing result by inputting the received atomic information into the neural network. Information processing device.
16. The functions of the aforementioned other information processing device are provided as SaaS. The information processing apparatus according to claim 15.
17. In addition to the atomic information, at least one of the following is transmitted to the other information processing device: information specifying the neural network, metadata relating to the information processing device, or metadata relating to a request to the other information processing device. The information processing apparatus according to claim 15.
18. The processing result is the output from the intermediate layer of the neural network. The information processing apparatus according to claim 15.
19. The at least one processor transmits the byte sequence of atomic information stored in the at least one memory to the other information processing device without performing any data format conversion. The information processing apparatus according to any one of claims 15 to 18.
20. The at least one processor transmits the byte sequence of atomic information to the other information processing device without serializing it. The information processing apparatus according to any one of claims 15 to 18.
21. An information processing method performed by an information processing apparatus comprising at least one memory and at least one processor, Atomic information is received from each of several other information processing devices. By inputting the atomic information into the neural network, the processing result for the atomic information is calculated. The processing result is transmitted to the corresponding other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned information processing device is capable of calculating the processing results using the NNP model at a higher speed than the other information processing devices. Information processing methods.
22. An information processing method performed by an information processing apparatus comprising at least one memory and at least one processor, The atomic information is transmitted to other information processing devices. The processing results calculated by inputting the atomic information into the neural network are received from the other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned other information processing device can perform the calculation of the processing result using the NNP model at a faster speed than the aforementioned information processing device. The other information processing device receives the atomic information from each of the multiple information processing devices, including the information processing device, and calculates the processing result by inputting the received atomic information into the neural network. Information processing methods.
23. An information processing method performed by an information processing apparatus comprising at least one memory and at least one processor, Atomic information is received from each of several other information processing devices. By inputting the atomic information into the neural network, the processing result for the atomic information is calculated. The processing result is transmitted to the corresponding other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned information processing device is capable of calculating the processing results using the NNP model at a higher speed than the other information processing devices. A program that causes the information processing device to execute an information processing method.
24. An information processing method performed by an information processing apparatus comprising at least one memory and at least one processor, The atomic information is transmitted to other information processing devices. The processing results calculated by inputting the atomic information into the neural network are received from the other information processing device. The aforementioned neural network is an NNP model, The atomic information includes information regarding the type and position of atoms, The processing result includes at least information based on the output from the intermediate layer of the neural network, The aforementioned other information processing device can perform the calculation of the processing result using the NNP model at a faster speed than the aforementioned information processing device. The other information processing device receives the atomic information from each of the multiple information processing devices, including the information processing device, and calculates the processing result by inputting the received atomic information into the neural network. A program that causes the information processing device to execute an information processing method.