:overjoyed:

This commit is contained in:
J. Renken 2025-11-02 18:43:06 +01:00
parent a3add26927
commit 11742d6d20
3 changed files with 41 additions and 7 deletions

Binary file not shown.

View file

@ -1,28 +1,59 @@
% !TeX spellcheck = de_DE
% !TeX program = xelatex
\documentclass{article}
\usepackage{praktikumsbericht}
\documentclass[draft]{article}
\usepackage{./praktikumsbericht}
\usepackage[sorting=none]{biblatex}
\usepackage{hyperref}
\addbibresource{citations.bib}
\usepackage[a4paper, bmargin=2cm, tmargin=2.5cm, lmargin=2.5cm, rmargin=2.5cm]{geometry}
\usepackage{fancyhdr, csquotes, fontspec}
\begin{document}
\input{title}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{Jakob Renken}
\fancyhead[C]{Praktikumsbericht}
\fancyhead[R]{\today}
\fancyfoot[C]{\setmainfont{Times New Roman} \thepage}
\section{Persönliches Interesse}
Ich habe mich für den Betrieb des IAMs entschieden, da das Gebiet der Informatik mich schon seit Langem begeistert, zudem hat es als klinisches Institut die Möglichkeit theoretische Forschung zu betreiben wessen Ergebnisse leicht in den Klinischen Alltag im UKE eingebunden werden können.
\section{Beschreibung des Betriebes}
Ich habe das Praktikum beim Institut für angewandte Medizininformatik abgeschlossen, welches zum Universitätsklinikum Hamburg Eppendorf gehört. Das UKE wurde gegründet in 1889 und Vernetzt Medizin, Forschung und Lehre. Angestellt sind 16.100 Angestellte sowie 3.500 Studierende der Human- und Zahnmedizin sowie Hebammenwissenschaften \cite{ukeweb}. Das IAM besteht seit Anfang 2021 und zielt darauf Krankheitsbekämpfung zu verbessern indem sie Daten zusammenführen, Werkzeuge für Ärzt:innen sowie Forscher:innen zu entwickeln und komplexe Analysen zu vereinfachen. Das Team besteht aus etwa 100 Angestellten in fünf Forschungsgruppen welche sich mit den Gebieten der Bildverarbeitung, Onkologie, maschinellem Lernen, Sprachmodelle und Datenanalyse \cite{iamweb}. So entwickelte z.B. die IAM Fachgruppe \textit{Knowledge Integration in Precision Medicine} MONOCLE, um individualisierte Tumorbehandlungen zu vereinfachen indem das System Patientendaten aggregiert und in vorhandener Literatur filtert um passende Behandlungen zu finden \cite{riemann2025streamlining}.
%\section{Informationen zum Berufsbild}
Ich habe das Praktikum beim Institut für angewandte Medizininformatik abgeschlossen, welches zum Universitätsklinikum Hamburg Eppendorf gehört. Das UKE wurde gegründet in 1889 und Vernetzt Medizin, Forschung und Lehre. Angestellt sind 16.100 Angestellte sowie 3.500 Studierende der Human- und Zahnmedizin sowie Hebammenwissenschaften. Das UKE zeichnet sich durch fortschrittliche Forschung aus und ist eine Internationale anerkannte Institution \cite{ukeweb}. Das IAM besteht seit Anfang 2021 und zielt darauf Krankheitsbekämpfung zu verbessern indem sie Daten zusammenführen, Werkzeuge für Ärzt:innen sowie Forscher:innen zu entwickeln und komplexe Analysen zu vereinfachen. Das Team besteht aus etwa 100 Angestellten in fünf Forschungsgruppen welche sich mit den Gebieten der Bildverarbeitung, Onkologie, maschinellem Lernen, Sprachmodelle und Datenanalyse beschäftigen \cite{iamweb}. So entwickelte z.B. die IAM Fachgruppe \textit{Knowledge Integration in Precision Medicine} MONOCLE, um individualisierte Tumorbehandlungen zu vereinfachen. Dies wurde erreicht indem das System modular gestaltet wurde mit Fokus auf die Effizienz bei der Dateneingabe, -verarbeitung und -ausgabe durch das eliminieren von Freitextfeldern. Weiterhin ist das System gestaltet um die Patientendaten leicht zwischen relevanten Parteien auszutauschen, dies ermöglicht es MONOCLE auch automatisch relevante Literatur zu finden. Das System wurde zudem als Open Source Software veröffentlicht \cite{riemann2025streamlining}.
\section{Informationen zum Berufsbild}
Als teil der Arbeit am UKE bietet das IAM verschiedene Abschlussarbeiten an, diese zielen nicht nur auf Medizinstuten:innen sondern auch an andere technische MINT Studiengänge wie Informatik, Physik, oder Ingenieurwesen. Weiter werden oft Kenntnisse in der Python Programmiersprache vorgeschrieben sowie Erfahrung mit Machine Learning, Datenanalyse und Sprachmodell Software erwünscht. Die Abschlussarbeiten behandeln verschiedene Fachgebiete mit den zielen die Behandelung, Datenanalyse oder Ausbildung in der Medizin zu verbessern. Zudem betriebt das IAM ein hauseigenes Entwicklungsteam um für die Wartung und Entwickelung ihrer Software zu sorgen \cite{iamweb}.
\section{Eigene Tätigkeiten}
\subsection{Hintergrund}
Meine Arbeit am IAM war ein Anschlussprojekt zu der Masterarbeit welche durch die derzeitige Masterandin der Fachgruppe verteidigt wurde. Oberthema der Masterarbeit war die Entwickelung der Lernplattform KiMed als eine Alternative zu den Crashkursen vor dem Medizinstudium welche trotzt ihres hohen nutzen wenig genutzt sind da sie wie reguläre Seminare und Lesungen am UKE gehalten werden, welche für teile der Neustudierenden schwer zu erreichen sind da sie möglicherweise noch nicht in der nähe vom UKE wohnen oder keine zeit haben. KiMed wurde entwickelt als eine Möglichkeit individualisiert Neustudierenden durch Multiple Choice Questions (MCQ) auf einen ähnlichen Wissensstandpunkt zu bringen.
Für die Generierung der MCQ wurde ein neuer Ansatz entwickelt um diese Akkurat und Korrekt zu gestalten basierend auf dem Ansatz GPTSwarm \cite{zhuge2024languageagentsoptimizablegraphs}, in welchem Large Language Model (LLM) Agenten als Knoten in einem Graph dargestellt sind und die Kanten zwischen den Knoten als die Übertragung von Informationen von Agent zu Agent. Hier bezeichnet ein Agent einen Aufruf einer LLM um eine bestimmte Aufgabe zu erledigen wie die Generierung von Fragen oder Korrektur nach Kriterien. Der resultierende Graph kann dann durch ein Optimierungsalgorithmus verbessert werden. Der Ansatz welcher in KiMed genutzt wurde, Node-Sampling (Knoten-Auswahl), war eine vereinfachte Version des GPTSwarm Ansatz, wohin GPTSwarm ein vollständigen Graphen erstellt wird im Node-Sampling von einem Vordefiniertem Satz an Knoten, also Agenten, ein Knoten gewählt (sampling) somit entsteht eine Kette an Agenten welche eine MCQ generieren konnten welche dann durch weiter LLMs bewertet wurden. Anhand der Bewertung durch die LLMs entsteht ein score für eine spezifische Konfiguration mit diesen Information kann dann ein Standard Optimierungsalgorithmus die Kette in der Nächsten Generation verbessern. \footnote{Da die Masterarbeit nicht öffentlich ist kann ich leider keine quellen für meine Aussagen geben. Die Information sind durch meine Konversationen mit der Autorin und das Lesen des Codes entstanden.}
In meiner Arbeit übernahm ich das Konzept der graphbasierten LLM Generierung, jedoch um Medizinische MCQ (MMCQ) zu beantworten. Hierfür nutzte ich den MedMCQA Datensatz, dieser enthält ein große Anzahl an realistischen MMCQ über verschiedene Themen wie Mikrobiologie, Psychiatrie, Radiologie, Anatomie u. v. m. sowie die \glqq ground truth\grqq --- nicht objektiv Korrekt aber ein Vereinbarter wert --- durch welcher ein objektiver score berechnet werden kann, im Gegensatz zu KiMed welches den score durch weitere LLMs berechnete, somit keine ground truth besaß \cite{pmlr-v174-pal22a}. Das genutzte LLM war Qwen 2.5 14B Instruct 4bit da es eine gute Balance zwischen Performance und Antwortgenauigkeit darstellt \cite{yang2024qwen2technicalreport} \cite{qwen2.5}.
\subsection{Eigene Ansätze}
In meiner Arbeit übernahm ich das Konzept der graphbasierten LLM Generierung, jedoch um Medizinische MCQ (MMCQ) zu beantworten. Hierfür nutzte ich den MedMCQA Datensatz, dieser enthält ein große Anzahl an realistischen MMCQ über verschiedene Themen wie Mikrobiologie, Psychiatrie, Radiologie, Anatomie u. v. m. sowie die \enquote{ground truth}, hier die erwartete Antwort, durch welche ein objektiver score berechnet werden konnte, im Gegensatz zu KiMed welches den score durch weitere LLMs berechnete, somit keine ground truth besaß, da LLMs nicht deterministisch sind \cite{pmlr-v174-pal22a}. Das genutzte Sprachmodell war Qwen 2.5 14B Instruct 4bit da es eine gute Balance zwischen Performance und Antwortgenauigkeit darstellt \cite{yang2024qwen2technicalreport} \cite{qwen2.5}. Das Projekt wurde auf der Google Colab Plattform ausgeführt, diese bietet eine Umgebung an um mit der Python Programmiersprache Daten zu Verarbeiten, mithilfe von Kostenfreien --- aber zeitlich begrenzten --- Hardwarebeschleunigern wie Grafikkarten oder Tensor-Prozessoren, welche es mir Erlaubten das Qwen Modell auszuführen. Für die Beantwortung der Fragen wurde fünf Agenten genutzt welche je die Vorherige Antwort erhielten, sowie die originale Frage und Antwortoptionen. Die fünf Agenten erhielten jeweils individuelle Aufgaben durch ihren \enquote{prompt}, einen Text welcher die Aufgabe und andere Informationen enthält. Ihre jeweilige Aufgaben waren:
\begin{enumerate}[itemsep=-2mm]
\item ausschließen von Ähnlichen Antworten,
\item Informationen erzeugen,
\item ausschließen von unwahrscheinlichen Antworten,
\item eine Antwort begründen,
\item extrahieren der Antwort.
\end{enumerate}
Die Angegebene Reihenfolge ist dieselbe mit welcher gearbeitet wurde.
Mit den Agenten und der Reihenfolge definiert konnte nun eine Konfiguration getestet werden, hierfür wurden meist 10 Fragen pro Konfiguration genommen um den score zu errechnen, damit die scores von verschiedenen Konfiguration vergleichbar sind wurden immer die gleichen Fragen genutzt. Um festzustellen ob das Zusammenketten von Mehreren Agent für das Beantworten von MMCQ effektiv sind und sich der höhere Verarbeitungs- und Zeitaufwand lohnte entwickelte ich eine Baseline die als Vergleich zu den erweiterten Methoden dient. Die Baseline bestand aus einem einzelnem Agenten, welche die Aufgabe besaß eine gegebene MMCQ zu beantworten indem es den Index der Korrekten Frage wiedergibt.
Um mein Projekt zu erweitern beschloss ich den Node-Sampling Ansatz zu integrieren. Hierfür erhielt den Python Quelltext der Masterandin welcher Node-Sampling implementierte, diesen Modifizierte ich weiter für meinen Anwendungsfall, da das Original sehr auf die Anwendung in KiMed spezialisiert war, indem ich meine Agenten restrukturierte um in den Kontrollfluss des Quelltext zu passen. Die genutzten Agenten wurden im Prompt unverändert übernommen (s.O.) jedoch wurde Agent \#5 von dem Optimieren ausgelassen, da dieser nur für das scoring relevant war, somit wurde dieser in Kombination mit Agent \#4 an das Ende aller Node-Sampling Ketten geschaltet, damit war es Möglich zu garantieren das alle Permutationen bewertbar waren. Die Tests wurden wieder über Google Colab ausgeführt und bestanden darin den Node-Sampling Optimierungsalgorithmus solange wie Möglich zu Laufen und dann die Logdatei nach der Besten Konfiguration zu Durchsuchen. Da Node-Sampling aber sehr Zeitintensiv ist war es nicht möglich für mich ein Maximum für das Optimieren zu finden, daher ist es sehr wahrscheinlich das\footnote{Hier doppel s?} es Bessere Konfigurationen gibt.
% TODO Own Work, Try more explantions (a German and PW teacher will grade this not one of the people on your papers) Scream AaAAaaaaaa
\subsection{Ergebnisse}
\subsection{Andere Tätigkeiten}
Während meiner Zeit am IAM nahm ich auch mehrmals an Meetings teil in welchen neue Wissenschaftliche arbeiten diskutiert wurden, sowie eine Präsentation über die Zulassung von medizinischen Geräten. Über meine Arbeit hielt ich auch eine Präsentation zu den Mitgliedern meiner Fachgruppe.
% TODO Own Work, Try more explantions (a German and PW teacher will grade this not one of the people on your papers) Scream AaAAaaaaaa
% TODO - Results
% TODO - Transformers
% TODO - Per category
\newpage
\section{Anhang}
\printbibliography[title=Referenzen]

View file

@ -1,10 +1,13 @@
% !TeX root = document.tex
\ProvidesPackage{praktikumsbericht}
\ProvidesPackage{./praktikumsbericht}
\RequirePackage{fontspec}
\RequirePackage{fancyhdr}
\RequirePackage{lipsum}
\RequirePackage{enumitem}
\RequirePackage[onehalfspacing]{setspace}
\RequirePackage[ngerman]{babel}
\RequirePackage{csquotes}
\defaultfontfeatures{Mapping=tex-text}
\setmainfont{Arial}