IP Library Granted Patent US 12,602,613
Granted Patent B2
US 12,602,613 · App. 17/928,372 · Granted Apr 14, 2026

Privacy-enhanced training and deployment of machine learning models using client-side and server-side data

Inventors: Abhradeep Guha Thakurta (Los Gatos, CA); Li Zhang (Saratoga, CA); Prateek Jain (Bangalore, IN); Shuang Song (Cupertino, CA); Steffen Rendle (Mountain View, CA); Steve Shaw-Tang Chien (San Carlos, CA); Walid Krichene (Fremont, CA); Yarong Mu (Kirkland, WA)
Assignee: Google LLC
G06N20/00G06F21/6218
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,602,613
App. No.
17/928,372
Granted
Apr 14, 2026
Kind
B2
Abstract

Computer-implemented systems and methods for training a decentralized model for making a personalized recommendation. In one aspect, the method comprising: obtaining, using user activity data, client-side training data that includes features and training labels; and training, by the client device, a decentralized model in training rounds, wherein training, in each training round comprises: receiving, first data including a current server-side embedding generated by the server-side machine learning model, wherein the first data received from the server does not include any server-side data used in generating the current server-side embedding; generating, using the client-side machine learning model, a client-side embedding based on the client-side training data; updating, using the client-side embedding and the current server-side embedding and based on the training labels, the client-side machine learning model; generating, an updated client-side embedding; and transmitting second data including the updated client-side embedding for subsequent updating of the server-side machine learning model.

Claims (70)

1 . A computer-implemented method, comprising:

obtaining, by a client device and using user activity data stored at the client device, client-side training data that includes a plurality of features and a corresponding plurality of training labels; and

training, by the client device, a decentralized model in a plurality of training rounds, wherein the decentralized model (1) is trained to output data indicating whether one or more digital components should be provided to the client device based on input user activity data and digital component attribute data, (2) includes a client-side machine learning model and a server-side machine learning model, and (3) is trained while ensuring joint differential privacy, wherein:

the server-side machine learning model comprises at least a first sub-model corresponding to a content provider and a second sub-model corresponding to a content publisher;

each of the first sub-model and the second sub-model are configured to generate a respective server-side embedding; and

training, by the client device, in each training round of the plurality of training rounds comprises:

receiving, from a server, first data including a current server-side embedding generated by the server-side machine learning model, wherein the first data received from the server does not include any server-side features used in generating the current server-side embedding;

updating, using current server-side embedding and based on the plurality of training labels, the client-side machine learning model;

generating, using the updated client-side machine learning model, an updated client-side embedding; and

transmitting, by the client device and to the server, second data including the updated client-side embedding for subsequent updating of the server-side machine learning model, wherein updating the client-side machine learning model comprises minimizing a client-side loss function based on a combination of the current server-side embedding and a client-side embedding while parameters of the server-side machine learning model are held fixed.

2 . The computer-implemented method of claim 1 , wherein:

the second data transmitted to the server does not include any of the plurality of features of the client-side training data used in generating the updated client-side embedding.

3 . The computer-implemented method of claim 1 ,

wherein training, by the client device, in each training round of the plurality of training rounds comprises:

combining the client-side embedding and the current server-side embedding to obtain a combined embedding, and

wherein updating, using the client-side embedding and the current server-side embedding and based on the plurality of training labels, the client-side machine learning model comprises

updating, using the combined embedding and based on the plurality of training labels, the client-side machine learning model.

4 . The computer-implemented method of claim 3 , wherein updating the client-side machine learning model comprises:

minimizing a loss function based on the combined embedding while keeping parameters of the server-side machine learning model unaltered.

5 . The computer-implemented method of claim 4 , wherein minimizing the loss function is based on stochastic gradient descent or alternating least squares.

6 . The computer-implemented method of claim 1 , wherein the client-side machine learning model is shared among a plurality of client devices including the client device and a second client device based on joint differential privacy.

7 . The computer-implemented method of claim 1 , wherein the client-side machine learning model is independent from a second client-side machine learning model for the second client device.

8 . The computer-implemented method of claim 7 , wherein the client-side training data and the input user activity data is not shared with or accessible by the second client device.

9 . The computer implemented method of claim 7 , wherein combining the client-side embedding and the current server-side embedding to obtain a combined embedding is by using a dot product or a tensor product.

10 . A computer-implemented method, comprising:

obtaining, by a server and using server-side data obtained from a server-side user, server-side training data that includes a plurality of features and a corresponding plurality of training labels; and

training, by the server, at least part of a decentralized model in a plurality of training rounds, wherein the decentralized model (1) is trained to output data indicating whether one or more digital components should be provided to the client device based on input user activity data and digital component attribute data, and (2) includes a client-side machine learning model and a server-side machine learning model,

wherein:

