header_corporate-blog_2019_1920x559px

Künstliche Intelligenz und die Zukunft der Lösungsentwicklung - Gedanken zu GTP-3

ap_martin-luckow_2x

Ziel der Lösungsentwicklung ist meist, Vorgänge zu automatisieren. Gleichzeitig ist die Lösungsentwicklung an sich schon immer Ziel von Automatisierung gewesen. Dies führte zu einer Vielzahl wertvoller Werkzeuge und Paradigmen. Längst deutet sich ein Umbruch an, der aufgrund neuerer Entwicklungen deutlich näher liegen dürfte als von vielen erwartet. Künstliche Intelligenz spielt dabei eine entscheidende Rolle.

Bereits heute beeinflusst Künstliche Intelligenz die Erstellung von Lösungen und deren Betrieb. Während der Einsatz von KI beim Betrieb von Lösungen mit AIOps schon einen Namen bekommen hat, fällt dies bei der Erstellung von Lösungen schwer. Dies mag daran liegen, dass KI im Entwickeln von Anwendungen unterschiedliche Aspekte besitzt: Zunächst das AI-gestützte Entwickeln einer Lösung, zweitens das Entwickeln einer Lösung, die AI-Features anbietet und drittens die Kombination von beiden.

Die Vision von AI-Enthusiasten für Entwicklung und Betrieb von Lösungen ist:

  1. Es wird den Endbenutzer*innen ermöglicht, ihre Anforderungen gegenüber einer KI in natürlicher Sprache zu formulieren,
  2. die KI erstellt dann ihrerseits die Lösung, testet und betreibt sie
  3. und das am besten unbeaufsichtigt und automatisch.

Diese Zukunft schien bis vor kurzem noch weit entfernt. So schätzt eine Veröffentlichung von 2017 den Zeitpunkt, an dem Maschinen dem Menschen das Coding neuer Lösungen vom Design bis zur Logik weitgehend abnehmen, auf das Jahr 2040.

Dieser Zeitpunkt könnte näher gerückt sein.

Der Stand der Dinge…

Domänenspezifische Lösungen gibt es längst. Verschiedene IDEs wie Visual Studio integrieren bereits KI-gestützte Features, die den Entwickler beim Coding unterstützen. Eine Sammlung weiterer Tools findet sich z. B. auf GitHub. Konsequenterweise nutzen viele dieser Tools GitHub auch gleich als Trainingsbasis.

Im Bereich des automatisierten Testens bildet Facebooks Sapienz einen Meilenstein, der nicht nur testet, sondern die Testfälle für eine Anwendung selbst erstellt. Damit nicht genug: Facebooks Sapfix vervollständigt Sapienz und unterstützt die Korrektur gefundener Bugs. Das Ganze ist quelloffen auf Github zu finden.

Auf der nicht-technischen Ebene erleichtern aktuelle No-Code-Werkzeuge das Erstellen neuer Produkte, egal ob es sich um Websites, Designs, Datenanalysen oder Modelle handelt. Shopify, Wix, WordPress sind No-Code-Tools, mit denen bereits Millionen von Menschen Dinge selbst erledigen, ohne Designer oder Entwickler zu konsultieren.

Auch die Domäne der Data Scientists ist betroffen. Mit AutoML-Werkzeugen wird die Zeit, die benötigt wird, um KI in Produktion zu bringen, drastisch verkürzt. Tools wie Apteo ermöglichen es fast jedem, KI-Modelle ohne Codierungskenntnisse bereitzustellen.

Auch z. B. im Projektmanagement spielt KI eine zunehmende Rolle, denn mit der Verfügbarkeit historischer Projektdaten lassen sich z. B. Zeit- und Aufwandsschätzungen ableiten, Risiken erkennen und Entscheidungen automatisieren. 

Abseits dieser domänenspezifischen Lösungen wurde vor ein paar Jahren ein weitaus allgemeinerer Ansatz diskutiert und von Andrej Karpathy als Software 2.0 eingeführt. Die Idee ist im Grunde, die Lösung eines Problems nicht durch einen codierten Algorithmus zu bauen, sondern sie stattdessen als Antwort eines neuronalen Netzes auf eine Menge von Anforderungen zu verstehen. Das Netz wird also so trainiert, dass es auf einen möglichst umfassenden Satz von Eingaben die richtigen Ausgaben generiert… das geht schon deutlich in die Richtung der oben genannten Vision.

GPT-3 und die Konsequenzen

GTP steht für Generative Pretrained Transformer. GTP-3 ist der neueste Vertreter dieser Reihe von KIs von OpenAI aus dem Bereich Natural Language-Processing (NLP). OpenAI ist eine Forschungsorganisation, die vor allem von Elon Musk und Microsoft finanziert wird. Die KIs der GTP-Reihe haben primär die Aufgabe, unter natürlichsprachlich formulierten Nebenbedingungen oder Anforderungen Texte zu generieren, die von vom Menschen geschriebenen Inhalten nicht zu unterscheiden sind.

Dazu wird die KI auf einer gigantischen Menge von Texten trainiert, die sie in die Lage versetzt, ohne zusätzliches Training auch in neuen Themen recht erfolgreich zu sein. Gigantisch trifft es: GPT-3 hat das meiste, was Menschen online (und in Englisch) veröffentlicht haben, aufgenommen. Es verwendet den Großteil des im Internet verfügbaren Textes, um basierend auf der empfangenen Texteingabe eine statistisch plausible Antwort zu generieren. Und weil es im Web viele Daten gibt, um herauszufinden, welche Reaktion am plausibelsten ist, sind die Vorhersagen in der Regel recht genau. So kann GPT-3 genutzt werden, um Gedichte zu einem Thema zu schreiben, Essays wie dieses zu generieren oder Blogs mit Fake-News zu überschwemmen. 

