Операции, выполняемые в связи между сервером и клиентами
Часть исследований федеративного обучения основана на операциях, выполняемых для связи между сервером и клиентами, таких как удаление части обновлений (отбрасывание некоторых градиентов, описывающих модель), которыми обмениваются клиенты и сервер, или отбрасывание обновления от определенного клиента в определенной связи. круглый. Я хочу знать, поддерживаются ли такие возможности средой Tensorflow-federated (TFF) и как они поддерживаются, потому что, на первый взгляд, мне кажется, что уровень абстракции TFF API не допускает таких операций. Спасибо.
1 ответ
Языковой дизайн TFF намеренно избегает понятия идентичности клиента; Существует желание избежать адресации "Клиента Х" и отмены его обновления или отправки ему других данных.
Однако может быть способ запустить моделирование типа упомянутых вычислений. TFF поддерживает следующие выражения:
Вычисления, которые обусловливают свойства тензоров, например игнорируют обновление, которое имеет
nan
ценности. Один из способов сделать это - написатьtff.tf_computation
что условно обнуляет вес обновлений передtff.federated_mean
, Этот метод используется в tff.learning.build_federated_averaing_process()Симуляции, которые выполняют разные вычисления на разных наборах клиентов (где набор может быть одним клиентом). Поскольку эталонный исполнитель параметризует клиентов по имеющимся у них данным, автор TFF может записать два
tff.federated_computation
s, примените их к различным данным моделирования и объедините результаты.