the server-side machine learning model comprises at least a first sub-model corresponding to a content provider and a second sub-model corresponding to a content publisher;

each of the first sub-model and the second sub-model are configured to generate a respective server-side embedding; and

training, by the server, in each training round of the plurality of training rounds comprises:

receiving, from a client device, second data including a current client-side embedding generated by the client-side machine learning model, wherein the second data received from the client device does not include any client-side features used in generating the current client-side embedding;

updating, using server-side embedding and the current client-side embedding and based on the plurality of training labels, the server-side machine learning model;

generating, using the updated server-side machine learning model, an updated server-side embedding; and

transmitting, by the server and to the client device, first data including the updated server-side embedding for subsequent updating of the client-side machine learning model, wherein updating the server-side machine learning model comprises minimizing a server-side loss function based on a combination of the current client-side embedding and a server-side embedding while parameters of the client-side machine learning model are held fixed.

11 . The computer-implemented method of claim 10 , wherein

the first data transmitted to the client device does not include any of the plurality of features of the server-side training data used in generating the updated server-side embedding.

12 . The computer-implemented method of claim 10 ,

wherein the training, by the server, in each training round of the plurality of training rounds comprises:

combining the current client-side embedding and the server-side embedding to obtain a combined embedding, and

wherein the updating, using the current client-side embedding and the server-side embedding and based on the plurality of training labels, the server-side machine learning model comprises:

updating, using the combined embedding and based on the plurality of training labels, the server-side machine learning model.

13 . The computer-implemented method of claim 12 , wherein updating the server-side machine learning model comprises:

minimizing a server loss function based on the combined embedding while keeping parameters of the client-side machine learning model unaltered.

14 . The computer-implemented method of claim 13 , wherein minimizing the server loss function is based on stochastic gradient descent or alternating least squares.

15 . The computer-implemented method of claim 10 , wherein the client-side machine learning model is shared among a plurality of client devices including the client device and a second client device based on joint differential privacy.

16 . The computer-implemented method of claim 15 , wherein the client-side machine learning model is independent from a second client-side machine learning model for the second client device.

17 . The computer-implemented method of claim 16 , wherein client-side training data and the input user activity data is not shared with or accessible by the second client device.

18 . The computer-implemented method of claim 10 , wherein the server-side user is a content publisher or a content provider, and wherein the server-side training data includes training digital component attribute data.

19 . The computer-implemented method of claim 12 , wherein combining the current client-side embedding and the server-side embedding to obtain a combined embedding is by using a dot product or a tensor product.

20 . A computer-implemented method performed by a server, comprising:

receiving, from a client device, a request for a digital component to be provided for display within a content page displayed on the client device;

receiving, from the client device, first data including a client-side embedding generated by a trained client-side machine learning model, wherein;

the server-side machine learning model comprises at least a first sub-model corresponding to a content provider and a second sub-model corresponding to a content publisher;

each of the first sub-model and the second sub-model are configured to generate a respective server-side embedding; and

the trained client-side machine learning model and a server-side machine learning model jointly define a decentralized model trained to output data indicating whether one or more digital components should be provided to a client device based on input user activity data and digital component attribute data;

generating, using the server-side machine learning model and based on digital component attribute data relating to a plurality of digital components, a server-side embedding, wherein the digital component attribute data is stored at the server;

combining the server-side embedding and the client-side embedding to obtain a combined embedding;

generating, using the combined embedding and for each digital component in the plurality of digital components, a score indicating whether the digital component should be provided to the client device;

selecting, from among the plurality of digital components and based on the scores for the plurality of digital components, a particular digital component; and

transmitting, to the client device, the particular digital component for provision within the content page displayed on the client device.

21 . The computer-implemented method of claim 20 , wherein:

selecting, from among the plurality of digital components and based on the scores for the plurality of digital components, the particular digital component includes selecting the particular digital component in response to determining that the score corresponding to the particular digital component is greater than scores corresponding to other digital components in the plurality of digital components.

22 . The computer-implemented method of claim 20 , wherein the combining the server-side embedding and the client-side embedding to obtain the combined embedding comprises:

combining the server-side embedding and the client-side embedding using a dot product or a tensor product.

23 . The computer-implemented method of claim 20 , wherein the first data does not include any user activity data used in generating the client-side embedding.

24 . The computer-implemented method of claim 20 , wherein the server includes a plurality of servers, and wherein each server in the plurality of servers includes a respective server-side machine learning model for generating a respective server-side embedding.

25 . The computer-implemented method of claim 20 , wherein combining the server-side embedding and the client-side embedding to obtain the combined embedding includes:

combining the client-side embedding with a plurality of client side embeddings received from a plurality of other client devices to obtain an aggregated client-side embedding; and

