Операции, выполняемые в связи между сервером и клиентами

Часть исследований федеративного обучения основана на операциях, выполняемых для связи между сервером и клиентами, таких как удаление части обновлений (отбрасывание некоторых градиентов, описывающих модель), которыми обмениваются клиенты и сервер, или отбрасывание обновления от определенного клиента в определенной связи. круглый. Я хочу знать, поддерживаются ли такие возможности средой Tensorflow-federated (TFF) и как они поддерживаются, потому что, на первый взгляд, мне кажется, что уровень абстракции TFF API не допускает таких операций. Спасибо.

1 ответ

Решение

Языковой дизайн TFF намеренно избегает понятия идентичности клиента; Существует желание избежать адресации "Клиента Х" и отмены его обновления или отправки ему других данных.

Однако может быть способ запустить моделирование типа упомянутых вычислений. TFF поддерживает следующие выражения:

  • Вычисления, которые обусловливают свойства тензоров, например игнорируют обновление, которое имеет nan ценности. Один из способов сделать это - написать tff.tf_computation что условно обнуляет вес обновлений перед tff.federated_mean, Этот метод используется в tff.learning.build_federated_averaing_process()

  • Симуляции, которые выполняют разные вычисления на разных наборах клиентов (где набор может быть одним клиентом). Поскольку эталонный исполнитель параметризует клиентов по имеющимся у них данным, автор TFF может записать два tff.federated_computations, примените их к различным данным моделирования и объедините результаты.

Другие вопросы по тегам