SYSTEMS AND METHODS FOR PRIVACY PRESERVING TRAINING AND INFERENCE OF DECENTRALIZED RECOMMENDATION SYSTEMS FROM DECENTRALIZED DATA

Abstract
A system and method are disclosed for training a recommendation system. The method includes initiating, at a server device, an item-vector matrix V, wherein the item-vector matrix V includes a value m related to a total number of items across one or more client devices and a value d representing a hidden dimension, transmitting the item-vector matrix V to each client device, wherein each client device trains a local matrix factorization model using a respective user vector U and the item-vector matrix V to generate a respective set of gradients on each respective client device, receiving, via a secure multi-party compute protocol, and from each client device, the respective set of gradients, updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V and downloading the updated item-vector matrix V to at least one client device.
Description
Claims
  • 1. A method comprising: initiating, at a server device, an item-vector matrix V, wherein the item-vector matrix V comprises a value m related to a total number of items across one or more client devices and a value d representing a hidden dimension;transmitting the item-vector matrix V to each client device of a set of client devices, wherein each client device trains a local matrix factorization model using a respective user vector U and the item-vector matrix V to generate a respective set of gradients on each respective client device;receiving, via a secure multi-party compute protocol, and from each client device of the set of client devices, the respective set of gradients;updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V; anddownloading the updated item-vector matrix V to at least one client device of the set of client devices.
  • 2. The method of claim 1, wherein each client device trains the local matrix factorization model using a stochastic gradient descent method.
  • 3. The method of claim 1, wherein the respective set of gradients is encrypted at each client device.
  • 4. The method of claim 1, wherein updating the item-vector matrix V at the server using a privacy-preserving aggregation method.
  • 5. The method of claim 1, wherein the updated item-vector matrix V is trained when a specific threshold is reached or a specific model accuracy is reached.
  • 6. The method of claim 1, wherein each client device can predict top items based on the updated item-vector matrix V.
  • 7. The method of claim 1, wherein the secure multi-party compute protocol comprises a secure multi-party compute inference protocol.
  • 8. The method of claim 1, wherein updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V further comprises aggregating the respective set of gradients from each client device to generate the updated item-vector matrix V.
  • 9. The method of claim 8, further comprising: receiving, via the secure multi-party compute protocol, and from each client device of the set of client devices, an updated respective set of gradients; andupdating the updated item-vector matrix V using the updated respective set of gradients from each client device to generate a second updated item-vector matrix V.
  • 10. A system comprising: a processor; anda computer-readable storage device storing instructions which, when executed by the processor, cause the processor to perform operations comprising: initiating an item-vector matrix V, wherein the item-vector matrix V comprises a value m related to a total number of items across one or more client devices and a value d representing a hidden dimension;transmitting the item-vector matrix V to each client device of a set of client devices, wherein each client device trains a local matrix factorization model using a respective user vector U and the item-vector matrix V to generate a respective set of gradients on each respective client device;receiving, via a secure multi-party compute protocol, and from each client device of the set of client devices, the respective set of gradients;updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V; anddownloading the updated item-vector matrix V to at least one client device of the set of client devices.
  • 11. The system of claim 10, wherein each client device trains the local matrix factorization model using a stochastic gradient descent method.
  • 12. The system of claim 10, wherein the respective set of gradients is encrypted at each client device.
  • 13. The system of claim 10, wherein updating the item-vector matrix V at the server using a privacy-preserving aggregation method.
  • 14. The system of claim 10, wherein the updated item-vector matrix V is trained when a specific threshold is reached or a specific model accuracy is reached.
  • 15. The system of claim 10, wherein each client device can predict top items based on the updated item-vector matrix V.
  • 16. The system of claim 10, wherein the secure multi-party compute protocol comprises a secure multi-party compute inference protocol.
  • 17. The system of claim 10, wherein updating the item-vector matrix V using the respective set of gradients from each client device to generate an updated item-vector matrix V further comprises aggregating the respective set of gradients from each client device to generate the updated item-vector matrix V.
  • 18. The system of claim 17, wherein the computer-readable storage device stores additional instructions which, when executed by the processor, cause the processor to perform operations further comprising: receiving, via the secure multi-party compute protocol, and from each client device of the set of client devices, an updated respective set of gradients; andupdating the updated item-vector matrix V using the updated respective set of gradients from each client device to generate a second updated item-vector matrix V.
  • 19. A method comprising: receiving an item-vector matrix V at a client device of a set of client devices, wherein the item-vector matrix V was initiated at a server device and wherein the item-vector matrix V comprises a value m related to a total number of items across one or more client devices and a value d representing a hidden dimension;training a local matrix factorization model using a respective user vector U and the item-vector matrix V to generate a set of gradients on the client device;transmitting, via a secure multi-party compute protocol, the set of gradients to the server device, wherein the server device updates the item-vector matrix V using the set of gradients from the client device and other respective sets of gradients from other respective client devices of the set of client devices to generate an updated item-vector matrix V; andreceiving the updated item-vector matrix V at the client device.
  • 20. The system of claim 19, wherein the client device trains the local matrix factorization model using a stochastic gradient descent method.
Provisional Applications (6)
Number Date Country
63241255 Sep 2021 US
63020930 May 2020 US
62948105 Dec 2019 US
62948105 Dec 2019 US
62948105 Dec 2019 US
62948105 Dec 2019 US
Continuations (4)
Number Date Country
Parent 17743887 May 2022 US
Child 17939585 US
Parent 17742808 May 2022 US
Child 17939585 US
Parent 17180475 Feb 2021 US
Child 17939585 US
Parent 16828354 Mar 2020 US
Child 17176530 US
Continuation in Parts (4)
Number Date Country
Parent 17176530 Feb 2021 US
Child 17180475 US
Parent 16828085 Mar 2020 US
Child 17180475 US
Parent 16828216 Mar 2020 US
Child 17180475 US
Parent 16828420 Mar 2020 US
Child 17180475 US