VIPR Framework

Versatile Framework für Inverse Probleme

Auf einen Blick:
Projektkennzahlen

Zeitraum:seit 2023, kontinuierliche Weiterentwicklung
Budget:Sechsstellig (BMBF-Förderung Grant 05D23CJ1)
Team:5 Personen
Branche:Materialforschung, Teilchenphysik, Großforschungseinrichtungen
Anwendungsgebiet:Neutronenreflektometrie, Röntgen-/Neutronenstreuung, Plasma-Diagnostik
Technologien
Python ist eine interpretierte Hochsprache für allgemeine Zwecke. Bekannt für einfache Syntax, fördert lesbaren Code und reduziert Wartungskosten.PyTorch ist ein beliebtes Open-Source-Framework für Deep Learning mit dynamischer Berechnungsgrafik, ideal für Forschung und produktive Anwendungen.FrEIA ist ein offenes Software-Framework für invertierbare neuronale Netze und inverse Probleme, entwickelt u. a. im Kontext von Großforschungseinrichtungen.FastAPI ist ein Tool, um APIs zu erstellen. APIs erlauben den Datenaustausch zwischen Softwarekomponenten.Vue ist eine JavaScript-Bibliothek für komplexe, dynamische Web-Anwendungen. Vue.js ist eine neuere Technologie mit aktiver Weiterentwicklung.Ein Open-Source-Werkzeug, das die Anwendungsbereitstellung durch Container-Virtualisierung vereinfacht.Open-Source-Plattform zur automatisierten Bereitstellung, Skalierung und Verwaltung containerisierter Multi-Node-Anwendungen.Helm Charts sind wiederverwendbare Pakete für Kubernetes, die Anwendungen standardisiert beschreiben und deren Installation, Versionierung und Updates vereinfachen.

Hintergrund

In der Materialforschung an Großforschungseinrichtungen wie dem Forschungszentrum Jülich, DESY oder dem European XFEL entstehen täglich riesige Datenmengen aus hochpräzisen Messungen. Ein fundamentales Problem dabei ist das sogenannte Phasenproblem. Bei Röntgen- und Neutronenstreuung geht die essenzielle Phaseninformation im Detektor verloren. Die Folge ist eine mehrdeutige Interpretierbarkeit der Messdaten, vergleichbar mit der Quadratwurzel aus 4, die sowohl +2 als auch -2 sein kann.

Klassische Analysemethoden basieren auf zeitaufwendigen iterativen Optimierungsverfahren. Für moderne Experimente mit Tausenden von Messungen und dem Wunsch nach Echtzeit-Feedback während der Messung ist dies nicht praktikabel. Das vom Bundesministerium für Bildung und Forschung geförderte Verbundprojekt VIPR hat sich zum Ziel gesetzt, diese Herausforderung durch den Einsatz invertierbarer neuronaler Netze grundlegend zu lösen.

Helm & Walter wurde als Industriepartner für Framework-Design und -Entwicklung in das Konsortium aufgenommen, das neben sechs führenden Forschungseinrichtungen auch mit internationalen Partnern wie CERN und Berkeley Lab zusammenarbeitet. Die Herausforderung bestand darin, ein Framework zu schaffen, das sowohl die Komplexität und Mächtigkeit für unterschiedlichste inverse Probleme bietet als auch die Einstiegshürde für Forschende ohne Informatik-Hintergrund so niedrig wie möglich hält.

Ziel des Projektes

Ziel war die Entwicklung eines flexiblen Software-Frameworks für datengetriebene Lösungen inverser Probleme basierend auf invertierbaren neuronalen Netzen. Das Framework soll Forschenden an Großforschungseinrichtungen eine benutzerfreundliche Datenanalyse als Cloud-Anwendung ermöglichen. Eine annähernd in Echtzeit verfügbare Erstanalyse von erhobenen (Sensor-)Daten während laufender Experimente ist dabei das oberste Ziel, dem das Framework in der Praxis genügen soll. Das soll den teuren Einsatz und die begrenzten Ressourcen in diesen Forschungsbereichen deutlich effektiver und effizienter nutzbar machen.

Das Problem: Mehrdeutigkeit, Zeitaufwand und heterogene Anwendungsfälle

Bei der Neutronenreflektometrie müssen aus verrauschten Reflektivitätsmessdaten zentrale Materialeigenschaften rekonstruiert werden. Dazu gehören beispielsweise die Schichtdicke von Dünnfilmen im Bereich von wenigen bis hunderten Ångström, die Rauheit der Grenzflächen, Dichteprofile in Form der Streulängendichte sowie magnetische Eigenschaften bei polarisierten Messungen.

