The present invention relates to a federated learning technique, and particularly, to a technique for efficiently receiving a local model required to compute a global model.
As a technique for learning training data without aggregating the training data into one device, there is a federated learning technique. As a federated learning technique, for example, there is FedAVG described in Non Patent Literature 1.
When the federated learning technique is used, since training data is not taken out to the outside of a local model learning device, anxiety about taking the data out can be eliminated, and at the same time, high speed can be attained through parallel learning. However, if parameters of a model under learning are traced and leaked from the process of communication between the local model learning devices 1001, . . . , 100M and the global model computation device 900, for example, there is a risk of training data being estimated. In order to avoid such a risk, using secure computation for computation of a global model can be considered.
Secure computation is a method of obtaining results of a designated arithmetic operation without restoring encrypted numerical values (refer to Reference Non Patent Literature 1, for example). In the method of Reference Non Patent Literature 1, encryption for distributing a plurality of pieces of information that can be used to restore numerical values to three secure computation devices can be performed to maintain a state in which results of addition/subtraction, constant sum, multiplication, constant multiplication, logical operations (negation, logical product, logical sum, and exclusive logical sum), data format conversion (integer, binary) have been distributed to the three secure computation devices without restoring numerical values, that is, in an encrypted state. In general, the number of distributions is not limited to 3 and can be N (N is an integer of 3 or more), and a protocol for realizing secure computation according to cooperative computation by N secure computation devices is called a multiparty protocol.
However, as a result of variation in the timing of completion of learning due to differences in the amount of training data used by a local model learning device for learning and the computing capability of the local model learning device, the timing of receiving a local model by a secure computation system that computes a global model also varies, deteriorating the processing efficiency of the secure computation system. Further, in some cases, deadlock may occur in the secure computation system.
Accordingly, an object of the present invention is to provide a technique for efficiently receiving a local model required to compute a global model in federated learning.
One aspect of the present invention is a secure global model computation device in a federated learning system including M local model learning devices for learning local models using training data and a secure global model computation system composed of N secure global model computation devices for performing secure computation of a global model from M local models, wherein M is an integer of 2 or more and N is an integer of 3 or more, the secure global model computation device including: a processing vacancy checking unit configured to check whether or not the N secure global model computation devices have processing vacancy when a processing vacancy check request transmitted by one of the M local model learning devices is received and to transmit a local model transmission instruction to the local model learning device and enter a reception waiting state when all of the N secure global model computation devices have processing vacancy; a transmission/reception unit configured to receive shares of parameters of a local model learned by the local model learning device; and a parameter share registration unit configured to register the shares of the parameters of the local model.
One aspect of the present invention is a secure global model computation device in a federated learning system including M local model learning devices for learning local models using training data and a secure global model computation system composed of N secure global model computation devices for performing secure computation of a global model from M local models, wherein M is an integer of 2 or more and N is an integer of 3 or more, the secure global model computation device including: a processing vacancy checking unit configured to check whether or not N-1 secure global model computation devices excluding the secure global model computation device itself have processing vacancy at any time and to disclose the fact that the N secure global model computation devices are in a local model reception waiting state when all of the N secure global model computation devices have processing vacancy; a transmission/reception unit configured to receive shares of parameters of a local model learned by one of the M local model learning devices; and a parameter share registration unit configured to register the shares of the parameters of the local model.
One aspect of the present invention is a secure global model computation device in a federated learning system including M local model learning devices for learning local models using training data and a secure global model computation system composed of N secure global model computation devices for performing secure computation of a global model from M local models, wherein M is an integer of 2 or more and N is an integer of 3 or more, the secure global model computation device including: wherein a secure global model computation device different from the secure global model computation device itself, which discloses the fact the N secure global model computation devices are in a local model reception waiting state when all of the N secure global model computation devices have processing vacancy, is set as a master secure global model computation device, a processing vacancy checking unit configured to reply whether the secure global model computation device itself has processing vacancy to check presence or absence of processing vacancy at any time from the master secure global model computation device; a transmission/reception unit configured to receive shares of parameters of a local model learned by one of the M local model learning devices; and a parameter share registration unit configured to register the shares of the parameters of the local model.
According to the present invention, it is possible to efficiently receive a local model required to compute a global model in federated learning.
The following describes embodiments of the present invention in detail. Note that constituent elements having the same function will be denoted by the same reference numerals and redundant description thereof will be omitted.
A notation method used in this specification will be described before the embodiments are described.
{circumflex over ( )} (caret) denotes a superscript. For example, xy{circumflex over ( )}z means that yz is a superscript to x and xy{circumflex over ( )}z means that yz is a subscript to x. In addition, _ (underscore) denotes subscript. For example, xy_z means that yz is a superscript to x and xy_z means that yz is a subscript to x.
Superscripts “{circumflex over ( )}” and “˜” as in {circumflex over ( )}x and ˜x for a certain character x would normally be written directly above “x,” but are written as {circumflex over ( )}x or ˜x here due to restrictions on notation in this specification.
Secure computation in the present invention is constructed using a combination of arithmetic operations in existing secure computation. Arithmetic operations necessary for the secure computation include, for example, concealment, addition, subtraction, multiplication, division, logical operations (negation, logical product, logical sum, and exclusive logical sum), and comparison operations (=, <, >, ≤, and ≥). Several arithmetic operations and their notation will be described below.
[[x]] is assumed to be a value obtained by concealing x by secret sharing (hereinafter referred to as a share of x). Any method can be used as a secret sharing method. For example, Shamir secure sharing on GF (261-1) and replicated secret sharing on z2 can be used.
A plurality of secret sharing methods may be used in combination in one algorithm. In this case, it is assumed that they are converted to each other as appropriate.
Further, it is assumed that [[→x]]=([[x1]], . . . , [[xN]]) for an N-dimensional vector →x=(x1, . . . , xN). That is, [[→x]] is a vector having a share [[xn]] of an n-th element xn of →x as an n-th element. Similarly, for an M×N matrix A=(am,n)(1≤m≤M, 1≤n≤N), [[A]] is assumed to be a matrix having a share [[am, n]] of an (m, n)-th element of A as an (m, n)-th element.
Note that x is referred to as a plaintext of [[x]].
As a method of obtaining [[x]] from x (concealment) and a method of obtaining x from [[x]] (restoration), specifically, there are methods described in Reference Non Patent Literature 1 and Reference Non Patent Literature 2.
(Reference Non Patent Literature 2: Shamir, A., “How to share a secret,” Communications of the ACM, Vol. 22, No. 11, pp. 612-613, 1979.)
[Addition, subtraction, multiplication, and division] Addition [[x]]+[[y]] according to secure computation has [[x]] and [[y]] as inputs and [[x+y]] as an output. Subtraction [[x]]−[[y]] according to secure computation has [[x]] and [[y]] as inputs and [[x−y]] as an output. Multiplication [[x]]×[[y]] (which may be represented as mul ([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs and [[x×y]] as an output. Division [[x]]/[[y]] (which may be represented as div([ [x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs [[x/y]] as an output.
As specific methods of addition, subtraction, multiplication and division, there are methods described in Reference Non Patent Literature 3 and Reference Non Patent Literature 4.
(Reference Non Patent Literature 3: Ben-Or, M., Goldwasser, S. and Wigderson, A., “Completeness theorems for non-cryptographic fault-tolerant distributed computation,” Proceedings of the twentieth annual ACM symposium on Theory of computing, ACM, pp. 1-10, 1988.)
(Reference Non Patent Literature 4: Gennaro, R., Rabin, M. O. and Rabin, T., “Simplied VSS and fast-track multiparty computations with applications to threshold cryptography,” Proceedings of the seventeenth annual ACM symposium on Principles of distributed computing, ACM, pp. 101-111, 1998.)
Negation not [[x]] according to secure computation has [[x]] as an input and [[not (x)]] as an output. Logical product and ([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs and [[and (x, y)]] as an output. Logical sum or ([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs and [[or (x, y)]] as an output. Exclusive logical sum xor ([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs and [[xor(x, y)]] as an output.
Note that logical operations can be easily constructed by combining addition, subtraction, multiplication, and division.
Equal sign decision=([[x]], [[y]]) (which may be represented as equal ([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs, [[1]] as an output when x=y, and [[0]] as an output in other cases. Comparison <([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs, [[1]] as an output when x<y, and has [[0]] as an output in other cases. Comparison>([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs, [[1]] as an output when x>y, and [[0]] as an output in other cases. Comparison ≤([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs, [[1]] as an output when x≤y, and [[0]] as an output in other cases. Comparison≥([[x]], [[y]]) according to secure computation has [[x]] and [[y]] as inputs, [[1]] as an output when x≥y, and [[0]] as an output in other cases.
Note that comparison operations can be easily constituted by combining logical operations.
Hereinafter, a federated learning system 10 will be described with reference to
As shown in
As shown in
The secure global model computation system 20 realizes secure computation of a global model that is a multiparty protocol according to cooperative computation by N secure global model computation devices 200n. Therefore, a learning start condition determination means 230 (not shown) of the secure global model computation system 20 includes learning start condition determination units 2301, . . . , 230N, and a global model computation means 240 (not shown) includes global model computation units 2401, . . . , 240N.
Hereinafter, the operation of the local model learning device 100m will be described with reference to
In S110m, the local model learning unit 110m learns the m-th local model using training data recorded in the recording unit 190m. In the first learning of the m-th local model, the local model learning unit 110m may set initial values of parameters of the m-th local model using initial values recorded in advance in the recording unit 190m or may set initial values of parameters of the m-th local model using initial values generated using random numbers. In the second and subsequent learning of the m-th local model, the local model learning unit 110m sets initial values of parameters of the m-th local model using a global model acquired in S140m which will be described later.
In S120m, the parameter share computation unit 120m computes the shares of the parameters of the m-th local model from the parameters of the m-th local model learned in S110m.
In S130m, the processing vacancy check request generation unit 130m generates a processing vacancy check request when the computation of S120m is finished. The processing vacancy check request generation unit 130m transmits the processing vacancy check request to the secure global model computation devices 2001, . . . , 200N using the transmission/reception unit 180m when the generation is finished. In a case in which the processing vacancy check request generation unit 130m has received a local model transmission instruction from the secure global model computation devices 2001, . . . , 200N using the transmission/reception unit 180m, the processing vacancy check request generation unit 130m transmits the shares of the parameters of the m-th local model to the secure global model computation devices 2001, . . . , 200N using the transmission/reception unit 180m, and in other cases, re-transmits the processing vacancy check request to the secure global model computation devices 2001, . . . 200N using the transmission/reception unit 180m after the elapse of a predetermined time.
In S140m, the global model acquisition unit 140m acquires the shares of the parameters of the global model from the secure global model computation devices 2001, . . . , 200N using the transmission/reception unit 180m after the end of processing of S130m or after the elapse of a predetermined time from the end of processing of S160m.
In S150m, the parameter computation unit 150m computes parameters of the global model from the shares of the parameters of the global model acquired in S140m. The parameter computation unit 150m records the computed parameters of the global model in the recording unit 190m. Note that, in the recording unit 190m, at least two sets of the parameters of the global model, that is, the parameters of the global model obtained through the current computation and the parameters of the global model obtained through the previous computation are recorded.
In S160m, the learning start condition determination unit 160m compares the parameters of the global model computed in S150m with the parameters of the global model obtained in the previous computation, executes processing of S110m upon determining that a learning start condition is satisfied in a case in which the two sets of the parameters of the global model are different, and returns to processing of S140m upon determining that the learning start condition is not satisfied in other cases.
Hereinafter, the operation of the secure global model computation system 20 will be described with reference to
In S210, the processing vacancy checking unit 210n of the secure global model computation device 200n (1≤n≤N) checks whether or not the secure global model computation devices 2001, . . . , 200N have processing vacancy upon receiving a processing vacancy check request transmitted by one of the local model learning devices 1001, . . . , 100M using the transmission/reception unit 280n, transmits a local model transmission instruction to the local model learning device which has transmitted the processing vacancy check request and enters a reception waiting state in a case in which all of the secure global model computation devices 2001, . . . , 200N have processing vacancy, and transmits information indicating that a local model cannot be transmitted to the local model learning device in other cases. In such a case, the secure global model computation devices 2001, . . . , 200N checks whether or not all of the secure global model computation devices 2001, . . . , 200N have processing vacancy using a consensus algorithm and determines whether or not all the secure global model computation devices 2001, . . . , 200N are in a reception waiting state. For example, RAFT or Paxos can be used as the consensus algorithm.
In S220, the parameter share registration unit 220n of the secure global model computation device 200n (1≤n≤N) takes the shares of the parameters of the local model learned by the local model learning device which has transmitted the processing vacancy check request received using the transmission/reception unit 280n as inputs and registers the shares of the parameters of the local model in a local model management table. Here, the local model management table is a table for managing shares of parameters of M local models and is recorded in the recording unit 290n.
In S230, the learning start condition determination means 230 executes processing of S240 upon determining that a learning start condition is satisfied in a case in which the number of newly registered local models exceeds a predetermined value (this value is 1 or more and M or less), or is equal to or greater than the predetermined value after the previous global model is computed, and returns to processing of S210 upon determining that the learning start condition is not satisfied in other cases.
In S240, the global model computation means 240 calculates shares of parameters of the global model using the shares of the parameters of the local models managed by the local model management table. The global model computation means 240 sets, for example, the average of shares of corresponding parameters from the first local model to the M-th local model as the shares of the parameters of the global model.
According to an embodiment of the present invention, it is possible to efficiently receive a local model required to compute a global model in federated learning.
Although the local model learning device 100m of the first embodiment determines whether or not to transmit shares of parameters of a local model by transmitting a processing vacancy check request to the secure global model computation devices 2001, . . . , 200N, a local model learning device of a second embodiment determines whether or not to transmit shares of parameters of a local model by transmitting a processing vacancy check request to one predetermined secure global model computation device among the secure global model computation devices 2001, . . . , 200N. Hereinafter, one predetermined secure global model computation device among the secure global model computation devices 2001, . . . , 200N is referred to as a master secure global model computation device. In the following, for the sake of simplicity, the secure global model computation device 2001 will be described as a master secure global model computation device.
Hereinafter, differences between the first embodiment and the second embodiment will be described. Specifically, the operation of the processing vacancy check request generation unit 130m of the local model learning device 100m and the operation of the processing vacancy checking unit 210n of the secure global model computation device 200n will be described.
First, the operation of the processing vacancy check request generation unit 130m of the local model learning device 100m will be described.
In S130m, the processing vacancy check request generation unit 130m generates a processing vacancy check request when the computation of S120m is finished. When the generation is finished, the processing vacancy check request generation unit 130m transmits a processing vacancy check request to the secure global model computation device 2001 serving as a master secure global model computation device using the transmission/reception unit 180m. In a case in which the processing vacancy check request generation unit 130m obtains information indicating that N secure global model computation devices are in a local model reception waiting state from the secure global model computation device 2001 using the transmission/reception unit 180m, the processing vacancy check request generation unit 130m transmits the shares of parameters of the m-th local model to the secure global model computation devices 2001, . . . , 200N using the transmission/reception unit 180m, and in other cases, re-transmits the processing vacancy check request to the secure global model computation device 2001 using the transmission/reception unit 180m after the elapse of a predetermined time.
Next, the operation of the processing vacancy checking unit 210n of the secure global model computation device 200n will be described.
In S210, the processing vacancy checking unit 2101 of the secure global model computation device 2001 serving as a master secure global model computation device checks whether or not N-1 secure global model computation devices excluding the secure global model computation device 2001 have processing vacancy at any time using the transmission/reception unit 2801, discloses the fact that N secure global model computation devices are in a local model reception waiting state in a case in which all of the N secure global model computation devices have processing vacancy, discloses the fact that they are not in the local model reception waiting state in other cases. Further, the processing vacancy checking unit 210n of the secure global model computation device 200n (2≤n≤N) replies whether the secure global model computation device 200n itself has processing vacancy to check presence or absence of processing vacancy at any time from the secure global model computation device 2001 using the transmission/reception unit 280n.
According to an embodiment of the present invention, it is possible to efficiently receive a local model required to compute a global model in federated learning.
Processing of each unit of each device described above may be realized by a computer, and in this case, processing details of functions that each device should have are described by a program. Then, various types of processing functions in each device described above are realized on a computer 2000 by causing this program to be read by a recording unit 2020 of the computer 2000 shown in
The device of the present invention includes, for example, as a single hardware entity, an input unit that can receive a signal from the outside of the hardware entity, an output unit that can output a signal to the outside of the hardware entity, a communication unit to which a communication device (for example, a communication cable) capable of communicating with the outside of the hardware entity can be connected, a CPU (Central Processing Unit: which may include a cache memory, a register, and the like) that is an arithmetic processing unit, a RAM and a ROM which are memories, an external storage device that is a hard disk, and a bus which connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device such that data can be exchanged therebetween. Further, if necessary, the hardware entity may be provided with a device (drive) or the like capable of reading and writing data from/to a recording medium such as a CD-ROM. A physical entity including such hardware resources includes a general-purpose computer.
The external storage device of the hardware entity stores programs necessary for realizing the functions described above, data necessary for processing the programs, and the like (not limited to the external storage device, for example, the program may be stored in a ROM which is a read-only storage device). In addition, data and the like obtained by processing these programs are appropriately stored in a RAM, an external storage device, or the like.
In the hardware entity, each program stored in the external storage device (or a ROM or the like) and data necessary for processing of each program are read into a memory as necessary and appropriately interpreted, executed, or processed by a CPU. As a result, the CPU realizes predetermined functions (the components described above as units, means, etc.). In other words, each of the components of the embodiments of the present invention may be constituted by processing circuitry.
As described above, when the processing function in the hardware entity (the device according to the present invention) described in the above-described embodiments is implemented by the computer, details of processing of the function included in the hardware entity is written by the program. Then, by executing this program on the computer, the processing function in the above-described hardware entity is implemented on the computer.
The program in which the details of this processing is written can be recorded on a computer-readable recording medium. The computer-readable recording medium is, for example, a non-transitory recording medium, and specifically a magnetic recording device, an optical disc, or the like.
The program is distributed, for example, by sales, transfer, or lending of a portable recording medium such as a DVD or a CD-ROM on which the program is recorded. In addition, the distribution of the program may be performed by storing the program in advance in a storage device of a server computer and transferring the program from the server computer to another computer via a network.
The computer executing such a program first temporarily stores the program recorded in the portable recording medium or the program transferred from the server computer, for example, in the auxiliary recording unit 2025, which is its own non-transitory storage device. Then, when executing processing, the computer reads the program stored in the auxiliary recording unit 2025 serving as its own non-transitory storage device onto the recording unit 2020, and executes processing according to the read program. Alternatively, as another form of executing the program, the computer may read the program directly from the portable recording medium onto the recording unit 2020, and execute processing according to the program, or the computer may sequentially execute processing according to the program received from a server computer every time the program is transferred thereto from the server computer. Furthermore, instead of transferring the program to the computer from a server computer, the processing described above may be executed by a so-called ASP (Application Service Provider) type service, in which a processing function is realized by execution commands and result acquisition alone. Note that the program according to the present embodiment includes information to be used for processing by an electronic computer and equivalent to the program (data which is not a direct command to the computer but has a property that regulates the processing of the computer and the like).
In addition, although the present device is configured by executing a predetermined program on the computer in this form, at least a part of the details of processing may be realized by hardware.
The present invention is not limited to the above-described embodiment, and appropriate changes can be made without departing from the spirit of the present invention.
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/JP2022/016501 | 3/31/2022 | WO |