IP Library Granted Patent US 12,088,565
Granted Patent B2
US 12,088,565 · App. 17/939,585 · Granted Sep 10, 2024

Systems and methods for privacy preserving training and inference of decentralized recommendation systems from decentralized data

Inventors: Gharib Gharibi (Overland Park, KS); Greg Storm (Kansas City, MO); Ravi Patel (Kansas City, MO); Babak Poorebrahim Gilkalaye (Kansas City, MO); Riddhiman Das (Parkville, MO)
Assignee: Triplelind Holdings, Inc.
H04L63/0428G06F17/16G06F18/2113G06F18/24G06N3/04G06N3/082G06Q20/401G06Q30/0623H04L9/008H04L9/0625G06Q2220/00H04L2209/46
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,088,565
App. No.
17/939,585
Granted
Sep 10, 2024
Kind
B2
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.

Claims (38)

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 which is not directly observable from input or output;

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 comprising a version of a recommendation system 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 to enable parties to perform multiplication and comparison securely, 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 by aggregating the respective set of gradients from each client device to generate the updated item-vector matrix V; and

downloading 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 device 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 , 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; and

updating 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.

9. A system comprising:

a processor; and

a 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 which is not directly observable from input or output;

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 comprising a version of a recommendation system 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 to enable parties to perform multiplication and comparison securely, 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 by aggregating the respective set of gradients from each client device to generate the updated item-vector matrix V; and

downloading the updated item-vector matrix V to at least one client device of the set of client devices.

10. The system of claim 9 , wherein each client device trains the local matrix factorization model using a stochastic gradient descent method.

11. The system of claim 9 , wherein the respective set of gradients is encrypted at each client device.

12. The system of claim 9 , wherein updating the item-vector matrix V at the system using a privacy-preserving aggregation method.

13. The system of claim 9 , wherein the updated item-vector matrix V is trained when a specific threshold is reached or a specific model accuracy is reached.

14. The system of claim 9 , wherein each client device can predict top items based on the updated item-vector matrix V.

15. The system of claim 9 , wherein the secure multi-party compute protocol comprises a secure multi-party compute inference protocol.

16. The system of claim 9 , 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; and

updating 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.

17. 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 which is not directly observable from input or output;

training a local matrix factorization model comprising a version of a recommendation system 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 by aggregating the set of gradients from each client device to generate the updated item-vector matrix V; and

receiving the updated item-vector matrix V at the client device.

18. The method of claim 17 , wherein the client device trains the local matrix factorization model using a stochastic gradient descent method.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2024
From: TRIPLEBLIND HOLDINGS, INC.
To: SELFIIE CORPORATION
Reel/Frame 068907/0556 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE SHOULD BE CORRECTED FROM TRIPLEBLIND HOLDING COMPANY TO TRIPLEBLIND HOLDINGS, INC. PREVIOUSLY RECORDED AT REEL: 67568 FRAME: 689. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 24, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDINGS, INC.
Reel/Frame 068722/0100 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: TRIPLEBLIND, INC.
To: TRIPLEBLIND HOLDING COMPANY
Reel/Frame 067568/0689 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2024
From: GHARIBI, GHARIB; STORM, GREG; PATEL, RAVI; POOREBRAHIM GILKALAYE, BABAK; DAS, RIDDHIMAN
To: TRIPLEBLIND, INC.
Reel/Frame 066679/0101 →
Continuity (12)
Continuation 17743887 · May 13, 2022
Continuation 17742808 · May 12, 2022
Continuation 17180475 · Feb 19, 2021
Continuation In Part 17176530 · Feb 16, 2021
Continuation In Part 16828085 · Mar 24, 2020
Continuation 16828354 · Mar 24, 2020
Continuation In Part 16828420 · Mar 24, 2020
Continuation In Part 16828216 · Mar 24, 2020
Provisional Application 63241255 · Sep 7, 2021
Provisional Application 63020930 · May 6, 2020
Provisional Application 62948105 · Dec 13, 2019
Related Publication 20230300115A1 · Sep 21, 2023