Inverses Problem Diagramm

Schematische Darstellung eines inversen Problems. Während das Vorwärtsproblem eindeutig von Eingabe zu Ausgabe führt, können bei inversen Problemen mehrere Eingaben zur gleichen Ausgabe führen.

Die klassische Analyse ist zeitintensiv, erfolgt oft Stunden oder gar Tage nach dem Experiment und erforderte oft weitere manuelle Anpassungen durch Experten. Für Echtzeit-Feedback während Experimenten, automatisierte Anpassung von Messparametern, Hochdurchsatz-Analysen mit Tausenden Datensätzen oder in-situ Prozesssteuerung ist dies einfach nicht geeignet.

Hinzu kommt die grundsätzliche Mehrdeutigkeit inverser Probleme. Verschiedene Materialkonfigurationen können identische Messsignale erzeugen. Ohne tiefgreifendes Expertenwissen und physikalisches Verständnis ist eine zuverlässige Interpretation nahezu unmöglich.

Die größte Herausforderung für ein Software-Framework im Allgemeinen liegt oftmals in der Heterogenität der Anwendungsfälle. VIPR - als ein Software.Framework für KI-Workflows - soll beispielsweise nicht nur für Neutronenreflektometrie einsetzbar sein, sondern auch für GIWAXS-Analysen, Ptychographie, Plasma-Diagnostik in Beschichtungsprozessen und perspektivisch sogar für Spektroskopie, Teilchenphysik und viele ander Anwendungsgebiete.

Die Zielgruppen sind im ersten Moment Forschende aus der Physik und Materialwissenschaft, und eben NICHT Informatiker. Diese Anwendergruppe möchten mit überschaubaren Anpassungen ihre konkreten, teils hochspezialisierten Probleme lösen. Dies steht in einem direkten Spannungsfeld zur Komplexität und Mächtigkeit, die ein universelles Software-Framework bieten soll.

Unsere Lösung: Modularität trifft Mächtigkeit

Die Grundidee hinter dem VIPR-Framework ist es, einzelne Komponenten in einem Workflow einfach austauschen, anpassen oder erweitern zu können. Das Framework basiert auf einem modularen Konzept mit mehreren Abstraktionsebenen, das sowohl Flexibilität für Experten als auch eine einfache Nutzbarkeit für Einsteiger bieten soll.

Hooks, Filter und Plugins für maximale Flexibilität

Jeder Ablaufschritt im Workflow kann durch Hooks einsehbar und protokollierbar gemacht werden. Hooks werden vor und nach jeder Schrittausführung aufgerufen und ermöglichen es, ohne Eingriff in die Kernlogik Debugging-Ausgaben und Protokolle zu erzeugen, Visualisierungen zu generieren oder Zwischenergebnisse zu speichern.

Mit Filtern lassen sich die Eingangs- sowie Ausgangswerte vor jedem Verarbeitungsschritt gezielt verändern. Dies ermöglicht etwa Normalisierungen, Datenaugmentation oder die Transformation zwischen verschiedenen Repräsentationen.

Plugins sind das zentrale Erweiterungskonzept. Sie ermöglichen nicht nur die Integration entsprechender Hooks und Filter für die Basisschritte, sondern auch den kompletten Austausch von Workflow-Schritten durch eigene Logiken. Ein Plugin kann eigene vortrainierte KI-Modelle mitbringen, domänenspezifische Datenvor- und -nachverarbeitung implementieren oder sogar ganze neue komplexere Workflow-Typen einbringen.

Bild 1 von 2
Training Workflow: Modularer Trainings-Workflow des VIPR-Frameworks mit Hooks, Filtern und erweiterbaren Komponenten für das Training invertierbarer neuronaler Netze.
Verwenden Sie die Pfeiltasten zum Navigieren zwischen den Bildern, Home und Ende für das erste oder letzte Bild.

Invertierbare Neuronale Netze als methodischer Kern

Im Gegensatz zu klassischen neuronalen Netzen lernen Invertible Neural Networks (invertierbare neuronale Netze) eine bidirektionale Abbildung. Sie können sowohl von Materialparametern zu Messdaten rechnen, also das Vorwärtsproblem lösen, als auch umgekehrt vom Messsignal auf die zugrunde liegenden Materialparameter schließen.

INN Funktionsprinzip