Für GTP-3 ist keine aufgabenspezifische Feinabstimmung erforderlich. Natürlich kann dies bei speziellen Aufgaben nachgeholt werden. Dies taten z. B. einige AI-Enthusiasten, als sie für sich feststellen, dass geschriebener Code ja eigentlich auch nur ein Text ist und man GTP-3 mit wenig Aufwand dazu bringen kann, auf natürlichsprachliche Anforderungen mit Code zu antworten - denn die Quellen auf z. B. Github kennt die KI ebenfalls.

Natürlich ist nicht alles perfekt, doch die folgenden Beispiele deuten an, was zukünftig möglich sein wird. Allen gemeinsam ist, dass Code als Antwort auf eine in natürlicher Sprache formulierten Anforderung generiert wird:

So liefert „Überprüfe, ob ein String ein Palindrom ist“ den korrekten Python-Code. Natürlich könnte GTP-3 die Lösung schlicht auf Github gefunden haben. Das klappt aber nicht bei der Anforderung „Liefere mir diejenigen Indizes in einer Liste von Strings, die Palindrome mit mindestens 7 Zeichen sind“. Auch diese Eingabe wird mit korrektem Python-Code beantwortet:


Andere Beispiele zeigen GTP-3s Fähigkeiten, Elemente für Webseiten zu generieren. So liefern „Mach mir einen Button, der aussieht wie eine Wassermelone“ oder „Ein großer Text, der sagt ‘WELCOME TO MY NEWSLETTER’ und dazu einen blauen Subscribe-Button" korrekte Ergebnisse. Auch indirekte Formulierungen wie „Mach mir einen Button in der Haarfarbe von Donald Trump“ werden korrekt umgesetzt.

Auch die Generierung der Google-Homepage aufgrund einer mündlichen Beschreibung führt zu einem sehr guten Ergebnis, wie ein Tweet zeigt. Die Liste lässt sich fortsetzen und wird es auch, wie eine Beispielsammlung  demonstriert. 

Die Grenzen

Das ist alles sehr beeindruckend und deutet an, wohin die Reise gehen wird - letztendlich ist GPT-3 jedoch immer noch „nur“ ein Sprachprädiktor. Es ist ein statistisches Modell, das aufgrund des Umfangs der Trainingsdaten mit hoher Wahrscheinlichkeit die erwarteten Ausgaben liefert. Doch GTP-3 "denkt" nicht und hat keinen eigenen "Verstand". Anforderungen der Art „Schreibe einen Algorithmus, der besser ist als du“ führen logischerweise zu Problemen. Und natürlich fehlt der KI die Fähigkeit (und Motivation), darüber nachzudenken, denn weil die Ausgabe Wort für Wort generiert wird, gibt es kein beständiges mentales Modell, wie wir Menschen es haben. Dieses Modell könnte jedoch die Grundlage für ein tiefes Verständnis der Welt sein, wie in einem Paper der Association for Computational Linguistics dargestellt wird. Das OpenAI-Forschungsteam geht in seinem Artikel auf weitere Einschränkungen des Modells ein.

Ein Ausblick

Innovative Lösungen, die einzigartige Gedanken erfordern, sind also von GTP-3 nicht zu erwarten. Andererseits muss man fragen: müssen Developer bei jeder Zeile Code einzigartige Gedanken haben, die permanent zu innovativen Lösungen führen? Eher nicht. Manchmal ist unsere Arbeit richtig dröge.
Daher: NLP-Werkzeuge wie GPT-3 können, sollen und werden die Notwendigkeit alltäglicher Aufgaben wie das Generieren von Variationen desselben Designs oder das Erstellen einfacher Websites auf der Grundlage gemeinsamer Prinzipien massiv reduzieren.

Was wird also in den nächsten Jahren passieren? Natürlich wird es im Bereich der Lösungsentwicklung weiter Designer, Developer, Data Scientists, Projektmanager usw. geben. Und es wird sehr leistungsfähige Werkzeuge geben, die zunehmend Teile unserer bisherigen Arbeit übernehmen, automatisieren und die Produktivität in der Lösungsentwicklung noch einmal massiv steigern. Die Möglichkeit, Codierung an eine KI zu delegieren, gibt uns die Bandbreite, um eine größere Anzahl von Anforderungen in gleicher Zeit umzusetzen.

In wenigen Jahren wird der „Entwickler“ als „Schreibkraft“ weitgehend ausgedient haben, nicht jedoch als Problemlöser.

Und genau dort wird auch der Fokus aller Mitarbeitenden in der Lösungsentwicklung liegen: Probleme lösen.

Ein zusätzlicher neuer Aspekt dürfte sein, dass Lösungsentwickler ein genaues Bild davon haben müssen, was „ihre KIs“ können, was nicht und wie sie zu managen sind. Dazu benötigtes Wissen, Fähigkeiten und Denkweisen müssen in der Ausbildung noch mehr in den Vordergrund rücken.

Es ist an der Zeit, Entwicklungsteams grundsätzlich an die KI-Thematik heranzuführen.

Was Künstliche Intelligenz kann, nicht kann und wann können wird, wird auch dich betreffen. Wir beantworten dir deine Fragen zum Thema und erarbeiten mit dir Szenarien, wie du am meisten von dieser Technologie profitieren kannst.

The Missing Piece

 

 

Topics: Essay Künstliche Intelligenz Lösungsentwicklung GTP