Reputation: 151
In the paper Learning differentially private recurrent language models
that presents the algorithm DP-FedAvg
, clipping of clients' updates seems to take place at the client side. Each client clips his local update and then returns the already clipped update back to the server.
However, in the other paper, Advances and open problems in federated learning
, it seems that the server is the one clipping the updates. The paper says in page 48,
"With this technique, the server clips the L2 norm of individual updates, aggregates the clipped updates, and then adds Gaussian noise to the aggregate".
Which process is the one followed in TFF
? Who is performing the clipping ?
Upvotes: 0
Views: 128
Reputation: 900
There is nothing inherent in TFF that would prevent either of the options you mention; both can be implemented.
If you asked about concrete available APIs, then tff.aggregators.DifferentiallyPrivateFactory.gaussian_fixed
creates aggregator applying clipping to a fixed norm at clients, before the values are aggregated.
Upvotes: 2