Funktionsprinzip invertierbarer neuronaler Netze: Bidirektionale Abbildung zwischen Materialparametern und Messdaten ermöglicht sowohl Vorwärts- als auch Rückwärtsproblem zu lösen.

Der entscheidende Vorteil liegt darin, dass die Analyse in einem einzigen Vorwärtsdurchlauf durch das Netzwerk erfolgt. Es entfällt die zeitaufwendige iterative Optimierung. Darüber hinaus können INNs nicht nur einen einzelnen Parametersatz vorhersagen, sondern vollständige posterior-Wahrscheinlichkeitsverteilungen. Dies quantifiziert die Unsicherheit der Rekonstruktion und macht mehrere mögliche Lösungen eines mehrdeutigen inversen Problems explizit sichtbar.

Die Ergebnisse der INN-Vorhersage können zudem als initiale Bedingung für ein klassisches lokales Fitting verwendet werden, was die Robustheit weiter erhöht und drastische Beschleunigungen der Analysezeit ermöglicht.

Ergebnisse und Visualisierungen

Das VIPR-Framework ermöglicht die Rekonstruktion von Wahrscheinlichkeitsverteilungen für inverse Probleme. Die folgenden Visualisierungen zeigen typische Analyseergebnisse aus der Neutronenreflektometrie und anderen Anwendungen, bei denen invertierbare neuronale Netze mehrdeutige Messdaten in interpretierbare Parameterverteilungen überführen.

Bild 1 von 9
Corner Plot: Visualisierung der posterioren Wahrscheinlichkeitsverteilungen für rekonstruierte Materialparameter. Die Diagonale zeigt marginale Verteilungen, die Off-Diagonale zeigt Korrelationen zwischen Parametern.
Verwenden Sie die Pfeiltasten zum Navigieren zwischen den Bildern, Home und Ende für das erste oder letzte Bild.

Besondere Herausforderungen gemeistert

Umgang mit Mehrdeutigkeit und physikalischer Plausibilität

Inverse Probleme haben per Definition oft mehrere gültige Lösungen. Die eingesetzten INNs quantifizieren diese Unsicherheit durch Vorhersage vollständiger Wahrscheinlichkeitsverteilungen statt einzelner Werte. Gleichzeitig musste sichergestellt werden, dass die vorhergesagten Parameter physikalisch sinnvoll sind. Dazu wurden spezielle Constraints und physik-informierte Loss-Funktionen implementiert, die während des Trainings physikalische Gesetzmäßigkeiten erzwingen.

Balanceakt zwischen Mächtigkeit und Benutzerfreundlichkeit

Das fundamentale Spannungsfeld zwischen der Mächtigkeit eines universellen Software-Frameworks und der Einfachheit für den Anwender zieht sich durch alle Designentscheidungen. Die Lösung liegt in mehreren parallelen Zugangswegen. Forschende, die schnell Ergebnisse benötigen, können über das Web-Interface mit vorkonfigurierten Workflows arbeiten. Diejenigen, die tiefer einsteigen möchten, können über das Config-System arbeiten und bestehende Komponenten rekombinieren. Für hochspezialisierte Anwendungen steht der volle Plugin-Mechanismus zur Verfügung.

Entscheidend ist, dass hochwertige Beispielimplementierungen und dokumentationen bereitstellt werden. Diese zeigen dann Best Practices, demonstrieren die Mächtigkeit des Frameworks und dienen gleichzeitig als Startpunkt und Blaupausen für eigene Anpassungen. So wird die Einstiegshürde für die Lösung konkreter Probleme minimiert, ohne die Flexibilität unnötig einzuschränken.

Unsere Leistungen

Framework-Architektur und Core-Entwicklung

Konzeption und Implementierung der modularen VIPR-Architektur mit Plugin-System, Extension-Mechanismus, Hooks, Filtern, Handlers und Controllers. Entwicklung der Core-Funktionalitäten in Python mit PyTorch als ML-Backend. Integration von FREIA für invertierbare Netzwerkarchitekturen und Reflectorch für physikalische Simulationen im Bereich Reflektometrie. Die Architektur ermöglicht es Forschenden, auf verschiedenen Abstraktionsebenen zu Anpassungen vorzunehmen, von der einfachen Konfiguration bis zur vollständigen Eigenimplementierung.

Domänenspezifische Extensions und Referenzimplementierungen

