Skip to content

Commit 0116982

Browse files
authored
Update proces.md
Toevoegen van proces voor federatief leren, stond nu bij applicatie, maar hoort bij proces.
1 parent a4251f6 commit 0116982

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

docs/implementaties/PLUGIN/proces.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,82 @@ Belangrijk is dat de centrale coördinatie niet per se op de vantage6 server pla
5656

5757
Het is gemakkelijk om de centrale vanatage6 server te verwarren met het centrale deel van het algoritme: de vantage6 server is het centrale deel van de infrastructuur, maar niet de plaats waar het centrale deel van het algoritme wordt uitgevoerd (Fig. 2). Het centrale deel wordt feitelijk uitgevoerd op een van de vantage6 nodes, omdat dit meer flexibiliteit biedt: een algoritme kan bijvoorbeeld zware rekenbronnen nodig hebben om de aggregatie uit te voeren, en het is beter om dit te doen op een vantage6 node dat over deze bronnen beschikt, in plaats van de server te moeten upgraden telkens wanneer een nieuw algoritme meer bronnen nodig heeft.
5858

59+
## Federatief leren met PLUGIN/vantage6
60+
61+
De PLUGIN-architectuur is gebaseerd op vantage6. Het gefedereerd leren van een algoritme omvat een reeks gecoördineerde stappen tussen de onderzoeker, de centrale server en de datastations. Dit proces is ontworpen om de analyse uit te voeren zonder dat de brongegevens de lokale omgeving van het datastation verlaten. Hieronder volgt een detailleerde beschrijving wat elk van de applicatiecomponenten hierin doen.
62+
63+
```mermaid
64+
sequenceDiagram
65+
actor Onderzoeker
66+
participant Server
67+
participant Aggregator as Secure Aggregation Server (SAS)
68+
participant Registry as Docker Registry
69+
70+
box "Meerdere worker-nodes"
71+
participant Node as Node(s)
72+
end
73+
74+
Onderzoeker->>Server: Authenticatie
75+
Onderzoeker->>Server: Taak specificatie (Server API)
76+
77+
Aggregator->>Server: Hoofdtaak ophalen
78+
Aggregator->>Registry: Docker-image ophalen (hoofdtaak)
79+
80+
Aggregator->>Server: Subtaken aanmaken
81+
82+
loop Voor elke subtaak (parallel uitgevoerd)
83+
Node->>Server: Subtaak ophalen
84+
Node->>Registry: Docker-image ophalen (subtaak)
85+
Node->>Server: Resultaat van subtaak opslaan
86+
Aggregator->>Server: Subtaakresultaten ophalen
87+
Aggregator->>Aggregator: Verificatie en aggregatie
88+
end
89+
90+
Aggregator->>Server: Eindresultaat van hoofdtaak indienen
91+
92+
Onderzoeker->>Server: Eindresultaat ophalen
93+
```
94+
95+
???+ note "**Authenticatie**"
96+
97+
De onderzoeker start het proces door te authenticeren bij de centrale Vantage6-server.
98+
99+
??? note "**Taak specificatie**"
100+
101+
Na succesvolle authenticatie definieert de onderzoeker een taak. Hierbij wordt opgegeven:
102+
* Welk algoritme (Docker-image) gebruikt moet worden.
103+
* Specifieke inputparameters voor de analyse.
104+
* Het aantal iteraties (indien van toepassing, voor machine learning).
105+
* De identiteit van de *Secure Aggregation Server* (SAS), de node die verantwoordelijk is voor het aggregeren van resultaten.
106+
107+
??? note "**Verzending naar nodes**"
108+
109+
De centrale server stuurt de taak door naar de betrokken nodes. De SAS (Secure Aggregation Server, een specifieke node) ontvangt het verzoek als eerste.
110+
111+
??? note "**Start hoofdalgoritme (SAS)**"
112+
113+
De SAS downloadt het Docker-image, start het hoofd-algoritme en orkestreert de subtaken die door de datastations uitgevoerd moeten worden.
114+
115+
??? note "**Start subtaken (datastations)**"
116+
117+
De datastations ontvangen hun subtaak van de centrale server, downloaden hetzelfde Docker-image en starten het lokale deel van het algoritme. De analyse wordt uitgevoerd op de lokale data.
118+
119+
??? note "**Verzending lokale resultaten**"
120+
121+
Na elke trainingscyclus of analysestap stuurt het algoritme op het datastation de lokale resultaten (bijv. modelgewichten of statistische coëfficiënten) naar de SAS. De brongegevens verlaten het datastation niet.
122+
123+
??? note "**Verificatie en aggregatie**"
124+
125+
De SAS verifieert de resultaten, extraheert de metadata en voegt de resultaten van alle datastations samen tot een geaggregeerd tussenmodel. Dit voltooit één iteratie.
126+
127+
??? note "**Vervolg-iteraties**"
128+
129+
Voor vervolgstappen vragen de datastations de geaggregeerde resultaten van de vorige ronde op bij de SAS om hun lokale modellen verder te trainen. Deze cyclus herhaalt zich totdat het model convergeert of het gewenste aantal iteraties is bereikt.
130+
131+
??? note "**Afronding**"
132+
133+
De SAS informeert de onderzoeker dat de taak is voltooid. De onderzoeker kan vervolgens het finale, globale model downloaden van de server. Gedurende het proces heeft niemand, ook de onderzoeker niet, toegang tot de tussenresultaten, wat de veiligheid waarborgt.
134+
59135
## Gebruik van PLUGIN voor federatieve analyse en data pooling
60136

61137
PLUGIN/vantage6 is van oorsprong opgezet voor het ondersteunen van federatief leren. Echter, dezelfde infrastructuur en processen kunnen worden toegepast voor verschillende vormen van secundair datagebruik.

0 commit comments

Comments
 (0)