Могут ли клиенты обучать в FL разные архитектуры моделей?
Я практикуюсь в этом руководстве , я бы хотел, чтобы каждый клиент обучал разной архитектуре и разной модели. Возможно ли это?
1 ответ
TFF поддерживает разных клиентов с разной архитектурой модели.
Однако в руководстве по федеративному обучению для классификации изображений используетсякоторый реализует алгоритм федеративного усреднения (McMahan et. al, 2017 ), определяемый как каждый клиент, получающий одну и ту же архитектуру. В TFF это достигается путем «сопоставления» (в смысле функционального программирования) модели с каждым набором данных клиента для создания новой модели и последующего агрегирования результата.
Чтобы достичь разных клиентов с разной архитектурой, потребуется реализовать другой алгоритм федеративного обучения. Есть пара (не исчерпывающих) способов выразить это:
Реализуйте альтернативу
ClientFedAvg
. Этот метод применяет фиксированную модель к набору данных клиентов. Альтернативная реализация потенциально может создать другую архитектуру для каждого клиента.Создать замену для
который использует другую сигнатуру функции, разделяя группы клиентов, которые получат разные архитектуры. Например, сейчас FedAvg выглядит так: (<state@SERVER, data@CLIENTS> → <state@SERVER, metrics@SERVER>
это можно было бы заменить методом с подписью:
(<state@SERVER, data1@CLIENTS, data2@CLIENTS, ...> → <state@SERVER, metrics@SERVER>
Это позволит функции внутренне
разные архитектуры моделей для разных наборов данных клиентов. Это, вероятно, будет полезно только при моделировании FL или экспериментах и исследованиях.
Однако при федеративном обучении возникнут сложные вопросы о том, как агрегировать модели обратно на сервере в единую глобальную модель. Вероятно, это нужно сперва разработать.