Entwicklung konkreter Extensions für verschiedene Anwendungsfälle. Das Reflektometrie-Plugin z.B. ermöglicht die Analyse von Röntgen- und Neutronenreflektometrie-Daten. Das cINN-Plugin implementiert conditional Invertible Neural Networks (invertierbare neuronale Netze) für Regressionsprobleme mit Unsicherheitsquantifizierung. Umfangreiche Beispielimplementierungen demonstrieren Best Practices und dienen als Startpunkt für eigene Anpassungen durch Forschende. Diese Referenzprojekte zeigen die Mächtigkeit des Frameworks bei gleichzeitig niedriger Einstiegshürde.

Web-Interface und Visualisierung

Entwicklung einer webbasierten Analyseplattform mit Vue.js-Frontend und FastAPI-Backend. Visuelle Pipeline-Konfiguration ermöglicht Forschenden ohne Programmierkenntnisse die Erstellung komplexer Analyse-Workflows. Visualisierung von Analyseergebnissen mit interaktiven Plots zeigt ad-hoc Zwischenergebnisse und ermöglicht sofortige Plausibilitätsprüfung.

DevOps und Cloud-Deployment

Containerisierung aller Komponenten mit Docker für reproduzierbare Umgebungen. Kubernetes-basierte Orchestrierung für skalierbare Deployments von der lokalen Entwicklung bis zum produktiven Cloud-Betrieb. Entwicklung von Helm Charts für flexible Installation in verschiedenen Umgebungen der Partnereinrichtungen. CI/CD-Pipelines für automatisierte Tests und Deployments gewährleisten Qualität und schnelle Iteration.

Wissenschaftliche Koordination und Transfer

Enge Begleitung der Wissenschaftler an den Partnereinrichtungen durch regelmäßige Abstimmungen und gemeinsame Entwicklungssitzungen. Durchführung von Workshops und Schulungen für die Nutzung des Frameworks. Erstellung technischer Dokumentation und wissenschaftlicher Publikationen. Transfer zwischen Grundlagenforschung und praktischer Anwendung durch Übersetzung physikalischer Anforderungen in technische Implementierungen. Koordination von Anforderungen aus verschiedenen Einsatz-Domänen und deren Abbildung und Implemetierung im Framework.

Unser Team bei VIPR

Dr. rer. nat. Sascha Creutzburg – Hauptverantwortlicher für Framework-Entwicklung und wissenschaftliche Koordination

Als promovierter Experimentalphysiker ist Sascha die zentrale Figur in der praktischen Umsetzung des VIPR-Projekts. Er treibt die Entwicklung des Frameworks maßgeblich voran und verantwortet viele der laufenden Designentscheidungen. Grundlegende architektonische Weichenstellungen entstehen im Austausch mit dem Team.

Sascha begleitet die Wissenschaftler der Partnereinrichtungen eng, führt Beispielimplementierungen für Referenzprojekte durch und koordiniert die Belange der Forschenden so, dass sich deren spezifische Anforderungen im VIPR-Framework wiederfinden. Seine experimentalphysikalische Ausbildung erweist sich dabei als entscheidender Vorteil. Sascha spricht die Sprache der Nutzenden und versteht die physikalischen Hintergründe der inversen Probleme aus erster Hand. Dies verringert die Kommunikationsschwelle erheblich und ermöglicht es ihm, als Brücke zwischen der abstrakten Softwarearchitektur und den konkreten wissenschaftlichen Fragestellungen zu fungieren.

Technisch implementiert Sascha die Core-Funktionalitäten des Frameworks, entwickelt domänenspezifische Extensions wie Reflectorch und die cINN-Module, und stellt sicher, dass die Integration der invertierbaren neuronalen Netze robust und effizient funktioniert.

Dr. rer. nat. Nico Mothes – KI-Department-Lead und wissenschaftlicher Kopf

Nico trägt die Verantwortung für alle KI-bezogenen Aspekte des Projekts. Er entscheidet über einzusetzende Technologien, Modellarchitekturen und mögliche sinnvolle Trainingsstrategien. Seine Expertise im bereich KI-Forschung und insbesondere mit invertierbaren neuronalen Netzen ist essenziell für die wissenschaftliche Qualität des Projekts.

Als KI-Department-Lead koordiniert Nico die Zusammenarbeit mit den Forschungspartnern auf wissenschaftlicher Ebene. Er bewertet neue Methoden aus der Literatur auf ihre Anwendbarkeit für VIPR, entwickelt problemspezifische Anpassungen und verantwortet die Publikationsstrategie. Er stellt sicher, dass die entwickelten Methoden nicht nur praktisch funktionieren, sondern auch wissenschaftlich fundiert sind und den Stand der Forschung vorantreiben.

