Fortsetzung von hier. Ein Rückblick.
1. Links zu den vergangen Einträgen
- Teil 1: N-Gramme
- Teil 2: Token
- Teil 3: Embedding
- Teil 4: Überblick mit Black Boxen
- Teil 5: Transformer
- Teil 6: Attention
- Teil 7: Rückblick
2. Ziel der Reihe
Ich wollte herausfinden, wie Texterzeugung in einem LLM funktioniert. Auf dem Weg habe ich für mich tatsächlich hinreichend beantwortet, wie ein LLM funktioniert. Was ich leider nicht herausgefunden habe und wohl eigentlich wissen wollte: warum ein LLM funktioniert.
Wie kommt es, dass ein LLM das kann, was es kann? Die Antwort, die ich immer lese, lautet: Scale – Skalierung, Größenordnung. Ab einer bestimmten Größe des LLM und einer bestimmten Größe des Trainingskorpus (wir erinnern uns: das Äquivalent zu 100 Millionen Büchern) funktioniert das einfach. Einfach heißt: nach langem teuren automatischen Training und langem intensiven Training unter menschlicher Anleitung.
Alle weiteren Entwiclungen sind für mich nicht mehr so interessant. Da geht es darum, LLMs noch besser zu machen, oder wenigstens sparsamer, oder auf andere Aufgaben anzuwenden. Das ist wie mit dem Verbrennermotor: Da interessiert mich auch allenfalls das Prinzip und weniger die Entwicklungen der letzten hundert Jahre. Ich könnte auch keinen bauen und habe nur eine ungefähre Vorstellung vom Funktionieren, und so geht es mir jetzt mit LLM.
3. Zusammenfassung
- Ein LLM wird mit dem Äquivalent von 100 Millionen Büchern an Text trainiert. Das Training geschieht erst automatisch, dann durch menschliches Feedback.
- Ein LLM besteht aus 120 Decoder-Schichten.
- Am Anfang wird ein Eingangstext in Token zerlegt, und zwar maxinmal 8.000 bis 128.000 Token.
- Jedes Token wird in einen 10.000-dimensionalen Raum eingebettet, erhält also ein Embedding bestehend 10.000 Zahlen.
- In jeder Decoder-Schicht wird jeder Eingangsvektor in beliebiger Reihenfolge verarbeitet.
- Bei der Verarbeitung werden die 7.999 Nachbartoken ebenfalls berücksichtigt. Wie sehr und wie, das entscheiden der Q- und der V-Vektor des aktuellen Tokens und die 7.999 K-Vektoren der Nachbartoken zusammen. Die werden anhand trainierter Tabellen ausgerechnet. Das ist das eigentliche Kern der Sache.
- Bei dieser Verarbeitung steht ein Neuronales Netz an letzter Stelle.
- Nach der Verarbeitung entsteht wieder für jedes der 8.000 Token ein neuer Vektor der gleichen Größe.
- Die Schritte 5 bis 8 wiederholen sich je Decoder-Schicht.
- Das letzte Embedding des letzten Token wird in ein Neuronales Netz eingegeben, das 100.000 Ausgangsneuronen hat: für jedes Token im Wortschatz eines. Deren Werte heißen Logits.
- Die Logits werden mit Softmax (normalisierte Exponentialfunktion) normalisiert, so dass man 100.000 Werte zwischen 0 und 1 hat, die für jedes Token im Wortschatz eine Wahrscheinlichkeit angeben.
- Ein Algorithmus wählt aus diesen Werten ein Token aus, das das nächste generierte Token bildet.
- Der Prozess beginnt von vorn.
Die Zahlen sind gerundet und geschätzt und gehen je nach Modell auch mal um den Faktoren zehn oder mehr nach unten, sind aktuell aber an der Obergrenze.
4. Erfahrungen beim Schreiben
Das war lustig. Ich hatte gedanklich immer nur einen oder eineinhalb Blogeinträge gedanklichen Vorsprung beim Schreiben, das heißt, ich wusste nach den ersten beiden noch nicht wirklich, was im vierten stehen würde, und im dritten waren mir Sachen unklar, die ich hoffte, beim fünften vielleicht verstehen zu würden. Aber den Vorsprung hielt ich auch, ich löschte jedesmal ein paar offene Tabs aus dem Browser, weil ich Seiten jetzt durchgearbeitet und verstanden hatte, die ich zuvor als: „Da scheint das erklärt zu werden, aber ich verstehe kein Wort“ reserviert hatte. Dafür kamen immer wieder neue Tabs dazu.
Jetzt könnte ich das vermutlich auch in einem Blogeintrag erklären. Aber vorher wäre das halt nicht gegangen. Ich hätte natürlich auch ein Buch lesen können. Da gibt es sicher auch etwas für Dummies; ich bin ja kein Mathematiker, insbesondere bin ich die kompakte mathematische Formulierung nicht gewohnt und muss mir alles immer erst veranschaulichen.
(Es ist doch alles zu technisch geworden, nicht wahr? Aber schon viel weniger technisch als die echt technischen Artikel, wirklich. Ab jetzt dann wieder Alltagscontent.)
Schreibe einen Kommentar