combining the aggregated client-side embedding and the server-side embedding to obtain the combined embedding.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2023
From: GUHA THAKURTA, ABHRADEEP; ZHANG, LI; JAIN, PRATEEK; SONG, SHUANG; RENDLE, STEFFEN; CHIEN, STEVE SHAW-TANG; KRICHENE, WALID; MU, YARONG
To: GOOGLE LLC
Reel/Frame 062561/0305 →
Priority Claims (1)
IN 202221008565 · Feb 18, 2022 · national
Continuity (1)
Related Publication 20240054391A1 · Feb 15, 2024
References Cited (24)
US 20180359078A1 · Jain et al. · 2018 [cited by applicant]
US 20190253431A1 · Atanda · 2019 [cited by applicant]
CN 114117203 · 2022 [cited by applicant]
WO WO2021080577 · 2021 [cited by applicant]
WO WO2021080577A1 · 2021 [cited by examiner]
Perifanis et al., “Federated Neural Collaborative Filtering”, Feb. 16, 2022, arXiv:2106.04405v2, pp. 1-19. (Year: 2022). [cited by examiner]
Ji et al., “Learning Private Neural Language Modeling with Attentive Aggregation”, Mar. 13, 2019, arXiv:1812.07108v2, pp. 1-8. ( Year: 2019). [cited by examiner]
Ai.googleblog.com [online], “Federated Learning: Collaborative Machine Learning without Centralized Training Data” Apr. 2017, retrieved on Dec. 12, 2022, retrieved from URL <https://ai.googleblog.com/2017/04/federated-l… [cited by applicant]
Bietti et al., “Personalization Improves Privacy-Accuracy Tradeoffs in Federated Optimization” submitted on Feb. 10, 2022, arXiv: 2202.05318V1, 22 pages. [cited by applicant]
Facebook.com [online], “Privacy-Enhancing Technologies and Building for the Future” Aug. 11, 2021, retrieved on Dec. 12, 2022, retrieved from URL <https://www.facebook.com/business/news/building-for-the-future>, 9 pages. [cited by applicant]
Github.com [online], “fbpcf” Jan. 2021, retrieved on Dec. 12, 2022, retrieved from URL <https://github.com/facebookresearch/fbpcf>, 11 pages. [cited by applicant]
Github.com [online], “Privacy” created on Dec. 2, 2018, retrieved on Dec. 12, 2022, retrieved from URL <https://github.com/tensorflow/privacy>, 5 pages. [cited by applicant]
International Search Report and Written Opinion in International Appln. No. PCT/US2022/023438, dated Nov. 15, 2022, 24 pages. [cited by applicant]
Jiang et al., “FedNCF: Federated Neural Collaborative Filtering for Privacy-preserving Recommender System” 2022 International Joint Conference on Neural Networks, IEEE, Jul. 18, 2022, 8 pages. [cited by applicant]
Perifanis et al., “Federated neural collaborative filtering” submitted on Feb. 16, 2022, arXiv: 2106.04405V2, 19 pages. [cited by applicant]
Privacytech.fb.com [online], “The Value of On-Device Learning” Aug. 2021, retrieved on Dec. 12, 2022, retrieved from URL <https://privacytech.fb.com/on-device-learning/>, 20 pages. [cited by applicant]
Qin et al., “Split Two-tower Model for Efficient and Privacy-Preserving Cross-device Federated Recommendation” submitted on Jun. 28, 2022, arXiv 2206.13715V1, 10 pages. [cited by applicant]
Silva et al., “FedEmbed: Personalized Private Federated Learning” submitted on Feb. 18, 2022, arXiv: 2202.09472V1, 15 pages. [cited by applicant]
Thepullrequest.com [online], “The Future of (ads) Privacy” Jul. 6, 2021, retrieved on Dec. 12, 2022, retrieved from URL <https://www.thepullrequest.com/p/the-future-of-ads-privacy>, 12 pages. [cited by applicant]
Theverge.com [online], “Facebook is rebuilding its ads to know a lot less about you” Apr. 11, 2021, retrieved on Dec. 12, 2022, retrieved from URL <https://www.theverge.com/2021/8/11/22619639/facebook-plans-privacy-focu… [cited by applicant]
International Preliminary Report on Patentability in International Appln. No. PCT/US2022/023438, mailed on Aug. 29, 2024, 17 pages. [cited by applicant]
Office Action in Indian Appln. No. 202221008565, mailed on Mar. 4, 2025, 7 pages (with English translation). [cited by applicant]
Office Action in European Appln. No. 22720126.6, mailed on May 22, 2025, 13 pages. [cited by applicant]
Yang et al., “H-FL: A Hierarchical Communication-Efficient and Privacy-Protected Architecture for Federated Learning” CoRR, Submitted on Jun. 2021, arXiv:2106.00275v1, 7 pages. [cited by applicant]