|
6 | 6 |
|
7 | 7 | 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. |
8 | 8 |
|
9 | | -!!! note "Gedetailleerde beschrijving applicatiecomponenten vantage6" |
| 9 | +!!! note "Gedetailleerde beschrijving applicatiecomponenten PLUGIN" |
10 | 10 |
|
11 | 11 | === "**vantage6 server**" |
12 | 12 |
|
@@ -42,82 +42,6 @@ Het datastation (links) en de federated processing hub (rechts) vormen de twee-e |
42 | 42 | |
43 | 43 | 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. |
44 | 44 |
|
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 | | - |
121 | 45 | ## PLUGIN en de European Interoperability Reference Architecture (EIRA) |
122 | 46 |
|
123 | 47 | 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