/ notes / update-aggregation.md
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)