Die rasante Zunahme der Leistungsfähigkeit und Einsatzgebiete maschineller Lernverfahren – allen voran von Neuronalen Netzen – treibt die Verbreitung von Anwendungen Künstlicher Intelligenz (KI) in nahezu alle Wirtschaftsbranchen und Lebensbereiche voran. Dies geht einher mit einer Professionalisierung der Entwicklung und des Betriebs von KI-Lösungen und führt diese Verfahren zunehmend in kleine und mittelständische Unternehmen, Behörden und öffentliche Einrichtungen sowie in alle Bereiche privater und öffentlicher Infrastruktur (Energie- und Datennetze, Krankenhäuser, usw.).
Zeitgemäßen Standards professioneller Softwareentwicklung wie etwa dem V-Modell zufolge ist das systematische Testen von Funktionalität und Sicherheit ein integraler Bestandteil des Entwicklungs- und Auslieferungsprozesses und sollte während des gesamten Lebenszyklus einer Anwendung stattfinden – ob KI-Komponenten enthalten sind oder nicht. Dies ist besonders dort nötig, wo ihr Einsatz mit hohen oder kritischen Risiken einhergeht. Darüber hinaus setzen agile Entwicklungsprozesse mit ihren schnellen, iterativen Aktualisierungen und automatisierter Auslieferung sowie die teils sehr dynamischen Einsatzumgebungen die Verwendung von gut automatisierbaren Prüfverfahren voraus.
Im Vergleich zu klassischer Software ist die Prüfung von KI-Anwendungen mit einer Reihe besonderer Herausforderungen verbunden, die von etablierten Testverfahren bislang noch nicht oder nicht ausreichend adressiert werden. In diesem Blogbeitrag stellen wir einige dieser Herausforderungen vor.
Moderne Softwareentwicklung ist komplex und hoch automatisiert
Speziell bei maschinellen Lernverfahren aber auch schon bei klassischer Software reichen Prüfungen, die allein auf manuell erstellten Funktionstests basieren, oft nicht aus, um ein akzeptables Funktions- und Sicherheitsniveau zu gewährleisten. Hinzu kommt, dass Software heutzutage oft in vielen kurzen Entwicklungszyklen weiterentwickelt, automatisiert zu Paketen integriert und ausgeliefert wird. Insgesamt führt diese hohe Dynamik dazu, dass viele Anwendungen niemals endgültig fertiggestellt werden und damit auch niemals vollständig getestet werden (können). Effektive Prüfverfahren müssen dem Rechnung tragen und dabei nicht nur praktikabel, sondern auch wirtschaftlich sein.
So ist zum Beispiel die formale Verifikation, das heißt ein mathematischer Beweis der Funktionsfähigkeit eines Softwaremoduls, in der Regel sehr zeit- und kostenintensiv. In der Praxis eignet sie sich daher nur für deterministische Programme von überschaubarer Komplexität sowie für Einsatzszenarien, die sowohl statisch als auch in hohem Maße sicherheitskritisch sind (zum Beispiel Weltraummissionen). Vielfach ist ein solcher Korrektheitsbeweis zwar wünschenswert, aber nicht durchführbar, was zum Beispiel gegeben sein kann, wenn der Raum möglicher Eingaben praktisch unendlich groß ist. Letzteres ist dann der Fall, wenn es, nach aktuellem Kenntnisstand, selbst mit allen potentiell menschen-verfügbaren Ressourcen absehbar niemals möglich sein wird, alle Eingaben durchzuspielen. Ein Beispiel hierfür ist Software, die Bildinhalte verarbeitet.
Selbst wenn sich eine Anwendung für die formale Verifikation eignet, so existieren nach heutigem Stand nicht für alle maschinellen Lernverfahren entsprechende Ansätze. Um den oben genannten Prüfbedarf auch für den großen Anteil der Anwendungen decken zu können, für die formale Verifikation nicht in Frage kommt, müssen daher alternative Prüfverfahren gefunden werden.
Spezifische Herausforderungen von KI-Modellen
Die Funktionalität eines KI-Modells lässt sich nur sehr lückenhaft, so wie bei klassischer Software üblich, durch manuell erstellte Unit- oder Integrationstests (also Tests elementarer Funktionseinheiten beziehungsweise des Zusammenspiels mehrerer Funktionseinheiten durch Vergleich der berechneten mit der erwarteten Ausgabe bei gegebener Eingabe) prüfen. Daher wird stattdessen datengetrieben und eingebettet in den Trainingsprozess getestet. So besteht ein Standardverfahren zum Testen überwachter Lernverfahren darin, die Eingangsdaten in Trainings-, Validierungs- und Testdatensätze aufzuteilen. Das Modell wird auf dem Trainingsdatensatz trainiert und die Performanz auf den Testdaten als Kriterium für den aktuellen, tatsächlichen „Lernerfolg“ kontinuierlich überwacht. Schließlich wird mit dem zurückgehaltenen Validierungsdatensatz geprüft, wie gut das Model gelernt hat, auf gänzlich unbekannte Eingaben korrekt zu reagieren und damit die zu lernenden Beziehungen zu generalisieren.
Qualitätsmanagement der Trainingsdaten
Allerdings ist dieses Verfahren ungeeignet, um zu erkennen, dass in einem Eingangsdatensatz wichtige Beispiele fehlen. So sind etwa Konstellationen denkbar, in denen bekannte und kritische Anwendungsfälle eines Modells in den Trainingsdaten nicht oder nur schwach repräsentiert sind oder sich nur unter hohen Kosten oder per Simulator generieren lassen. Ein Beispiel hierfür wäre die Repräsentation „echter“ Verkehrsunfälle zum Training autonomer Fahrzeuge.
Doch selbst wenn alle wichtigen Arten von zulässigen Beispielen enthalten sind, kann das oben genannte Trainings- und Testverfahren nicht verhindern, dass möglicherweise vorhandene statistische Verzerrungen zwischen den erhobenen Eingangsdaten und den zu lernenden Beziehungen auf das Modell übertragen werden. Solche Verzerrungen können auf verschiedene Arten entstehen, sei es, dass
- die Datenerhebung mangelhaft umgesetzt oder (zu) schwierig/teuer ist.
- sich bestimmte Eigenschaften nur über Umwege messen beziehungsweise schätzen lassen.
- Neigungen und Vorurteile (Bias) an der Erhebung beteiligter Menschen in die Daten einfließen.
Hohe Dynamik von Modell und Umwelt
Maschinelle Lernverfahren können darüber hinaus Modelle im laufenden Betrieb weiterlernen lassen, was dazu führen kann, dass diese sich dabei nahezu beliebig von einer zuvor getesteten Version entfernen. So können Neuronale Netze anfällig sein für die sogenannte catastrophic interference, bei der ein neu erlerntes Beispiel zuvor gelernte Beispiele schnell und vollständig „überschreibt“. Auch ist inzwischen bekannt, dass manche Algorithmen – vor allem Neuronale Netze – dazu neigen, wenig robust auf selbst kleinste Variationen in der Eingabe zu reagieren. Dies illustrieren zwei Artikel des ML2R-Blogs, in denen sogenannte Adversarial Examples und Attacken sowie mögliche Gegenmaßnahmen vorgestellt werden.
Darüber hinaus kann es in veränderlichen Einsatzumgebung vorkommen, dass sich ein KI-Modell im Betrieb mit Eingaben konfrontiert sieht, die zwar valide sind, im Training aber nicht oder nur sehr schwach repräsentiert waren. So ist es möglich, dass sich etwa ein Neuronales Netz zur Erkennung von Verkehrsteilnehmenden in Folge geänderter gesetzlicher Regelungen plötzlich mit einer völlig neuen Fahrzeuggattung konfrontiert sieht (zum Beispiel Elektroroller). Im Idealfall ist ein Prüfverfahren in der Lage, ein Modell schon im Vorfeld auf sein Verhalten bei solchen Abweichungen zu testen, zum Beispiel indem es neue, plausible Eingaben selbst generiert.
Nicht-Determinismus bei Maschinellem Lernen
Eine weitere Schwierigkeit ergibt sich aus nicht-deterministischen Eigenschaften maschineller Lernverfahren. Zwei in gleicher Weise trainierte KI-Systeme können sich selbst bei konstanten Eingangsdaten und statischem Problem(um-)feld unterschiedlich verhalten, wenn schon der Trainingsablauf als Folge explizit hinzugefügter (zum Beispiel durch Mischen der Trainingsdaten) oder intrinsisch enthaltener Zufallselemente (etwa bei paralleler Ausführung) nicht-deterministisch ist.
Insbesondere sogenannte generative Modelle können außerdem ein intrinsisch nicht-deterministisches Verhalten zeigen: Zufallselemente, die zur Erzeugung einer Ausgabe absichtlich hinzugefügt werden, sorgen dafür, dass identische Eingaben zu verschiedenen Ausgaben führen können. Das Sprachverarbeitungsmodell GPT3 erzeugt zum Beispiel auf identische Eingaben in der Regel Texte, wie Nachrichtenmeldungen, mit mehr oder weniger starken Unterschieden. Und auch wenn dieses Problem nicht auf maschinelle Lernverfahren beschränkt ist, erlangt es durch die Verbreitung generativer Modelle besondere Relevanz im KI-Kontext. Es erhöht gleichzeitig den Prüfungsaufwand erheblich, weil für jede mögliche Eingabe im Prinzip eine ganze Zufallsverteilung von Ausgaben erhoben und geprüft werden muss.
Fazit
KI-Modelle effektiv und effizient prüfen zu können, wird im Hinblick auf ihre wachsende Verbreitung, Komplexität und Kritikalität immer wichtiger. Gleichzeitig müssen für Tests solcher Systeme besondere Herausforderungen bewältigt werden, die wie die Lernverfahren selbst Gegenstand aktueller Forschung sind. Ein Beispiel für einen vielversprechenden Prüfansatz, der einige der genannten Probleme angeht, stellen wir Ihnen im nächsten Blogbeitrag vor.