1. Videos über ChatGPT

Der beste Weg, das Innenleben von ChatGPT zu verstehen, den wir im Internet gefunden haben, ist dieses Video von Andrej Karpathy, dem ehemaligen Leiter von Tesla Autopilot. Er erklärt ausführlich, wie man in Python einen generativen GPT-Bot für Shakespeare-ähnliche Texte schreibt.

 Let's build GPT: from scratch, in code, spelled out.

 

Um die Schlüsselkomponente der GPT-Pipeline, den Transformator, zu verstehen, empfehlen wir diese Lektion von Pascal Poupart an der University of Waterloo. Das Video erklärt ausführlich, wie die Transformatorkomponente funktioniert und welche Eigenschaften sie hat.

CS480/680 Lecture 19: Attention and Transformer Networks

2. ChatGPT in der wissenschaftlichen Literatur

Es gibt immer noch kein gutes Buch zu ChatGPT. Der beste Weg, mehr darüber zu erfahren, ist, diese Sammlung wissenschaftlicher Arbeiten in chronologischer Reihenfolge durchzulesen:

1. Bengio et al, 2003, A Neural Probabilistic Language Model
Es zeigt eine gemeinsame Matrix C über den Eingabe-Tokens, um die Tokens in einem etwa 30-dimensionalen Raum ähnlich wie bei word2vec zu projizieren. Dann erfolgt eine Berechnung mit einem Feed-Forward-Vektor und einer Softmax-Schicht, die die Wahrscheinlichkeit für den nächsten Token berechnet, der über einen Multinomialverteilungs-Stichprobenprozess ausgewählt wird.

2. Bengio et al, 2015, Neural machine translation by jointly learning to align and translate
Es verfügt über einen rekursiven neuronalen Netzwerk-Encoder-Decoder zur Übersetzung von einer Sprache in eine andere.

3. OpenAI Team, 2017, Attention is all you need
Es ersetzt das rekursive neuronale Netzwerk von [2] durch eine neue neuronale Netzwerkkomponente namens Transformer. Es beschreibt im Detail den Aufmerksamkeitsprozess, wie er parallel zur Mehrkopfaufmerksamkeit durchgeführt werden kann und die Notwendigkeit, den Aufmerksamkeitsmechanismus auf dem Decoderteil zu maskieren, damit Informationen von vorherigen Token nur zu den nächsten Token fließen und nicht umgekehrt . Es beschreibt, wie den Token Positionseinbettungen überlagert werden.

4. Alec Redford and OpenAI Team, 2018, Improving language understanding by Generative Pre Training
Der Encoder-Teil von [3] wird weggelassen, um von einem Modell, das Übersetzungen durchführt, zu einem Modell zu gelangen, das die Wahrscheinlichkeit für das nächste Token generiert. GPT-1 ist geboren. Es handelt sich um einen 12-Schicht-Decoder mit 12 maskierten Selbstaufmerksamkeitsköpfen mit 768 Dimensionen. Es verfügt über 117 Millionen Parameter. Es führt das Konzept der überwachten Feinabstimmung ein, um das Netzwerk an Aufgaben wie Inferenz natürlicher Sprache, Beantwortung von Fragen, semantische Ähnlichkeit und Klassifizierung anzupassen.

5. Alec Redford and OpenAI Team, 2019, Language Models are Unsupervised Multitask Learners
In diesem Dokument wird GPT-2 vorgestellt und seine Fähigkeiten aufgezeigt. Es verfügt über 1,5 Milliarden Parameter. Es ist zu beobachten, dass große Netzwerke die in [4] beschriebenen Aufgaben besser bewältigen können.

6. OpenAI Team, July 2020, Language Models are Few Shot Learners
In diesem Artikel wird die Entwicklung von GPT-2 zu GPT-3 beschrieben, das nun über 175 Milliarden Parameter verfügt. 96 Schichten mit 96 Köpfen und einer Kopfdimensionalität von 128 ergeben das, was wir als ChatGPT kennen und derzeit unter https://chat.openai.com/ verfügbar sind.

GPT3 hat ein Kontextfenster von 2048 Token (~ 1500 Wörter). Mit GPT-3.5 wurde das Kontextfenster auf 4096 (3000 Wörter englischer Text) erhöht.

Die gesamten Training-Operationen zur Berechnung der Modellparameter werden mit 3,14E23 Flops angegeben. Ausgehend von dieser Zahl und unter der Annahme von 10 Teraflops-GPUs schätzen wir, dass das Training von GPT-3 einen Cluster von etwa 4.000 GPUs erforderte, die drei Monate lang Vollzeit berechneten. Es führt auch das Konzept ein, dass sich das Modell besser verhält, wenn dem Modell 1–3 Beispiele (Aufnahmen) als Kontext gegeben werden.

7. OpenAI Team, 2023, GPT-4 Technical Report
GPT-4 hat das Kontextfenster auf 8192 Token erhöht und bietet die Möglichkeit, Bilder als Eingabe zu empfangen. Das Papier beschreibt, was das Modell leisten kann und wie es sich bei mehreren gängigen Tests verhält, gibt jedoch keine Zahlen zur Modellgröße oder zur für die Berechnung erforderlichen Trainingszeit bekannt.

8. Eine weitere coole Quelle, um mehr über ChatGPT zu erfahren, ist: Fragen Sie einfach ChatGPT 3.5 nach der Funktionsweise! Für die Anmeldung ist ein Google-Konto erforderlich, das jedoch kostenlos ist. Fragen Sie am besten nach „komplexen Chatbots“, da die Verwendung von „ChatGPT“ in der Frage eine Art Standardantwort auslöst.

3. ChatGPT auf dem eigenen Rechner lokal ausführen

