update-aggregation.md
1 --- 2 tags: 3 - federated-learning 4 - aggregation 5 - fedavg 6 type: mechanism 7 color: orange 8 --- 9 10 # Update Aggregation 11 12 Update aggregation это стадия, где сервер собирает локальные обновления клиентов и объединяет их в новую global model. 13 14 ## Core idea 15 16 Сервер не усредняет сырые данные пользователей. Он агрегирует параметры или градиентоподобные обновления, полученные после локального обучения. 17 18 ## Principle workflow 19 20 ```text 21 Trained Model A --\\ 22 Trained Model B ----> Server -> Centralized Model 23 Trained Model C --/ 24 ``` 25 26 ## Main nodes from the screenshot 27 28 1. `Trained Model A` 29 2. `Trained Model B` 30 3. `Trained Model C` 31 4. `Server` 32 5. `Centralized Model` 33 34 ## Level 1: what the family does 35 36 Этот шаг превращает множество локальных результатов в одну общую модель, которую можно снова разослать клиентам. 37 38 ## Level 2: main mechanisms 39 40 - клиенты отправляют [local update](concepts/local-update.md) 41 - сервер применяет правило агрегирования, часто [FedAvg](concepts/fedavg.md) 42 - иногда перед агрегацией добавляют [secure aggregation](concepts/secure-aggregation.md) 43 - результат становится новой [global model](concepts/global-model.md) 44 45 ## Level 3: why it matters 46 47 Aggregation это сердце federated learning. Если правило объединения устойчиво, модель учится на распределенных источниках данных. Если нет, шумные клиенты, outliers или сильный non-IID могут портить обучение. 48 49 ## Strengths or typical use cases 50 51 - позволяет использовать вклад многих клиентов без передачи их исходных записей 52 - легко масштабируется по числу источников данных 53 - хорошо сочетается с weighted averaging и sampling клиентов 54 55 ## Limits or tradeoffs 56 57 - простое усреднение не всегда устойчиво к outliers и data skew 58 - обновления сами по себе тоже могут утекать через атаки на приватность 59 - aggregation server становится критической точкой координации 60 61 ## Open and free materials 62 63 - [Communication-Efficient Learning of Deep Networks from Decentralized Data](https://proceedings.mlr.press/v54/mcmahan17a.html) - вводит практический алгоритм FedAvg. 64 - [Practical Secure Aggregation for Privacy-Preserving Machine Learning](https://arxiv.org/abs/1611.04482) - базовая работа про защиту клиентских обновлений при агрегации. 65 - [TensorFlow Federated](https://www.tensorflow.org/federated) - помогает увидеть aggregation как часть формального federated computation. 66 - [Flower Documentation](https://flower.ai/docs/) - практическая среда для экспериментов со стратегиями агрегации. 67 68 ## Related notes 69 70 - [federated-learning](federated-learning.md) 71 - [model-synchronization](model-synchronization.md) 72 - [local update](concepts/local-update.md) 73 - [FedAvg](concepts/fedavg.md) 74 - [secure aggregation](concepts/secure-aggregation.md) 75 - [centralized training](concepts/centralized-training.md)