de en
Zurück

Online Magazine

Gedanken zu GPT-3

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.


von Martin Luckow

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 KI-gestützte Entwickeln einer Lösung, zweitens das Entwickeln einer Lösung, die KI-Features anbietet und drittens die Kombination von beiden.

Die Vision von KI-Enthusiast*innen 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ätzte 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*innen oder Entwickler*innen 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

GPT steht für Generative Pretrained Transformer. GPT-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 GPT-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 Grossteil 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 GPT-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 GPT-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 GPT-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 GPT-3s Fähigkeiten, Elemente für Webseiten zu generieren. So liefern „Mach mir einen Button, der aussieht wie eine Wassermelone“ oder „Ein grosser 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 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 GPT-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 da 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 GPT-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*innen 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.

Deine Ansprechperson

WIR HABEN NOCH MEHR DAVON AUF LAGER!

Im Gespräch mit
Im Gespräch mit Jolanda Spiess Hegglin
Data Analytics Natural Language Processing KI

Gegen Cybergewalt
TechTalk
Digitale Transformation

Wer braucht eine Digital­strategie?
Feuill-IT-ong
Key Visual Feuill-IT-ong
Digitale Transformation

«Adieu, IE!» – Ende eines Kulturguts
Gelesen