Interview
12.10.2021, 08:00 Uhr
"Wird ein Problem zu komplex, kann es vielleicht die KI lösen."
Jürgen Toth hält auf der JVM Con '21 (29.11.2021 bis 01.12.2021, rein digital) die Session "Machine Learning auf der JVM von der Entwicklung bis zum Betrieb". Im Interview spricht er über den Hype um die KI und die konkrete, hilfreiche Umsetzung dahinter.
(Quelle: Jürgen Toth)
Man könnte den Eindruck gewinnen, dass Machine Learning vergleichbar der Technologie Blockchain ein reiner Hype ist. Hast du in deinem Job schon AI-Projekte für das echte Leben umgesetzt?
Jürgen Toth: Meiner Meinung gilt wohl beides. Vor allem: Die KI ist ja kein neues Thema. Sie wurde bereits in den 50er Jahren das erste Mal erwähnt. Sie durchlief in der Vergangenheit bereits zwei Hype-Zyklen und konnte die Erwartungen nicht erfüllen. Was ist dann jetzt anders? Massive Daten und immense Rechenpower. Die KI ist endlich im Alltag angekommen. Dinge wie Spracherkennung sind alltagstauglich geworden. In jedem modernen Smartphone steckt ein separater KI-Chip, der Aufgaben übernehmen kann. Das autonome Fahren hat enorme Fortschritte gemacht und steht vor einem echten Durchbruch. Die KI ist auch in vielen Industriezweigen bereits längst produktiv angekommen, wie zum Beispiel in der Industrie mit predictive maintenance oder in der Finanzindustrie mit intelligenten Vorhersagemodellen. In meinem Job habe ich bereits einige Chatbot-Modelle erstellt, aber auch Projekte von Machine-Learning-Modellen ins Web- und Mobile-Umfeld integriert. Ein Beispiel sind intelligente Webkomponenten, um Sentiment-Analysen durchzuführen – wenn der Kunde zum Beispiel ein negatives Feedback eingegeben hat und man eventuell darauf reagieren möchte. Auch im Life-Science-Bereich war ich an Projekten beteiligt, um zum Beispiel die Bindungsfähigkeit von chemischen Molekülen an Proteinen vorherzusagen.
Wenn ich Machine Learning höre, taucht vor dem geistigen Auge immer ein Rudel Menschen auf, die das Model trainieren. Gibt tatsächlich solche Szenarien oder lässt sich alles automatisch abdecken?
Jürgen Toth: In der Tat kann beides existieren. Mittels AutoML können inzwischen sehr effektive Modelle mittels Automatisierung gefunden werden. Alle Cloudbetreiber bieten inzwischen Dienste an, um aus existierenden Daten das beste Modell automatisch zu erstellen. Diese Hilfsmittel ersetzen aber keine Data Scientists oder Machine Learning Engineers. Daten müssen trotzdem weiterhin erst einmal verstanden werden und mit einem sinnvollen Business Kontext verknüpft werden. Die Automatisierung in diesem Umfeld ist als sinnvolle Ergänzung und als Beschleunigung in diesem Bereich anzusehen.
Gibt es Unterschiede bei der Implementierung von Machine Learning unter der JVM und anderen Plattformen?
Jürgen Toth: Im Prinzip nein, in der Praxis aber schon. Auf der JVM existieren viele gute Frameworks um KI-Modelle zu erstellen, von einfachen ML-Modellen bis zu komplexen Deep-Learning-Netzwerken. Schaut man sich in der Community um, sind Python und das Python-Ökosystem die dominierende Umgebung. Anderseits sind auch sehr mächtige Realtime-Systeme auf der JVM wie Apache Spark entstanden, die es erlauben, zum Beispiel mit Scala Echtzeit-Machine-Learning-Modelle umzusetzen. Ich würde sagen, man kommt im ML-Umfeld um Python nicht rum, kann aber viele Dinge auf der JVM gleich oder ähnlich umsetzen.
Gibt es Kriterien, über die ich entscheiden kann, wann sich Machine Learning für meine Anforderungen eignet und wann nicht?
Jürgen Toth: Ja, auch in diesem Bereich muss ein eindeutiges Business-Konzept stehen, das den Einsatz von einem Machine-Learning-Modell rechtfertigt. Leider ist es immer noch so, dass viele AI-Projekte nicht in der Produktion landen, da entweder der Business Case nicht eindeutig ist oder falsche Erwartungen an das Modell existieren. Interessierten sei hier der "Machine Learning Canvas" (siehe zum Beispiel Artikel auf medium.com) ans Herz gelegt, dieser beinhaltet viele Kriterien, um zu entscheiden, wann sich ein ML Modell lohnt und was zu beachten ist.
Außerdem hilft auch immer folgendes Bauchgefühl: Wird ein Problem auf irgendeine Art und Weise zu komplex, um es in ein Regelwerk zu pressen, ist Machine Learning ein guter Kandidat, das Problem zu lösen. Das Problem wird verlagert von "wie implementieren" zu "was wollen wir erreichen" mit dem vorhandenen Dateninput.
Wirst du in deiner Session auf der JVM Con auch auf Bots eingehen?
Jürgen Toth: Ja, ich werde auch ein Beispiel von Bots in Java geben. Es existieren in diesem Bereich nicht so viele Frameworks wie im Python-Ökosystem, aber auch auf der JVM lässt sich sowas umsetzen. Natürlich lassen sich auch Chatbots von Java aufrufen, die nicht selbst in Java geschrieben sind (zum Beispiel über REST). Das ist wahrscheinlich auch eine der üblichsten Methoden.
Gelten Bots überhaupt als KI?
Jürgen Toth: KI ist ja ein sehr genereller Oberbegriff für viele Dinge und Vorgehensmethoden in diesem Bereich. Von einfachen statistischen Methoden bis zu sehr komplexen tiefen Netzwerken, wie Alpha Go, die den aktuellen Weltmeister mit links schlagen können. Alle diese Aufgaben sind sehr spezielle Problemstellungen, die mittels extra trainierten KI-Modellen gelöst werden können. Diese Art von KI wird als "schwache KI" bezeichnet und diese wird im Laufe der Zeit immer besser. Sie schlagen in ihrer Disziplin oft den Menschen. Chatbots zählen im Moment immer noch zu dieser Kategorie. Eine KI, die ein spezielles Problem im trainierten Geschäftskontext sehr gut lösen kann. Sogenannte "starke KI", also richtige menschliche Intelligenz, existiert im Moment noch nicht und hier gehen die Meinungen auseinander, ob sie jemals kommen wird oder nicht.
Lohnt es sich als "normaler Software Entwickler" sich mit dem Thema Machine Learning und KI zu beschäftigen?
Jürgen Toth: Ich würde sagen ja, aber nicht unbedingt in die Tiefe. Eine Kenntnis der fundamentalen Konzepte hilft abzuwägen, wo neue Möglichkeiten genutzt werden können. Durch das Verstehen, was Machine Learning kann und was noch nicht, können verschiedene Anforderungen von der Programmierung zu KI-Modellen transformiert werden. Entweder können fertige Modelle benutzt werden, oder vorgefertigte Services in der Cloud, wenn die Konzepte verstanden sind. Das tiefe Abtauchen in das Selbstprogrammieren kommt dann eventuell ganz von selbst.
Warum findest du das Thema KI und Machine Learning so interessant? Warum sollte ich mich dafür begeistern?
Jürgen Toth: Als Kind habe ich einen Radiowecker beobachtet und mich gefragt, wie man diesen programmiert beziehungsweise einstellen kann. Bei meinem ersten Computer, den C64, war ich erst mal enttäuscht, dass es doch relativ kompliziert ist, diesen zu programmieren – genau alle Befehle in der richtigen Reihenfolge einzugeben. Ich dachte, man kann dem Computer sagen, was man will und er erledigt das einfach.
Mit KI nähert man sich nun diesem Ziel auf eine Art und Weise. Ich trainiere nun meine Maschine und sage ihr, ob sie richtig liegt oder nicht. Das finde ich unglaublich faszinierend und kommt meiner Kindheitsvorstellung wieder etwas näher. Ich sage der Maschine, was richtig ist und was falsch und diese spuckt automatisch die richtigen Antworten aus – so wie ich es mir als Kind vorgestellt habe.
Quelle: Jürgen Toth
Die JVM Con ist die Konferenz für Java-Entwickler. Sie findet vom 29. November bis 01. Dezember 2021 rein digital statt.