Das beste Open-Source-Projekt, dem man folgen sollte, ist GPT4All. Es handelt sich um einen vollständigen Chatbot, der lokal auf Ihrem Computer läuft und bei dem Sie zwischen verschiedenen Modellen zwischen 4 und 13 Milliarden Parametern wählen können. Für die größeren Modelle mit 13 Milliarden Parametern sind 16 GB RAM erforderlich. Kleinere, aber schnellere Modelle bei der Generierung von Antworten mit 7 Milliarden Parametern benötigen nur 8 GB RAM. Es gibt Installer für Windows, Linux und Mac OS X. Jede Woche gibt es Updates zur Software bzw. zu den verfügbaren Modellen.

GPT4All herunterladen...

 

4. Aufkommendes Verhalten

Hier haben wir ChatGPT 3.5, online verfügbar von OpenAI, nach einer netten Funktion von Chatbots gefragt: Sie können beispielsweise in Sprachen übersetzen, die sie nicht gelernt haben, oder sie können Quellcode in mehreren Computersprachen erstellen:

Benutzer> Was ist die Definition von „aufkommendes Verhalten“, einem Phänomen, das wir in komplexen Chatbots beobachten?

ChatGPT 3.5> "Emergent behavior" (aufkommendes Verhalten) bezieht sich auf ein Phänomen, bei dem in komplexen Systemen Verhaltensweisen entstehen, die nicht explizit programmiert wurden, sondern aufgrund der Interaktion der einzelnen Komponenten oder Elemente des Systems auftreten. Bei Chatbots kann aufkommendes Verhalten beobachtet werden, wenn der Chatbot auf eine Art und Weise interagiert oder reagiert, die nicht direkt in seinem Programmcode festgelegt ist.

Chatbots, die auf künstlicher Intelligenz basieren, wie zum Beispiel neuronale Netzwerke oder maschinelle Lernalgorithmen, können aufkommendes Verhalten zeigen. Sie lernen aus großen Mengen von Daten und entwickeln dadurch ein Verständnis für die Sprache und die Kontexte, in denen sie eingesetzt werden. Dadurch können sie manchmal unvorhersehbare oder überraschende Antworten generieren, die nicht genau vorhersehbar sind.

Aufkommendes Verhalten kann positiv sein, wenn der Chatbot auf innovative Weise auf Anfragen reagiert und dem Benutzer nützliche Informationen bietet. Es kann aber auch negative Auswirkungen haben, wenn der Chatbot beispielsweise auf unerwünschte Weise reagiert oder unangemessene Antworten gibt.

Insgesamt ist aufkommendes Verhalten ein interessantes Phänomen, das in der Entwicklung von Chatbots auftreten kann und oft mit der Komplexität und dem Lernprozess der zugrunde liegenden künstlichen Intelligenz verbunden ist.

5. Größe von GPT 3-5 im Vergleich zur menschlichen Gehirngröße

Aus der wissenschaftlichen Arbeit über GPT-3 wissen wir mit Sicherheit, dass die Anzahl der Parameter in GPT 3-5 etwa 175 Milliarden beträgt. Die Anzahl der Parameter in einem künstlichen neuronalen Netzwerk ist die Anzahl der mathematischen Neuronen (jedes Neuron hat einen Bias-Parameter) plus die Anzahl der Verbindungen zwischen Neuronen (die Gewichte in den W-Matrizen). Wenn wir davon ausgehen, dass die Dimensionalität des Modells (d=12'288 für GPT 3.5 [6]) die durchschnittliche Anzahl von Verbindungen zwischen Neuronen ist, können wir durch Lösen dieser einfachen Gleichung x + 12288x = 175E9 spekulieren, dass GPT 3- 5 hat also x=14,2 Millionen mathematische Neuronen.

Lassen Sie uns nun mutig sein und dafür plädieren, dass ein mathematisches Neuron genauso leistungsfähig sein könnte wie ein biologisches Neuron, was bisher niemand weiß. Wir gehen hier davon aus, dass sie zumindest ähnliche Aufgaben zu erfüllen scheinen.

Das menschliche Gehirn hat laut Wikipedia etwa 86 Milliarden Neuronen und jedes Neuron hat mindestens 10.000 und bis zu 100.000 Synapsen, die Verbindungen zwischen Neuronen darstellen. Seien wir noch einmal mutig und gehen davon aus, dass 12.000 nahe an der durchschnittlichen Anzahl der Synapsen des Gehirns liegt und die GPT 3-5-Neuronen mit 12.288 Verbindungen auch hinsichtlich der durchschnittlichen Anzahl an Verbindungen mit den Neuronen des menschlichen Gehirns vergleichbar sind, da die Dimensionalität der GPT-Pipeline die Anzahl der Verbindungen zwischen GPT-Neuronen ist.

Nach all diesen Annahmen können wir die Anzahl der mathematischen Neuronen in GPT 3-5 (14.2E6) und die Anzahl der biologischen Neuronen im menschlichen Gehirn direkt vergleichen. Wenn wir das Verhältnis der beiden Zahlen berechnen, sehen wir, dass GPT-3.5 etwa 6.000 Mal kleiner ist als das menschliche Gehirn.

Lassen Sie uns weiter spekulieren, dass sich die Anzahl der mathematischen Neuronen in großen Sprachmodellen wie GPT 3-5 jedes Jahr durch Fortschritte in der Hardware und Software verdoppeln kann und dass die Neuronen in angemessener Zeit trainiert werden können, beispielsweise immer unter dem Jahr, in dem die Es kommt zu einer Verdoppelung der Neuronen. In einem solchen Szenario sollten wir spätestens in 13 Jahren in der Lage sein, ein künstliches Gehirn in der Größe des menschlichen Gehirns zu bekommen (log_2(6000) = 12,55).