EIM News

Pro­fes­sor Chris­ti­an Käst­ner zu Gast an der Un­i­ve­ri­stät Pa­der­born zum The­ma „From Mo­dels to Sys­tems: On the Ro­le of Soft­ware En­gi­nee­ring for Ma­chi­ne Lear­ning”

 |  EIM-Nachrichten

Erster Vortrag in der Reihe der Destinguished Lecture am Institut für Informatik

Am 7. Januar durften wir Herrn Prof. Dr. Christian Kästner zum ersten Vortrag der Distinguished Lecture Reihe begrüßen. Kästner ist Professor und Leiter des Software Engineering PhD Programms an der School of Computer Science der Carnegie Mellon University. Seine Forschung konzentriert sich hauptsächlich auf die Software-Analyse und die Grenzen der Modularität, insbesondere im Kontext hochkonfigurierbarer Systeme.

Mit seinem Vortrag an der Universität Paderborn plädierte er dafür, mehr und bessere Ausbildungen an der Schnittstelle von Software-Engineering und maschinellem Lernen sowie mehr systemweite Forschung zum Aufbau von Softwaresystemen mit maschinellen Lernkomponenten zu etablieren.

Im Interview mit uns beantwortete er Fragen zu Software Engineering, Machine Learning und ihre Anwendung sowie seinem Werdegang:

Was sind aus Ihrer Sicht die größten Herausforderungen, wenn es darum geht, Machine Learning Modelle in skalierbare und zuverlässige Systeme zu integrieren?

Modelle sind unzuverlässige Komponenten in Softwaresystemen. Selbst ein sehr genaues Modell macht gelegentlich Fehler, und das wird allgemein akzeptiert. Ein Modell mit einer Genauigkeit von 99,9 % macht beispielsweise immer noch bei 1 von 1.000 Eingaben einen Fehler, und es ist nicht wirklich vorhersehbar, wann das passiert. Die zentrale Herausforderung besteht daher darin, zuverlässige und sichere Systeme mit unzuverlässigen Komponenten zu bauen.

Wie unterscheiden sich die Prinzipien des Software Engineerings im Kontext von traditionellen Anwendungen und Machine Learning Systemen?

Vieles bleibt gleich, aber Machine Learning bringt mehr Komplexität mit sich, unter anderem durch die Integration bekanntermaßen unzuverlässiger Komponenten. Mit der gestiegenen Komplexität wäre es klug, die Strenge der Methoden zu erhöhen, die beim Bau von Systemen eingesetzt werden, wie z. B. Sicherheitsengineering und Software-Sicherheitspraktiken. Wir verfügen in der Softwaretechnik größtenteils über Methoden und Jahrzehnte an Erfahrung in der Entwicklung komplexer, sicherer und geschützter Systeme, aber viele dieser Methoden sind teuer und werden außerhalb traditionell sicherheitskritischer Systeme nicht häufig angewandt. Ich denke, wir brauchen mehr davon. Zusammengefasst können wir nicht erlauben mit schlampigen Methoden Software zu erstellen.

Inwieweit sollte der Software Engineering-Prozess angepasst werden, wenn man Machine Learning Modelle entwickelt, die kontinuierlich lernen oder sich an neue Daten anpassen müssen?

Das Hauptproblem ist, dass Machine Learning viel mehr, einer Wissenschaft als einem Ingenieurwesen ähnelt. Ein Projekt ist weitaus weniger planbar als ein traditionelles Softwareprojekt. Es ist in der Regel unklar, ob es möglich ist, ein Modell für eine bestimmte Aufgabe mit akzeptabler Genauigkeit zu erstellen und es ist schwierig vorherzusagen, bis wann dies erreicht werden kann. Dies führt zu vielen Konflikten in Softwareprojekten, in denen Machine Learning Expert*innen und Softwareingenieur*innen zusammenarbeiten.

Zudem berücksichtigen die meisten Machine-Learning-Projekte keine Veränderungen und kontinuierliche Updates. Dies liegt an der Machine-Learning-Ausbildung, bei der Studierende mit festen Datensätzen arbeiten und nie mit Evolution oder Drift konfrontiert werden. Machine Learning muss den Wandel einplanen und Automatisierung einbeziehen, wie z. B. automatisierte Tests und A/B-Tests. Vieles davon ist unter dem Label MLOps in der Praxis und es gibt viele Erfolgsgeschichten, aber besonders Anfänger kämpfen damit noch sehr.

Welche Tools oder Methoden aus dem Software Engineering sind besonders hilfreich, um die Skalierbarkeit und Wartbarkeit von Machine Learning Systemen zu gewährleisten?

Verteilte Systeme, A/B-Tests und Canary-Releases (Tests in der Produktion), Safety Engineering, Softwaresicherheitsmethoden wie Threat Modeling.

Wie gehen Sie in Ihrer Forschung damit um, dass Machine Learning Modelle oft „Black Boxes“ sind, während Software Engineering Transparenz und Nachvollziehbarkeit fordert?

