← Zurück zur Übersicht Forschung, Training pausiert

Eigene Modell-Architektur

Der einzige Teil von NEVIM, der nichts Nützliches produziert. Er beantwortet eine Frage: Kann ich ein Sprachmodell mit einer selbst ausgedachten Struktur bauen?

Die Frage dahinter

Alle anderen Projekte hier benutzen Sprachmodelle. Dieses stellt eine andere Frage: Kann ich eins selbst bauen — nicht ein vorhandenes nachbauen, sondern mit einer Struktur, die ich mir selbst ausgedacht habe?

Das ist der einzige Teil von NEVIM, der nichts Nützliches produziert. Er beantwortet eine Frage. Das reicht mir als Zweck.

Wie es aufgebaut ist

Übliche Sprachmodelle stapeln viele gleichartige Schichten übereinander. Meines hat vierzehn Schichten, aber in jeder liegen acht verschiedene Rechenwege nebeneinander — fünf davon rechnen in unterschiedlichen geometrischen Räumen, drei sind Verfahren anderer Bauart.

Der Kern der Idee: Die Schicht bekommt nicht vorgeschrieben, welchen Weg sie benutzt. Sie gewichtet selbst, wie stark jeder Weg zum Ergebnis beiträgt, und diese Gewichte verschieben sich beim Lernen. Man kann also hinterher nachsehen, welchen Weg das Modell für welche Aufgabe bevorzugt hat.

Übersicht der Modell-Architektur: 14 Schichten, 8 Pfade, Wortschatz 16.000, aufgeteilt in Aufwärmen, Kreuzungen und Abschließen
Der Aufbau in Zahlen. Die vierzehn Schichten sind in drei Abschnitte geteilt: drei zum Aufwärmen, acht in der Mitte, in denen sich die Rechenwege kreuzen, drei zum Abschließen.

Der eigene Wortzerleger

Bevor ein Modell Text lesen kann, muss der Text in Bausteine zerlegt werden. Ich habe die fertigen ausprobiert und wieder verworfen: Sie sind auf Englisch zugeschnitten und zerhacken deutsche Wörter an unsinnigen Stellen — aus Verfassung wurde bei einem so etwas wie „fass" + „ungs". Das Modell muss dann Bruchstücke zusammensetzen, die nie zusammengehört haben.

Also einen eigenen gebaut, mit 16.000 Bausteinen, an deutschem Text gelernt. Gemessen zerlegt er deutschen Text deutlich sparsamer.

Und ein eigenes Trainings-Werkzeug

Das war nicht geplant, wurde aber notwendig. Beim Training will man nicht nur wissen, ob das Modell besser wird, sondern wo. Sonst trainiert man tagelang und merkt am Ende, dass die Hälfte der Schichten gar nichts beigetragen hat.

Das Werkzeug misst deshalb für jede einzelne Schicht getrennt, wie gut sie gerade ist und wie stark sie sich verändert — dazu die Gewichtung der acht Rechenwege, die Auslastung des Rechners, Temperaturen und Tempo.

Die Pfad-Gewichte je Schicht als farbige Balken, daneben ihr Verlauf über die Trainingsdauer
Für jede Schicht die Gewichtung ihrer acht Rechenwege — links der Stand, rechts der Verlauf. Am Anfang sind alle Wege gleich stark; dass sich die Kurven auffächern, heißt: die Schicht hat angefangen, sich zu entscheiden.

Was dabei herauskam

Das Wichtigste zuerst: Die Tiefe wird genutzt. Die Messung zeigt, dass die späteren Schichten messbar besser abschneiden als die frühen — die Schichten arbeiten also nicht alle dasselbe, sondern bauen aufeinander auf. Genau das war die offene Frage, und bei früheren Versuchen war es nicht so.

Rückblickend war die Ursache damals nicht die Bauweise, sondern das Futter: Die Trainingstexte hatten zu einem großen Teil Formatierungsreste aus ihrer Herkunft — Auszeichnungen, Fußnotenmarken, Rubrik-Angaben mitten im Satz. Nach dem Saubermachen waren es 2,2 Millionen brauchbare Textstücke, und die Schichten fingen an, sich zu unterscheiden.

Und was es nicht kann

Reden. Das Modell erzeugt zusammenhängendes deutsches Gemurmel ohne Inhalt — es hat die Form der Sprache gelernt, aber nicht die Welt dahinter.

Das ist keine Enttäuschung, sondern Arithmetik. Für ein Modell, das wirklich antwortet, bräuchte es ein Vielfaches an Text und ein Vielfaches an Rechenzeit — bei diesem Stand ist erst ein kleiner Bruchteil des geplanten Trainings gelaufen. Der Ertrag dieses Projekts ist die Architektur und das Messwerkzeug, nicht das Modell.

Auslastung des Rechners während des Trainings: Prozessor, Grafikeinheit, Speicherbelegung und Temperaturen über die Zeit
Der Rechner während des Trainings, über Stunden aufgezeichnet. Die Grafikeinheit liegt fast durchgehend am Anschlag — die Einbrüche sind die Momente, in denen Zwischenstände weggeschrieben werden.

Wie es weitergeht

Im Moment gar nicht. Dieser Strang ruht zugunsten der Projekte, die im Alltag gebraucht werden. Die Architektur steht, das Messwerkzeug steht, die Trainingsdaten liegen aufbereitet bereit — es fehlt die Rechenzeit, und die brauche ich gerade woanders.