IP Library Granted Patent US 12,192,321
Granted Patent B2
US 12,192,321 · App. 17/875,987 · Granted Jan 7, 2025

Private vertical federated learning

Inventors: Runhua Xu (Pittsburgh, PA); Nathalie Baracaldo Angel (San Jose, CA); Hayim Shaul (Kfar Saba, IL); Omri Soceanu (Haifa, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/008G06N20/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,192,321
App. No.
17/875,987
Granted
Jan 7, 2025
Kind
B2
Abstract

A second set of data identifiers, comprising identifiers of data usable in federated model training by a second data owner, is received at a first data owner from the second data owner. An intersection set of data identifiers is determined at the first data owner. At the first data owner according to the intersection set of data identifiers, the data usable in federated model training is rearranged by the first data owner to result in a first training dataset. At the first data owner using the intersection set of data identifiers, the first training dataset, and a previous iteration of an aggregated set of model weights, a first partial set of model weights is computed. An updated aggregated set of model weights, comprising the first partial set of model weights and a second partial set of model weights from the second data owner, is received from an aggregator.

Claims (43)

1. A computer-implemented method comprising:

receiving, at a first data owner from a second data owner, a second set of data identifiers, the second set of data identifiers comprising identifiers of data usable in federated model training by the second data owner;

determining, at the first data owner by comparing the second set of data identifiers with a first set of data identifiers, an intersection set of data identifiers, the first set of data identifiers comprising identifiers of data usable in federated model training by the first data owner, the intersection set of data identifiers consisting of data identifiers present in both the first set of data identifiers and the second set of data identifiers, wherein the intersection set of data identifiers is stored in ascending numerical order;

rearranging, at the first data owner according to the intersection set of data identifiers, the data usable in federated model training by the first data owner, the rearranging resulting in a first training dataset sorted into ascending order of data identifiers in the intersection set of data identifiers, the first training dataset comprising a set of labels;

performing a training iteration of a model by computing, at the first data owner, a first partial set of model weights, the first partial set of model weights computed using the intersection set of data identifiers, the first training dataset, and a previous iteration of an aggregated set of model weights computed by the first data owner and the second data owner in a previous training iteration of the model;

receiving, at the first data owner from an aggregator, an updated aggregated set of model weights, the updated aggregated set of model weights comprising the first partial set of model weights and a second partial set of model weights received at the aggregator from the second data owner, the second partial set of model weights computed at the second data owner during the training iteration of the model, wherein the updated aggregated set of model weights comprises a result of the training iteration of the model; and

receiving, at the first data owner from the aggregator subsequent to performance of a plurality of training iterations including the training iteration, a trained version of the model, the trained version of the model comprising a final aggregated set of model weights computed at the first data owner and the second data owner.

2. The computer-implemented method of claim 1 , wherein the second set of data identifiers is communicated from the second data owner through the aggregator to the first data owner.

3. The computer-implemented method of claim 1 , wherein the second set of data identifiers is communicated from the second data owner through the aggregator to the first data owner in homomorphically encrypted form, and wherein a decryption key usable to decrypt the second set of data identifiers is unavailable to the aggregator.

4. The computer-implemented method of claim 1 , wherein the intersection set of data identifiers comprises a homomorphically encrypted indicator vector.

5. The computer-implemented method of claim 4 , wherein the homomorphically encrypted indicator vector is determined by comparing a homomorphically encrypted form of the second set of data identifiers with a homomorphically encrypted form of the first set of data identifiers.

6. The computer-implemented method of claim 1 , wherein the intersection set of data identifiers is communicated from the first data owner through the aggregator to the second data owner.

7. The computer-implemented method of claim 1 , wherein the intersection set of data identifiers is communicated from the first data owner through the aggregator to the second data owner in homomorphically encrypted form, and wherein a decryption key usable to decrypt the intersection set of data identifiers is unavailable to the aggregator.

8. The computer-implemented method of claim 1 , wherein the previous iteration of the aggregated set of model weights is received at the first data owner from the aggregator in encrypted form, wherein a decryption key usable to decrypt the previous iteration of the aggregated set of model weights is available to the first data owner.

9. The computer-implemented method of claim 1 , wherein computing the first partial set of model weights comprises:

computing first partial weighted data, the first partial weighted data comprising data from the first training dataset weighted by the previous iteration of the aggregated set of model weights;

receiving, from the second data owner, second partial weighted data, the second partial weighted data comprising data from the second training dataset weighted by the previous iteration of the aggregated set of model weights;

computing a set of differences between the set of labels and a sum of the first partial weighted data and the second partial weighted data; and

computing, using the set of differences and the previous iteration of the aggregated set of model weights, the first partial set of weights.

10. The computer-implemented method of claim 9 , wherein the second partial weighted data is communicated from the second data owner through the aggregator to the first data owner in homomorphically encrypted form, and wherein a decryption key usable to decrypt the second partial weighted data is unavailable to the aggregator.

11. The computer-implemented method of claim 9 , wherein the set of differences is computed using a homomorphically encrypted form of the first partial weighted data and a homomorphically encrypted form of the second partial weighted data, and the set of differences is in homomorphically encrypted form.

12. The computer-implemented method of claim 9 , wherein the partial set of weights is computed using a homomorphically encrypted form of the set of differences, and the partial set of weights is in homomorphically encrypted form.

13. A computer program product for vertical federated learning, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the stored program instructions comprising:

program instructions to receive, at a first data owner from a second data owner, a second set of data identifiers, the second set of data identifiers comprising identifiers of data usable in federated model training by the second data owner;

program instructions to determine, at the first data owner by comparing the second set of data identifiers with a first set of data identifiers, an intersection set of data identifiers, the first set of data identifiers comprising identifiers of data usable in federated model training by the first data owner, the intersection set of data identifiers consisting of data identifiers present in both the first set of data identifiers and the second set of data identifiers, wherein the intersection set of data identifiers is stored in ascending numerical order;

program instructions to rearrange, at the first data owner according to the intersection set of data identifiers, the data usable in federated model training by the first data owner, the rearranging resulting in a first training dataset sorted into ascending order of data identifiers in the intersection set of data identifiers, the first training dataset comprising a set of labels;

program instructions to perform a training iteration of a model by computing, at the first data owner, a first partial set of model weights, the first partial set of model weights computed using the intersection set of data identifiers, the first training dataset, and a previous iteration of an aggregated set of model weights computed by the first data owner and the second data owner in a previous training iteration of the model;

program instructions to receive, at the first data owner from an aggregator, an updated aggregated set of model weights, the updated aggregated set of model weights comprising the first partial set of model weights and a second partial set of model weights received at the aggregator from the second data owner, the second partial set of model weights computed at the second data owner during the training iteration of the model, wherein the updated aggregated set of model weights comprises a result of the training iteration of the model; and

program instructions to receive, at the first data owner from the aggregator subsequent to performance of a plurality of training iterations including the training iteration, a trained version of the model, the trained version of the model comprising a final aggregated set of model weights computed at the first data owner and the second data owner.

14. The computer program product of claim 13 , wherein the second set of data identifiers is communicated from the second data owner through the aggregator to the first data owner.

15. The computer program product of claim 13 , wherein the second set of data identifiers is communicated from the second data owner through the aggregator to the first data owner in homomorphically encrypted form, and wherein a decryption key usable to decrypt the second set of data identifiers is unavailable to the aggregator.

16. The computer program product of claim 13 , wherein the intersection set of data identifiers comprises a homomorphically encrypted indicator vector.

17. The computer program product of claim 13 , wherein the stored program instructions are stored in the at least one of the one or more storage media of a local data processing system, and wherein the stored program instructions are transferred over a network from a remote data processing system.

18. The computer program product of claim 13 , wherein the stored program instructions are stored in the at least one of the one or more storage media of a server data processing system, and wherein the stored program instructions are downloaded over a network to a remote data processing system for use in a computer readable storage device associated with the remote data processing system.

19. The computer program product of claim 13 , wherein the computer program product is provided as a service in a cloud environment.

20. A computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage media, and program instructions stored on at least one of the one or more storage media for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:

program instructions to receive, at a first data owner from a second data owner, a second set of data identifiers, the second set of data identifiers comprising identifiers of data usable in federated model training by the second data owner;

program instructions to determine, at the first data owner by comparing the second set of data identifiers with a first set of data identifiers, an intersection set of data identifiers, the first set of data identifiers comprising identifiers of data usable in federated model training by the first data owner, the intersection set of data identifiers consisting of data identifiers present in both the first set of data identifiers and the second set of data identifiers, wherein the intersection set of data identifiers is stored in ascending numerical order;

program instructions to rearrange, at the first data owner according to the intersection set of data identifiers, the data usable in federated model training by the first data owner, the rearranging resulting in a first training dataset sorted into ascending order of data identifiers in the intersection set of data identifiers, the first training dataset comprising a set of labels;

program instructions to perform a training iteration of a model by computing, at the first data owner, a first partial set of model weights, the first partial set of model weights computed using the intersection set of data identifiers, the first training dataset, and a previous iteration of an aggregated set of model weights computed by the first data owner and the second data owner in a previous training iteration of the model;

program instructions to receive, at the first data owner from an aggregator, an updated aggregated set of model weights, the updated aggregated set of model weights comprising the first partial set of model weights and a second partial set of model weights received at the aggregator from the second data owner, the second partial set of model weights computed at the second data owner during the training iteration of the model, wherein the updated aggregated set of model weights comprises a result of the training iteration of the model; and

program instructions to receive, at the first data owner from the aggregator subsequent to performance of a plurality of training iterations including the training iteration, a trained version of the model, the trained version of the model comprising a final aggregated set of model weights computed at the first data owner and the second data owner.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2022
From: XU, RUNHUA; BARACALDO ANGEL, NATHALIE; SHAUL, HAYIM; SOCEANU, OMRI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060659/0279 →
Continuity (1)
Related Publication 20240039692A1 · Feb 1, 2024
References Cited (45)
US 11188791B2 · Choudhury et al. · 2021 [cited by applicant]
US 11743238B2 · Gharibi · 2023 [cited by examiner]
US 20200358599A1 · Baracaldo Angel · 2020 [cited by examiner]
US 20210012225A1 · Sathya · 2021 [cited by examiner]
US 20210174243A1 · Angel et al. · 2021 [cited by applicant]
US 20210174257A1 · Pothula · 2021 [cited by examiner]
US 20210248244A1 · Liu · 2021 [cited by examiner]
US 20210409197A1 · Baracaldo Angel et al. · 2021 [cited by applicant]
US 20220076133A1 · Yang · 2022 [cited by examiner]
US 20220101054A1 · Abouzeid · 2022 [cited by examiner]
US 20220147873A1 · Zhang · 2022 [cited by examiner]
US 20220255764A1 · Li · 2022 [cited by examiner]
US 20220358417A1 · Liu · 2022 [cited by examiner]
US 20220366220A1 · Roth · 2022 [cited by examiner]
US 20220398343A1 · Ou · 2022 [cited by examiner]
US 20230028606A1 · Cheng · 2023 [cited by examiner]
US 20230068770A1 · Cheng · 2023 [cited by examiner]
US 20230216668A1 · Zhang · 2023 [cited by examiner]
US 20230316062A1 · Balevi · 2023 [cited by examiner]
US 20230334333A1 · Zheng · 2023 [cited by examiner]
US 20230342491A1 · Gilmore · 2023 [cited by examiner]
US 20230409965A1 · Hsu · 2023 [cited by examiner]
US 20230409983A1 · Aradhyula · 2023 [cited by examiner]
US 20240005341A1 · Ouyang · 2024 [cited by examiner]
US 20240054205A1 · Goodsitt · 2024 [cited by examiner]
US 20240062072A1 · Wang · 2024 [cited by examiner]
WO 2021047535A1 · 2021 [cited by applicant]
Z. Zhang, X. Li and S. Yang, “Data Pricing in Vertical Federated Learning,” 2022 IEEE/CIC International Conference on Communications in China (ICCC), Sanshui, Foshan, China, 2022, pp. 932-937. (Year: 2022). [cited by examiner]
Xu, Runhua, et al. “Fedv: Privacy-preserving federated learning over vertically partitioned data.” Proceedings of the 14th ACM workshop on artificial intelligence and security. 2021, pp. 181-192. (Year: 2021). [cited by examiner]
Zhu, Hangyu, et al. “PIVODL: Privacy-preserving vertical federated learning over distributed labels.” IEEE Transactions on Artificial Intelligence 4.5 (2021): 988-1001. (Year: 2021). [cited by examiner]
Li et al., Preserving Data Privacy via Federated Learning: Challenges and Solutions, IEEE Consumer Electronics Magazine 9.3 (2020): pp. 8-16, Apr. 8, 2020. [cited by applicant]
Xu et al., FedV: Privacy-Preserving Federated Learning over Vertically Partitioned Data, Jun. 16, 2021. [cited by applicant]
Bouacida et al., Vulnerabilities in Federated Learning, IEEE Access, vol. 9, pp. 63229-63249, May 3, 2021. [cited by applicant]
Smietanka et al., Federated Learning for Privacy-preserving data access, Nov. 10, 2020. [cited by applicant]
Wu et al., Exploiting Record Similarity for Practical Vertical Federated Learning, Jun. 11, 2021. [cited by applicant]
Cheng et al., SecureBoost: A Lossless Federated Learning Framework, IEEE Intelligent Systems, Apr. 7, 2021. [cited by applicant]
Hardy et al., Private federated learning on vertically partitioned data via entity resolution and additively homomorphic encryption, Nov. 29, 2017. [cited by applicant]
Yang et al., A Quasi-Newton Method Based Vertical Federated Learning Framework for Logistic Regression, Dec. 4, 2019. [cited by applicant]
Chen et al., VAFL: a Method of Vertical Asynchronous Federated Learning, Jul. 12, 2020. [cited by applicant]
Wang et al., Hybrid Differentially Private Federated Learning on Vertically Partitioned Data, Sep. 6, 2020. [cited by applicant]
Gascon et al., Privacy-Preserving Distributed Linear Regression on High-Dimensional Data, Proceedings on Privacy Enhancing Technologies, Jun. 2, 2017. [cited by applicant]
Gu et al., Federated Doubly Stochastic Kernel Learning for Vertically Partitioned Data, 26th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, Aug. 14, 2020. [cited by applicant]
Zhang et al., Secure Bilevel Asynchronous Vertical Federated Learning with Backward Updating, Mar. 1, 2021. [cited by applicant]
Romanini et al., Pyvertical: A Vertical Federated Learning Framework for Multi-Headed SPLITNN, ICLR 2021—Workshop on Distributed and Private Machine Learning (DPML), Apr. 14, 2021. [cited by applicant]
Fu et al., VF2Boost: Very Fast Vertical Federated Gradient Boosting for Cross-Enterprise Learning, SIGMOD/PODS '21: Proceedings of the 2021 International Conference on Management of Data, pp. 563-576, Jun. 20-25, 2021. [cited by applicant]