Skip to content

Commit 5b0376b

Browse files
authored
Update applicatie.md
Tekstuele wijziging + verwijder stuk over federatief leren. Is verplaatst naar proces.
1 parent a53b26d commit 5b0376b

File tree

1 file changed

+1
-77
lines changed

1 file changed

+1
-77
lines changed

docs/implementaties/PLUGIN/applicatie.md

Lines changed: 1 addition & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
Het datastation (links) en de federated processing hub (rechts) vormen de twee-eenheid van de PLUGIN/vantage6 architectuur. Hieronder wordt de functie van elke component in meer detail beschreven.
88

9-
!!! note "Gedetailleerde beschrijving applicatiecomponenten vantage6"
9+
!!! note "Gedetailleerde beschrijving applicatiecomponenten PLUGIN"
1010

1111
=== "**vantage6 server**"
1212

@@ -42,82 +42,6 @@ Het datastation (links) en de federated processing hub (rechts) vormen de twee-e
4242
4343
Wanneer gesproken wordt over specifieke implementaties wordt vaak de term *Aggregator Node* gebruikt. Hiermee wordt de node bedoeld waar aggregatie van deelresultaten plaats vindt. Hoewel het mogelijk is deze node op een aparte locatie te realiseren, verschilt deze technisch gezien niet van andere Vantage6 nodes. Elke Vantage6 Node is dus in potentie een aggregator node. Uitzondering hierop is de [*Secure Aggregator Node*](https://ai.jmir.org/2025/1/e60847). Deze oplossing kan gebruikt worden in specifieke gevallen waarin samengestelde data nog steeds gevoelig kan zijn, om het risico op een datalek verder te verkleinen.
4444

45-
## Federatief leren met PLUGIN/vantage6
46-
47-
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.
48-
49-
```mermaid
50-
sequenceDiagram
51-
actor Onderzoeker
52-
participant Server
53-
participant Aggregator as Secure Aggregation Server (SAS)
54-
participant Registry as Docker Registry
55-
56-
box "Meerdere worker-nodes"
57-
participant Node as Node(s)
58-
end
59-
60-
Onderzoeker->>Server: Authenticatie
61-
Onderzoeker->>Server: Taak specificatie (Server API)
62-
63-
Aggregator->>Server: Hoofdtaak ophalen
64-
Aggregator->>Registry: Docker-image ophalen (hoofdtaak)
65-
66-
Aggregator->>Server: Subtaken aanmaken
67-
68-
loop Voor elke subtaak (parallel uitgevoerd)
69-
Node->>Server: Subtaak ophalen
70-
Node->>Registry: Docker-image ophalen (subtaak)
71-
Node->>Server: Resultaat van subtaak opslaan
72-
Aggregator->>Server: Subtaakresultaten ophalen
73-
Aggregator->>Aggregator: Verificatie en aggregatie
74-
end
75-
76-
Aggregator->>Server: Eindresultaat van hoofdtaak indienen
77-
78-
Onderzoeker->>Server: Eindresultaat ophalen
79-
```
80-
81-
???+ note "**Authenticatie**"
82-
83-
De onderzoeker start het proces door te authenticeren bij de centrale Vantage6-server.
84-
85-
??? note "**Taak specificatie**"
86-
87-
Na succesvolle authenticatie definieert de onderzoeker een taak. Hierbij wordt opgegeven:
88-
* Welk algoritme (Docker-image) gebruikt moet worden.
89-
* Specifieke inputparameters voor de analyse.
90-
* Het aantal iteraties (indien van toepassing, voor machine learning).
91-
* De identiteit van de *Secure Aggregation Server* (SAS), de node die verantwoordelijk is voor het aggregeren van resultaten.
92-
93-
??? note "**Verzending naar nodes**"
94-
95-
De centrale server stuurt de taak door naar de betrokken nodes. De SAS (Secure Aggregation Server, een specifieke node) ontvangt het verzoek als eerste.
96-
97-
??? note "**Start hoofdalgoritme (SAS)**"
98-
99-
De SAS downloadt het Docker-image, start het hoofd-algoritme en orkestreert de subtaken die door de datastations uitgevoerd moeten worden.
100-
101-
??? note "**Start subtaken (datastations)**"
102-
103-
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.
104-
105-
??? note "**Verzending lokale resultaten**"
106-
107-
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.
108-
109-
??? note "**Verificatie en aggregatie**"
110-
111-
De SAS verifieert de resultaten, extraheert de metadata en voegt de resultaten van alle datastations samen tot een geaggregeerd tussenmodel. Dit voltooit één iteratie.
112-
113-
??? note "**Vervolg-iteraties**"
114-
115-
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.
116-
117-
??? note "**Afronding**"
118-
119-
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.
120-
12145
## PLUGIN en de European Interoperability Reference Architecture (EIRA)
12246

12347
De architectuur van PLUGIN, gebaseerd op de principes van de Personal Health Train en Vantage6, kan worden beschreven aan de hand van de **European Interoperability Reference Architecture (EIRA)**. EIRA biedt een raamwerk om interoperabele architecturen te ontwerpen door herbruikbare *Architectural Building Blocks (ABBs)* te identificeren.

0 commit comments

Comments
 (0)