Vor allem durch das Kalibrieren von Erwartungen. Wir müssen akzeptieren, dass wir es mit unzuverlässigen Komponenten zu tun haben, die wir nicht vollständig verstehen werden, die aber im Durchschnitt funktionieren. Das ist eigentlich nicht so anders als das, was wir von Menschen erwarten würden, die eine Aufgabe ausführen. Wir müssen uns von der unrealistischen Vorstellung verabschieden, dass alles spezifiziert und als korrekt bewiesen werden kann.

Was sind die wichtigsten Überlegungen beim Testen und Validieren von Machine Learning Systemen, insbesondere im Vergleich zu klassischen Softwaretests?

Das Verständnis der Systemanforderungen und Modellanforderungen sowie ihrer Beziehung. Fehler antizipieren, ihre Konsequenzen abschätzen und Modellfehler mit Schutzmaßnahmen um das Modell herum abmildern.

Wie sollten Entwickler*innen und Ingenieur*innen mit der Unsicherheit und den oft unvorhersehbaren Ergebnissen von Machine Learning Systemen umgehen?

Erwartungen kalibrieren, wie oben schon erwähnt. Sowie sorgfältig überlegen, wo es verantwortungsvoll ist, Software mit einer unzuverlässigen Komponente zu veröffentlichen, und ob das verbleibende Risiko akzeptabel ist.

Herr Professor Kästner, was hat Sie ursprünglich dazu motiviert, sich für Software Engineering und Machine Learning zu interessieren? Und wie haben sich Ihre Forschungsinteressen im Laufe Ihrer Karriere weiterentwickelt?

Das alles kam durch das Lehren. Ursprünglich wollte ich Kollegen davon überzeugen, dies in unserem Masterstudiengang Software Engineering zu unterrichten, da viele unserer Studierenden später Softwareprodukte mit Machine-Learning-Komponenten entwickeln (Mobile apps, Webanwendungen). Das war eine klare Lücke in unserem Lehrangebot und auch in der Lehre an den meisten anderen Orten. Als niemand das aufgriff, entschied ich mich mit einem Kollegen, dies selbst zu tun.

Als wir anfingen zu unterrichten, lernten wir so viel über das Thema, dass wir anfingen, interessante Praktische- und Forschungsprobleme zu sehen und mit der Forschung begannen.

Gab es bestimmte Professoren oder Mentoren, die Sie in Ihrer wissenschaftlichen Laufbahn besonders beeinflusst haben?

Ich verfolge normalerweise keine langfristige Agenda, sondern bin opportunistisch bei Forschungsgelegenheiten. Viele dieser Projekte entstehen einfach durch Gespräche und Kollaborationen. Zum Beispiel wurde mein Denken zu diesem Thema stark durch Diskussionen bei einem Dagstuhl-Seminar beeinflusst und durch die Zusammenarbeit mit meinem Co-Dozenten Eunsuk Kang.

Welche Ratschläge würden Sie jungen Forscher*innen oder Studierenden geben, die sich für Software Engineering und Machine Learning interessieren?

a. Sprechen Sie mit Praktikern.
b. Lesen Sie über Ihr eigenes Fachgebiet hinaus – zum Beispiel wird viel der interessantesten Softwareentwicklung für Machine-Learning-Literatur auf Konferenzen zur Mensch-Computer-Interaktion, zu Machine Learning-Fairness und zu NLP veröffentlicht, nicht unbedingt auf traditionellen Software-Engineering-Konferenzen.

Was begeistert Sie noch immer an Ihrer Forschung und Lehre, und wie sehen Sie Ihre eigene Zukunft in diesem Bereich?

Ich sehe den Einfluss in der Lehre und wie Studierende es schätzen, über die Systemaspekte hinaus zu lernen, anstatt sich nur auf Modelle zu konzentrieren. Als Dozierende haben wir derzeit viel Hebelwirkung, um verantwortungsvolle Ingenieurpraktiken (Fairness, Sicherheit, Schutz) für die nächste Generation von Ingenieur*innen zu prägen.

Generell macht es mir in der Forschung immer Freude, kontinuierlich Neues zu lernen.

Welche Erfahrungen oder Erkenntnisse aus der Industrie haben Ihre Sichtweise auf Software Engineering und Machine Learning in der akademischen Forschung verändert?

Fast alle Diskussionen mit Praktiker*innen zeigen, dass die Probleme wahrscheinlich nicht grundlegend neu sind. Technologien ändern sich schnell, aber die zentralen Probleme bleiben. Wir haben gelernt, dass die Kernprobleme keine technologischen sind, sondern solche der (interdisziplinären) Zusammenarbeit, Kommunikation, Anforderungen und Prozesse. Alles alte Themen mit viel Wissen, das meiner Meinung nach jetzt mit Machine Learning noch wichtiger ist.

Die Vortragsreihe „Distinguished Lectures“ des Instituts für Informatik besteht aus hochkarätigen Vorträgen und Diskussionen mit nationalen und internationalen Persönlichkeiten, die die Forschung an unserem Institut anregen und den Wissensaustausch zwischen den Wissenschaftlern fördern sollen. Die Veranstaltung ist offen für alle Interessierten und konnte bereits mit Herrn Professor Kästner für einen erfolgreichen Auftakt sorgen.

Foto: Nadija Carter
Foto: Nadija Carter
Foto: Nadija Carter