Detailseite
SENLP - Wissen über Softwaretechnik in NLP Modellen
Antragsteller
Professor Dr. Steffen Herbold
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Förderung
Förderung seit 2023
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 524228075
Durch die Transformerarchitektur und Modelle wie BERT und GPT wurde die Forschung zur Verarbeitung von natürlicher Sprache (NLP) nachhaltig verändert. Diese Modelle benutzen Transfer Learning: Zuerst wird durch das Vortrainieren eine Repräsentation der Sprache erlernt. Anschließend können durch Feintuning oder Prompts verschiedene Aufgaben erledigt werden. Während derartige Modelle bemerkenswerte Ergebnisse in einer ganzen Reihe von NLP-Aufgaben erzielen, ist es oft unklar, warum dies so ist oder wie gut die Modelle in bestimmen Domänen funktionieren, zum Beispiel dem Software-Engineering (SE). Unsere Forschung hat bereits gezeigt, dass es mit mehrdeutigen Begriffen wie "Bug" (Insekt vs. Fehler) oder "Root" (Wurzel vs. Pflanze) Probleme gibt, die sich durch domänenspezifische Modelle vermeiden lassen, wodurch sich die Güte in NLP-Aufgaben in der SE-Domäne verbessert. In diesem Projekt wollen wir unser Verständnis von NLP-Modellen vertiefen, indem wir besser verstehen, welche SE-spezifischen Konzepte sie kennen, wobei unser Fokus auf SE-Definitionen und allgemeinem SE-Wissen liegt. Hierzu behandeln wir die NLP-Modelle als Schüler und testen, wie diese Prüfungsfragen beantworten. Zum Beispiel ob es möglich ist eine richtige Definition in einem Multiple-Choice-Test zu erkennen, eine richtige Definition zu generieren, oder ob ähnlich Konzepte voneinander unterschieden werden können und ob der Unterschied sogar erklärt werden kann. Das große NLP-Modelle Probleme im Umgang mit Nonsens haben, ist ein bekanntes Problem. Wie dies im SE ausgeprägt ist, ist jedoch unklar. Um dies besser zu verstehen, untersuchen wir wie NLP-Modelle auf verschiedene Eingaben reagieren. Neben validen Fragestellungen betrachten wir insbesondere auch auf solche, die keinen Sinn ergeben, zum Beispiel mit welchem Tool man manuelle Tests automatisch ausführt und was beliebte objektorientierte Entwurfsmuster für Haskell sind. Wir betrachten hierbei nicht nur ob Nonsens generiert wird, sondern auch ob wir diesen erkennen können. Die oben genannten Aspekte werden weiterhin auch in Bezug auf die Modellgröße und Varianten der Transformerarchitektur untersucht: kleinere Modelle mit einer Encoder-Only Architektur (z.B. BERT), größere Encoder-Only Modelle (z.B. RobERTa), Variationen, die einen längeren Kontext erlauben (z.B. Big Bird), GPT-artige Decoder-Only Modelle (z.B. GPT-NeoX) und Encoder-Decoder-Modelle (z.B. T5). Hierbei betrachten wir außerdem Modelle mit und ohne SE-spezifisches Vortraining. Wir betrachten auch Modelle, die auf extrem großen Datensätzen trainiert wurden, in denen es zum Teil auch SE-Aspekte gab. Dies hilft uns zu verstehen, inwiefern SE-Wissen gelernt wird, wenn dies nur ein kleiner Teil eines sehr großen Datensatzes ist.
DFG-Verfahren
Sachbeihilfen