Bernd Helm – CTO und ursprünglicher Architekt

Die Geschichte von VIPR beginnt Jahre vor dem BMFTR (ehem. BMAS)-Projekt. Bernd war der initiale Architekt eines Basis-Projekts, aus dem dann das VIPR-Framework gewahsen ist. Er traf die ersten softwarearchitektonischen Entscheidungen, die bis heute die Grundlagen und Weichen für das mittlerweile stark gewachsene Framework stellen.

Das ursprüngliche Projekt war auch einer der ersten intensiven Berührungspunkte von Helm & Walter mit KI-Forschung. Diese Erfahrungen haben Bernd in seinem weiteren Werdegang geprägt und waren ein wesentlicher Impuls für den Aufbau der KI-Sparte Saxony.AI. Als CTO und Technical Lead des AI-Departments bringt Bernd heute seine langjährige Erfahrung in Softwarearchitektur und seine Vision für skalierbare, nachhaltige Systeme in das Projekt ein.

Dr. Ing. Jens Bornschein – Projektmanagement und strategische Beratung

Jens verantwortet das Projektmanagement für VIPR auf Seiten von Helm & Walter. Er koordiniert die Zusammenarbeit zwischen den verschiedenen Akteuren, plant Meilensteine und stellt sicher, dass das Projekt termingerecht und im Budgetrahmen voranschreitet.

Darüber hinaus steht Jens Sascha mit seiner langjährigen Erfahrung in der Softwarearchitektur beratend zur Seite. Gemeinsam treffen sie Entscheidungen, die den weiteren Verlauf des Projekts prägen und die Weichenstellungen für eine möglichst flexible Nutzbarkeit und Mächtigkeit des Frameworks setzen. Diese Entscheidungen müssen das Spannungsfeld zwischen Komplexität und Benutzerfreundlichkeit berücksichtigen.

Robert Juzak - DevOps und Deployment

Robert implementiert die Kubernetes-basierte Deployment-Infrastruktur für VIPR. Er entwickelt die Helm Charts, die eine flexible Installation des Frameworks in unterschiedlichen Umgebungen ermöglichen. Von der lokalen Entwicklungsumgebung über dedizierte Server an den Forschungseinrichtungen bis hin zu skalierbaren Cloud-Deployments muss das Framework überall lauffähig sein.

Robert sorgt für robuste CI/CD-Pipelines, die automatisierte Tests, Container-Builds und Deployments ermöglichen. Beratend steht er den Verantwortlichen der Helmholtz-Forschungsgemeinschaft, die Betreiber einer möglichen Cloud-Infrastruktur für das VIPR Ökosystem werden könnten, mit seiner langjährigen Erfahrung als DevOps und Admin zur Seite.

Projektpartner

Projektleitung und Koordination. Verantwortlich für strategische Ausrichtung, Infrastruktur und Zusammenarbeit zwischen allen Partnern.

Implementierung und Integration in Daten-Pipelines. Praktische Anwendung von VIPR an Neutronenstreuinstrumenten und Generierung synthetischer Daten.

Wissenstransfer und Dokumentation. Erstellung umfassender Dokumentationen, White Papers und Durchführung von Schulungen für die wissenschaftliche Community.

Datenaufbereitung und Problemdefinition. Präzise Vorbereitung von Trainingsdaten und Definition inverser Probleme für verschiedene Streumethoden.

Entwicklung invertierbarer neuronaler Netze. Schwerpunkt auf Feature-Extraktion, Unsicherheitsquantifizierung und Verbesserung der Robustheit von INNs.

Qualitätssicherung und Framework-Design. Testen der Benutzeroberfläche und Evaluierung der Software-Funktionalität für die Community.

Förderung

Gefördert durch: Bundesministerium für Forschung, Technologie und Raumfahrt BMFTR im Rahmen der ErUM-Projektförderung finanziert (Projekt 05D23CJ1)

BMFTR Förderlogo

Bereit für den ersten Schritt?

Sie stehen vor einer Software-Herausforderung? Wir sind die Experten, die dort ansetzen, wo andere aufhören! Lassen Sie uns gemeinsam Ihre bestehende Software optimieren oder ein maßgeschneidertes Projekt starten. Kontaktieren Sie uns für eine unverbindliche Erstanalyse. Ihr Projekt verdient eine Lösung mit Weitblick.

Womit können wir Ihnen helfen?