对服务器和客户端之间的通信执行的操作 [英] Operations performed on the communications between the server and clients
问题描述
联邦学习研究的一部分基于对服务器和客户端之间的通信执行的操作,例如删除客户端和服务器之间交换的部分更新(删除一些描述模型的梯度)或丢弃来自特定客户端的更新一定的沟通回合.我想知道 Tensorflow-federated (TFF) 框架是否支持这些功能以及它们是如何支持的,因为乍一看,TFF API 的抽象级别似乎不允许这样的操作.谢谢.
Part of federated learning research is based on operations performed on the communications between the server and clients such as dropping part of the updates (drop some gradients describing a model) exchanged between clients and server or discarding an update from a specific client in a certain communication round. I want to know if such capabilities are supported by Tensorflow-federated (TFF) framework and how they are supported because, from a first look, it seems to me the level of abstraction of TFF API does not allow such operations. Thank you.
推荐答案
TFF 的语言设计有意避免了客户端身份的概念;希望避免使客户端 X"可寻址并丢弃其更新或向其发送不同的数据.
TFF's language design intentionally avoids a notion of client identity; there is desire to avoid making a "Client X" addressable and discarding its update or sending it different data.
但是,可能有一种方法可以运行上述计算类型的模拟.TFF 确实支持表达以下内容:
However, there may be a way to run simulations of the type of computations mentioned. TFF does support expressing the following:
以张量属性为条件的计算,例如忽略具有
nan
值的更新.实现这一点的一种方法是编写一个tff.tf_computation
,它有条件地将tff.federated_mean
之前的更新权重归零.此技术用于 ()
Computations that condition on properties of tensors, for example ignore an update that has
nan
values. One way this could be accomplished would be by writing atff.tf_computation
that conditionally zeros out the weight of updates beforetff.federated_mean
. This technique is used in tff.learning.build_federated_averaing_process()
在不同客户端集(其中一组可能是单个客户端)上运行不同计算的模拟.由于参考执行器通过客户端拥有的数据参数化客户端,因此 TFF 的编写者可以编写两个 tff.federated_computation
,将它们应用于不同的模拟数据,并组合结果.
Simulations that run a different computations on different sets of clients (where a set maybe a single client). Since the reference executor parameterizes clients by the data they posses, a writer of TFF could write two tff.federated_computation
s, apply them to different simulation data, and combine the results.
这篇关于对服务器和客户端之间的通信执行的操作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!