No Subspace to Track: Non-Identifiability and Optimizer State in Low-Rank Training
Dieses Paper demonstriert, dass der als durch speichereffiziente Optimierer wie GaLore verfolgbar angenommene niedrigdimensionale Gradienten-Subraum aufgrund hoher Schätzer-Rauschanteile fundamental nicht identifizierbar ist, was offenbart, dass die Leistungssteigerungen stattdessen aus dem korrekten Transport des Optimierer-Zustands über Subraum-Aktualisierungen hinweg resultieren, anstatt aus der Stabilität des Subraums.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Die Kernidee: Einem Geist nachjagen
Stellen Sie sich vor, Sie versuchen, einem riesigen Roboter (einem Large Language Model) das Sprechen beizubringen. Um dies effizient zu tun, nutzt der Roboter einen speziellen Trick namens GaLore.
Der Trick funktioniert so: Alle paar Minuten schaut der Roboter auf die „Fehler“, die er gerade gemacht hat (die Gradienten), und versucht, die obersten 128 Richtungen zu finden, in denen diese Fehler auftreten. Er ignoriert dann alles andere und lernt nur in diesen 128 Richtungen. Die Annahme ist, dass diese 128 Richtungen wie ein langsam fließender Fluss sind; sie driften ein wenig, aber sie bleiben weitgehend gleich, sodass der Roboter sie „verfolgen“ kann.
Die wichtigste Entdeckung der Arbeit ist schockierend: Der Fluss fließt nicht langsam. Es ist nicht einmal ein Fluss. Es ist ein Wasserfall, der seine Form jedes Mal komplett verändert, wenn man hinsieht.
Die Autoren beweisen, dass jenseits eines winzigen Kerns von etwa 39 Richtungen die „obersten 128 Richtungen“, die der Roboter wählt, im Wesentlichen aus zufälligem Rauschen bestehen. Wenn der Roboter jetzt einen Satz von Richtungen wählt und 10 Sekunden später einen anderen Satz wählt, werden die beiden Sätze fast völlig unterschiedlich sein (wie zwei Personen, die 128 Zufallszahlen aus einem Hut ziehen und fast keine Übereinstimmungen haben).
Warum funktioniert GaLore dann überhaupt?
Sie könnten fragen: „Wenn die Richtungen sich ständig zufällig ändern, warum lernt der Roboter dann trotzdem?“
Die Arbeit erklärt, dass GaLore nicht deshalb funktioniert, weil es einen spezifischen Pfad verfolgt, sondern weil es Energie einfängt.
- Die Analogie: Stellen Sie sich vor, Sie versuchen, Regen in einem Eimer aufzufangen. Sie müssen nicht genau wissen, wo jeder einzelne Tropfen fallen wird. Sie müssen nur den Eimer im allgemeinen Bereich halten, in dem der Regen fällt.
- Obwohl sich die „obersten 128 Richtungen“ jedes Mal komplett ändern, fangen sie dennoch etwa 67–73 % der gesamten „Energie“ (der nützlichen Information) der Fehler ein. So lernt der Roboter weiter, auch wenn er ständig seine Karte wechselt.
Warum das Mitteln nicht hilft
Eine natürliche Idee, um das Problem der „wechselnden Karte“ zu lösen, ist: „Lassen Sie uns einfach die letzten 10.000 Karten ansehen und sie mitteln, um eine stabile Karte zu erhalten.“
Die Autoren haben dies getestet und festgestellt, dass es nicht funktioniert.
- Die Analogie: Stellen Sie sich vor, der Regen ist nicht einfach nur zufälliges Rauschen, sondern ein spezifisches Muster aus Wind und Wolken (ein Signal). Wenn Sie den Regen über die Zeit mitteln, erhalten Sie kein klares Bild davon, wo der Regen ist; Sie erhalten nur ein verschwommenes Durcheinander.
- Das „Rauschen“ in den Fehlern des Roboters ist nicht nur statisches Rauschen; es ist ein komplexes Signal, das sehr langsam schrumpft, wenn man versucht, es herauszumitteln. Egal wie viel man mittelt, man kann niemals eine stabile „Top-128“-Liste erstellen, da die Liste in einer stabilen Form gar nicht wirklich existiert.
Das wahre Problem: Das Gedächtnis des Roboters
Das eigentliche Problem ist nicht die Karte, sondern das Gedächtnis des Roboters.
Der Robot verwendet einen Optimierer namens Adam, der ein Langzeitgedächtnis besitzt (er erinnert sich an Fehler der letzten 1.000 Schritte).
- Das Problem: Jedes Mal, wenn der Roboter seine Karte aktualisiert (alle 160 Schritte), rotiert die Karte um 90 Grad. Aber das Gedächtnis des Roboters zeigt immer noch auf die alte Karte. Es ist, als würde man ein Auto fahren, bei dem sich das Lenkrad plötzlich um 90 Grad dreht, aber die Hände befinden sich noch in der alten Position am Lenkrad. Der Roboter versucht, basierend auf einer Karte zu steuern, die nicht mehr existiert.
Die in der Arbeit gefundenen Lösungen
Die Autoren testeten zwei Wege, um dieses „Lenkrad-Problem“ zu lösen:
- Das Gedächtnis rotieren (Transport): Anstatt das Gedächtnis in der alten Position zu lassen, sollte der Roboter sein Gedächtnis physisch rotieren, um zur neuen Karte zu passen.
- Ergebnis: Dies funktioniert sehr gut. Es ist, als würde man erkennen, dass sich das Lenkrad gedreht hat, und sofort die Hände so bewegen, dass sie wieder passen.
- Das Gedächtnis verkürzen: Das Gedächtnis des Roboters ist zu lang (er erinnert sich 1.000 Schritte zurück). Da sich die Karte alle 160 Schritte ändert, ist es nutzlos, 1.000 Schritte zurückzublicken, da diese alten Schritte aus einer völlig anderen Welt stammen.
- Ergebnis: Indem man dem Roboter sagt, dass er sich nur an die letzten 100 Schritte erinnern soll (statt an 1.000), hört er auf, basierend auf veralteten Karten zu steuern. Auch dies funktioniert gut.
Das Fazit für Entwickler
Wenn Sie ein System bauen, das diese Low-Rank-Tricks verwendet, hier ist der Rat aus der Arbeit:
- Versuchen Sie nicht, den Subraum zu verfolgen. Er ist ein Geist. Er ändert sich zu schnell, um verfolgt werden zu können.
- Überprüfen Sie Ihren „reproduzierbaren Rang“ (). Bevor Sie einem Rang von 128 vertrauen, prüfen Sie, wie viele Richtungen tatsächlich real sind. Die Arbeit fand heraus, dass nur etwa 39 real sind; der Rest ist Rauschen.
- Wenn Sie einen Rang verwenden, der höher als die reale Zahl ist:
- Rotieren Sie Ihr Gedächtnis: Stellen Sie sicher, dass sich das Gedächtnis Ihres Optimierers mit der neuen Karte mitbewegt.
- Verkürzen Sie Ihr Gedächtnis: Lassen Sie den Roboter nicht zu weit in die Vergangenheit blicken.
- Hören Sie mit dem Mitteln auf: Verschwenden Sie keine Zeit damit, die Karten zu mitteln, um sie stabil zu machen; das wird nicht funktionieren.
Kurz gesagt: Der „Low-Rank-Subraum“ ist kein stabiles Objekt, dem man folgen kann. Er ist eine sich schnell verändernde Wolke. Der Trick, um diese Systeme zum Laufen zu bringen, besteht nicht darin, der Wolke besser zu folgen, sondern darin, aufzuhören, ihr zu folgen, und stattdin das Gedächtnis anzupassen, um mit den ständigen Veränderungen umzugehen.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.