Beitrag · 22. Mai 2023
Künstliche Intelligenz im Wandel: Vom Softwareentwickler zum Prompt Engineer
Dieser Beitrag stammt aus dem Mai 2023 und steht hier unverändert. Einzelne Beispiele sind gealtert, das Argument nicht.
Verfolgen Sie die Evolution der künstlichen Intelligenz, von ihren mathematischen Wurzeln bis hin zu den großen Sprachmodellen — und was dies für unsere Personalauswahl bedeutet.
Die erste Woche meiner Suche nach künstlicher Intelligenz ist vorbei. Ich habe heute — vorübergehend — das Silicon Valley verlassen und bin nach Edmonton in Kanada aufgebrochen. Hier findet die Upper Bound statt, eine Mischung aus akademischer Konferenz und Party der KI-Szene Kanadas.
Was habe ich im Valley gelernt?
Zunächst einmal ist das Thema KI überall präsent. Es erlebt gerade einen Boom. Investoren berichten, dass sie mittlerweile täglich hunderte Anfragen von Gründern erhalten, die etwas mit künstlicher Intelligenz machen wollen. Ich habe mit zahlreichen Gründern gesprochen, die alle auf diesen Zug aufspringen wollen. Interessanterweise ist die allgemeine Einstellung dabei, dass die Technik nicht mehr das Problem ist. Es geht vielmehr darum, die richtige Nische zu finden. Jeder scheint jemanden im Team zu haben, der bei Google, Amazon oder OpenAI gearbeitet hat und nun sein eigenes Startup gründen möchte.
Midjourney und ChatGPT haben das „Nerd-Thema“ künstliche Intelligenz zum Mainstream gemacht, und selbst Experten tun sich schwer, den Überblick zu behalten.
Es lohnt sich daher, einen Moment innezuhalten und zu reflektieren, wo wir herkommen und was das Neue an dieser Entwicklung ist.
Auch wenn die Informatik erst rund sechzig Jahre als eigene Wissenschaft besteht, liegen ihre Grundlagen in den viel älteren Algorithmen der Mathematik. Der erste mechanische Rechner von Blaise Pascal stammt immerhin aus dem Jahr 1642. Die Informatik hat diese mathematischen Algorithmen zu Computeralgorithmen weiterentwickelt. Mit diesen Algorithmen können bestimmte Probleme sehr zuverlässig und schnell gelöst werden. In diesem Fall hat sich jemand mühsam einen Lösungsweg ausgedacht und diesen im Detail aufgeschrieben. Danach kann ein spezifisches Problem zuverlässig automatisiert gelöst werden.
Als nächstes kamen stochastische Algorithmen, die nicht mehr nur streng den Vorgaben des vorgegebenen Pfades folgen, sondern den Zufall zur Lösungsfindung nutzen. Zu ihnen gehören fortgeschrittene Such- und Optimierungsalgorithmen. Diese Verfahren können viel schwierigere Probleme lösen, auch wenn man sich aufgrund der Zufallskomponente des Erfolgs nicht mehr in jedem Einzelfall sicher sein kann. Diese Klasse von Algorithmen wurde bereits als künstliche Intelligenz bezeichnet. Sie bilden die Grundlage für Schachcomputer und Navigationssysteme.
Der Beruf, solche Algorithmen zu entwickeln und zu implementieren, heißt „Softwareentwickler“, und das Ergebnis seiner Arbeit sind „Programme“.
Etwa seit dreißig Jahren gibt es nennenswerte Fortschritte auf dem Gebiet des maschinellen Lernens. Das Neue daran ist, dass nicht mehr der Mensch im Detail die Regeln vorgibt, mit denen ein spezifisches Problem gelöst wird. Stattdessen überlässt er es dem Computer, selbst die Regeln zur Lösung des Problems zu finden. Der Mensch trainiert den Computer und der Computer lernt. Auch wenn es unterschiedliche Verfahren für maschinelles Lernen gibt, haben sich in den letzten acht Jahren die Methoden des Deep Learnings durchgesetzt. Sie basieren auf mehrstufigen neuronalen Netzen.
Neuronale Netze sind eigentlich nicht neu. Die ersten Konzepte stammen aus den 1950er Jahren. Aber erst seit etwa 2012 sind sie wirklich erfolgreich. Warum? Weil neuronale Netze erst dann komplexe Probleme lösen können, wenn sie sehr groß sind. Und dann benötigen sie unglaublich viel Rechenleistung und sehr viele Trainingsdaten. Erst seit es schnelle Grafikkarten gibt und diese frei programmierbar sind, steht die notwendige Rechenleistung zur Verfügung. Und durch das Internet stehen genügend Trainingsdaten in digitaler Form zur Verfügung. Seit 2015 dominieren daher neuronale Netze das Feld der künstlichen Intelligenz und ermöglichten beeindruckende Durchbrüche in Bereichen wie Spracherkennung und Bildverarbeitung.
Da der Mensch dem Computer jetzt nicht mehr Regeln vorgibt, sondern Daten für das Training aufbereitet, gibt es den neuen Beruf „Data Scientist“ und das neue Arbeitsergebnis des „Modells“.
Der Data Scientist kann nicht mehr nachweisen, dass ein Modell ein spezifisches Problem löst, und erst recht kann er es nicht erklären. Stattdessen kann er Statistiken vorweisen, die eine Wahrscheinlichkeit für die Lösung einer bestimmten Problemklasse aufzeigen.
Die neueste Entwicklung ist die generative künstliche Intelligenz und darin die Subklasse der großen Sprachmodelle. Generative künstliche Intelligenz ist kreativ. Wie sie das erreicht, ist ein Thema für einen eigenen Beitrag.
Damit sind wir bei ChatGPT angekommen. ChatGPT ist ein großes Sprachmodell, und GPT steht für Generative Pre-trained Transformer. Es ist also generativ, es erzeugt Sprache, und es basiert auf der so genannten Transformer-Architektur. Für die Praxis relevanter ist aber das P in GPT, das für Pre-trained steht. Denn ein GPT-Modell braucht kein weiteres Training mehr, um komplexe Probleme zu lösen. Es reicht, das Problem genau genug zu beschreiben, und das GPT-Modell findet selbst einen Weg zur Lösung.
Damit haben wir wieder einen neuen Beruf, nämlich den „Prompt Engineer“, und das neue Arbeitsergebnis, den „Prompt“.
Der Prompt Engineer muss dem Computer keine Regeln zur Lösung eines Problems vorgeben, wie der Softwareentwickler. Er muss dem Computer auch keine Trainingsdaten servieren, damit dieser mittels Trainings einen eigenen Algorithmus für die Problemlösung findet, wie der Data Scientist. Stattdessen muss der Prompt Engineer eine Beschreibung des Problems vorgeben, die das große Sprachmodell versteht: den Prompt. Dazu muss er das zugrunde liegende Modell verstehen und eine geeignete Problembeschreibung vorgeben, die zum Training des Modells passt. In der Praxis ist die Sprache für Prompts in der Regel Englisch, es könnte aber genauso gut Deutsch oder Französisch sein oder eine Mischung daraus, denn die aktuellen großen Sprachmodelle können fließend zwischen den Sprachen wechseln.
Ein leitender Mitarbeiter von Google teilte mir eine interessante Beobachtung mit: Er konnte nicht umhin zu lachen, als er kürzlich feststellte, dass mehr als 75 Prozent seines „Programms“ tatsächlich aus einfachem Englisch bestand und der verbleibende Programmcode eher trivial war. Englisch wird im Silicon Valley zunehmend als „die“ neue Programmiersprache betrachtet.
Das kleine Problem ist nur, dass es quasi unmöglich ist, vorherzusagen, was das Modell genau macht und warum. Denn die Modelle sind Black Boxes, in die wir nicht hineinschauen können. Wir wissen also nicht, wie sie zu ihren Lösungen kommen. Und ihre Kreativität basiert auf der Verwendung von sehr vielen Zufallsvariablen, wodurch sie noch unvorhersehbarer werden. Daraus resultiert eine neue Herausforderung beim praktischen Einsatz. Es reichen keine Tests vor Inbetriebnahme, sondern es ist notwendig, das System laufend zu kontrollieren.
Große Sprachmodelle sind damit ein bisschen wie Menschen. Kreativ, intelligent und dazu fähig, komplexe Probleme zu lösen — aber sie machen auch Fehler, phantasieren manchmal, und bei wichtigen Aufgaben sollte man am besten eine Kontrolle vorsehen.