Forscher vom MIT haben etwas ausprobiert, das noch vor Kurzem unsinnig erschien. Sie gaben dem Sprachmodell GPT-6 Astra die rohen Zahlen, aus denen ein anderes neuronales Netz besteht, und fragten es, was dieses Netz kann. In den meisten Fällen erkannte das Modell dies und schaffte sogar noch mehr. Es reparierte ein fehlerhaftes Netz, schrieb von Grund auf Netze zum Spielen von Computerspielen und half einem kleinen Sprachmodell so sehr bei Mathematik, dass dessen Erfolgsquote im Test von knapp acht auf 48 Prozent stieg.
Warum man sich Zahlen ansehen sollte, die niemand versteht
Jedes neuronale Netz ist in Wirklichkeit eine riesige Menge von Zahlen, die als Gewichte bezeichnet werden. Sie bestimmen, wie es auf seine Eingaben reagiert. Bei kleinen Netzen handelt es sich um Zehntausende Zahlen, bei Sprachmodellen um Milliarden. Niemand schreibt sie von Hand, denn sie entstehen beim Training, bei dem ein Algorithmus sie anhand einer riesigen Menge von Beispielen schrittweise anpasst. Ein Mensch kann sie sich zwar ansehen, aber nichts aus ihnen herauslesen. Würde jemand die Aufgabe erhalten, ein Netz zu bauen, das Go spielt, wüsste er nicht, wo er anfangen sollte.
Sprachmodelle haben in den vergangenen Jahren gelernt, Texte, Aufgabenstellungen und sogar ganze Programme zu verbessern. Bei Gewichten hatte dies jedoch noch niemand ernsthaft versucht. Es herrschte die Vorstellung, dass ein Modell, das hauptsächlich aus menschlichen Texten gelernt hat, ebenfalls nicht schaffen könne, was ein Mensch nicht schafft. Das Team vom MIT wollte herausfinden, ob das wirklich stimmt. Astra durfte dabei keine eigenen Trainingsprogramme schreiben. Es musste herausfinden, was der jeweilige Teil des Netzes berechnet oder berechnen soll, und die Zahlen entsprechend direkt verändern. Die Autoren bezeichnen dieses Verfahren als Programmierung im Gewichtsraum.
Rätsel aus einem Haufen Zahlen
Sie trainierten vier gleich große Netze für vier verschiedene Spiele, darunter Pong, Pac-Man und Breakout. Alle hatten dieselben Eingaben, dieselbe Steuerung und dieselbe Anzahl von Gewichten, nämlich mehr als 17.000. Astra erhielt die Zahlen als Text und die Frage, für welches Spiel das Netz trainiert worden war. Die Wissenschaftler verrieten ihm die Auswahlmöglichkeiten nicht, trotzdem nannte es in allen vier Fällen den richtigen Titel. Das ließ sich an der Verteilung der Gewichte erkennen: Bei Breakout konzentrierten sich beispielsweise die mit der Spielfigur verbundenen Gewichte in der untersten Reihe, in der sich der Schläger bewegt.
Im zweiten Versuch ging es um Netze, die Bilder eines Kreises, eines Quadrats und eines Dreiecks erzeugen. Astra durfte das Netz nicht ausführen und erkannte dennoch, welche Form jedes von ihnen zeichnete. Es machte zwar einen Fehler, als es die Formen lediglich als Umrisse beschrieb, obwohl die Netze ausgefüllte Figuren erzeugten. Den Autoren zufolge zeigt aber gerade dies, dass das Modell das Ergebnis nicht berechnete, sondern tatsächlich die Struktur der Gewichte las.
Der dritte Test war schwieriger. Drei kleine Sprachmodelle lernten anhand von Python-Code, in lateinischer Schrift transkribiertem Japanisch und Englisch. Die Wissenschaftler entfernten ihre erste und letzte Schicht, sodass in den Zahlen keine Spur mehr davon übrig blieb, welcher Buchstabe welchem entsprach. Astra bestimmte dennoch bei allen drei Modellen die richtige Sprache. Es fand auch sogenannte kopierende Teile des Netzes, die einen zuvor gesehenen Textabschnitt wiederholen können. Programmcode wiederholt Variablennamen viel häufiger als gewöhnliche Sprache, sodass die große Zahl dieser Teile auf Python hindeutete.
Reparaturen und von Grund auf geschriebene Netze
Dann war die Anpassung der Gewichte an der Reihe. Die Wissenschaftler trainierten ein Netz, das ein kleines Auto vor einer Rampe steuert. Um die Rampe zu überwinden, muss es zunächst ein Stück zurücksetzen und Anlauf nehmen. Das Netz lernte dies jedoch nie und blieb stets auf der Rampe stecken. Astra erhielt die Gewichte, eine Beschreibung der Szene und eine Aufzeichnung einer misslungenen Fahrt. In einem einzigen Versuch und ohne jegliche Werkzeuge veränderte es 3,5 Prozent der Gewichte, woraufhin das Auto alle 1.024 Fahrten erfolgreich absolvierte.
Noch anspruchsvoller war es, Netze vollständig von Grund auf zu schreiben. Für drei einfache Spiele erhielt Astra die Regeln und den Quellcode, aber weder Daten noch die Möglichkeit, das Netz auszuprobieren. Es schrieb die Gewichte direkt als Text. In allen drei Spielen schlug es Netze, die über hundert Millionen Schritte trainiert worden waren. Bei Breakout erzielte es mehr als 500 Punkte, während ein fünfmal länger trainiertes Netz nur etwa 25 erreichte. Es ging wie ein Programmierer vor: In der ersten Schicht berechnete es, wo der Ball landen würde, und die zweite Schicht schickte den Schläger dorthin.
Danach versuchten es die Wissenschaftler mit Go und einem Netz mit eineinhalb Millionen Gewichten, das nicht mehr in den Speicher des Modells passte. Astra arbeitete daher in einer Umgebung, in der es die Gewichte mithilfe von Python bearbeiten konnte. Ohne ein einziges Testspiel schlug es in mehr als der Hälfte der Partien zwei kleinere trainierte Netze. Nachdem es das Netz fünfzigmal ausprobieren durfte, übertraf es ein gleich großes Netz, das anhand von 20 Millionen Spielen gelernt hatte.
Der Schmeichler und Schleifen in der Mathematik
Am meisten interessierte die Wissenschaftler, wie Astra mit echten Sprachmodellen zurechtkommt. Sie erstellten Paare kleiner Gemma-Modelle, wobei jeweils eines in jedem Paar richtig antwortete und das andere stets dem zustimmte, was der Nutzer vorgeschlagen hatte. Anhand der Gewichte allein erkannte Astra den Schmeichler nicht. In allen vier Versuchen fand es zahlreiche Unterschiede, konnte diese aber nicht mit dem Verhalten in Verbindung bringen. Als es jedoch beobachten durfte, auf welches Wort sich die Modelle beim Lesen konzentrierten, entlarvte es den Schmeichler in allen drei Paaren. Dessen interne Teile konzentrierten sich auf die vom Nutzer vorgeschlagene Antwort statt auf die Zahlen in der Aufgabenstellung.
Der letzte Versuch galt dem Qwen-Modell mit 0,8 Milliarden Gewichten, und die Aufgabe klang einfach: Es sollte ohne Training in Mathematik verbessert werden. Astra bemerkte, dass das Modell in Gedankenschleifen stecken blieb, immer wieder denselben Text wiederholte und nicht zur Antwort gelangte. Auch die Entwickler des Modells selbst weisen auf dieses Problem hin. Astra fand heraus, dass die Schleifen durch ein bestimmtes Signal in zwei Schichten verursacht wurden, und entfernte es. Es veränderte lediglich 0,016 Prozent der Gewichte. Die Erfolgsquote im Mathematiktest MATH-500 stieg von knapp acht auf 48 Prozent, im Test mit Textaufgaben GSM8K von 14 auf 67 Prozent. Die Schleifen schadeten auch in anderen Bereichen, sodass sich das Modell beim Befolgen von Anweisungen ebenfalls ungefähr um das Dreifache verbesserte.
Dasselbe Verfahren funktionierte jedoch nicht bei einem kleineren Gemma-Modell, das sich in keinerlei Schleifen verfängt. Seine Fehler waren gewöhnlicher Art: Es addierte falsch oder führte unrichtige Schritte in Gleichungen aus. Astra fand keine Komponente, die sich einfach abschalten ließ, und die Ergebnisse veränderten sich um höchstens einen Punkt. Die Anpassung der Gewichte konnte somit ein Hindernis beseitigen, das die Fähigkeiten des Modells verdeckte, ihm jedoch keine neue Fähigkeit hinzufügen.
Quelle: rikiyat.github.io



