
В мире ИИ диффузионные модели (DM) - это как супергерои генерации изображений. Они создают картинки лучше, чем GAN или VAE, и используются везде: от компьютерного зрения до генерации текста. Но представьте: вы хотите обучить такую модель на данных с кучи устройств (смартфоны, edge‑устройства), не сливая личные данные в один котел. Вот тут вступает федеративное обучение (FL) — парадигма, где модели учатся распределенно, сохраняя приватность.
Проблема? В FL данные часто неоднородны (non‑IID), коммуникация жрет трафик, а модели огромные. Исследование из arXiv предлагает крутое решение: FedPhD. Это не просто метод — это комбо из иерархического FL, умной агрегации и структурированной обрезки моделей. Результат? Лучшее качество изображений (FID улучшен на 34%), минус 88% коммуникаций и 44% вычислений. Звучит вирусно? Давайте разберем по полочкам, чтобы было понятно даже новичку в ML.
Почему диффузионные модели — это круто, но проблемно в FL?
Диффузионные модели (как DDPM или DDIM) работают по принципу «шум туда‑сюда». Они добавляют шум к изображению (forward process), а потом его убирают (reverse process), генерируя новые картинки из чистого шума. Формулы выглядят страшно:
pθ(x)=∫pθ(x0:T) dx1:Tpθ(x)=∫pθ(x0:T)dx1:T
Но на деле это как варка супа: постепенно «варим» шум в изображение. DM круты в генерации высококачественных изображений, но требуют тонны данных и вычислений.
В федеративном обучении (FL, спасибо Google за Gboard) модели учатся на клиентах (устройствах), а сервер агрегирует обновления без сырых данных. Плюсы: приватность, доступ к «островам данных». Минусы для DM:
Гетерогенность данных (non‑IID): У одного клиента — котики, у другого — машины. Градиенты расходятся, качество падает. В экспериментах на CIFAR-10 FID (метрика качества, чем ниже — тем лучше) с IID‑данными 11.98, с non‑IID — 21.63. Centralized обучение выигрывает.
Коммуникация и вычисления: Модели большие (U‑Net с 35.7M параметров), трафик огромный.
Раньше пытались: Phoenix делится данными (но приватность?), FedDiffuse «режет» обновления. Но никто не решил все разом.
FedPhD: Иерархия, обрезка и умная агрегация — рецепт успеха
Авторы (из Университета Глазго и Hunan University) вводят FedPhD. Ключевые фичи:
Иерархическое федеративное обучение (HFL): Добавляем слой edge‑серверов между клиентами и центральным сервером. Почему? Частая агрегация на edge минимизирует расхождение от non‑IID (как в ShapeFL). Клиенты шлют обновления на edge чаще (каждый re раунд), edge — на центр реже (каждый rg=5 раунд). Результат: меньше трафика на дальние расстояния.
-
Структурированная обрезка (pruning): Не просто «выкинуть веса» (unstructured), а удалять целые группы (каналы, слои) для совместимости с CPU/GPU. Используют DepGraph для зависимостей и group‑norm для критериев. Два варианта:
From scratch (OS): Обрезаем сразу, случайно по L2-норме.
After sparse training: После Rs раундов, по group‑norm.
При обрезке 44% — параметры падают с 35.7M до 20.3M, MACs (вычисления) с 6.1G до 3.4G. Коммуникация — минус 44%.
-
Homogeneity‑aware агрегация и выбор сервера: Чтобы бороться с non‑IID, вводят Statistical Homogeneity (SH) score:
μn=2−∑y∈Y∣qn(y)−qu(y)∣2μn=2−∑y∈Y∣qn(y)−qu(y)∣2
Где qn(y)qn(y) — распределение меток на клиенте, ququ — uniform. Edge‑сервера накапливают распределения клиентов, клиенты выбирают edge по вероятности (баланс нагрузки + SH). Агрегация весит по SH + размеру данных:
ρe=ReLU(ne+a⋅μe+b)∑ReLU(ne+a⋅μe+b)ρe=∑ReLU(ne+a⋅μe+b)ReLU(ne+a⋅μe+b)
Это обеспечивает «гомогенность» — модель ближе к IID.
Алгоритм в псевдокоде — в статье, но суть: клиенты тренируют локально, шлют на edge, edge агрегирует, центр — глобально. Приватность: только распределения меток, без сырых данных (и планы на DP‑шум).
Эксперименты: FedPhD бьет базлайны по всем фронтам
Тестировали на CIFAR-10 (50K изображений 32×32) и CelebA (163K, 64×64) с DDIM (100 шагов). Настройки: 20 клиентов, 2 edge, non‑IID (каждый клиент — 2 класса в CIFAR, 1 в CelebA).
Качество: FID/IS лучше на 34%+ vs FedAvg, FedProx, MOON, SCAFFOLD, FedDiffuse. На CIFAR-10 FID 16.74 (vs 21.63 у FedAvg), IS 4.24. На CelebA FID 7.48, IS 2.88.
Метод |
FID (CIFAR-10) ↓ |
IS (CIFAR-10) ↑ |
FID (CelebA) ↓ |
IS (CelebA) ↑ |
---|---|---|---|---|
FedAvg |
21.63 |
4.16 |
11.29 |
2.81 |
FedProx |
22.42 |
4.01 |
13.39 |
2.55 |
FedDiffuse |
25.38 |
3.66 |
15.42 |
2.34 |
MOON |
20.43 |
4.17 |
10.88 |
2.78 |
SCAFFOLD |
29.54 |
3.54 |
21.44 |
2.38 |
FedPhD |
16.74 |
4.24 |
7.48 |
2.88 |
FedPhD (OS) |
17.03 |
4.14 |
7.48 |
2.88 |
Эффективность: Минус 44% параметров, 40% вычислений, 88% коммуникаций
При разных pruning‑ratio: До 44% — качество почти не падает, дальше — trade‑off.
Графики (FID vs epochs) показывают: FedPhD сходится быстрее, особенно на non‑IID.
Почему это важно для реального мира?
Применения: Edge‑AI (IoT, автономные авто), приватные данные (медицина, финансы). DM как аугментация для FL‑задач.
Будущее: Авторы обещают EMA в HFL, больше приватности (DP, MPC).
Для разработчиков: Код, наверное, скоро на GitHub (пока под ревью в IEEE). Пробуйте на PyTorch с RTX.
FedPhD — шаг к «демократизации» ИИ: учим мощные модели на слабых устройствах, без облачных монстров. Если вы в ML/FL — must‑read. Делитесь мыслями: пробовали DM в FL? Что думаете о pruning?