Endlich, das letzte Papier meiner Promotion 🧮 Lernen zu Argumentieren in 13 Parametern 🧮 Wir entwickeln TinyLoRA, eine neue ft-Methode. Mit TinyLoRA + RL lernen Modelle gut mit Dutzenden oder Hunderten von Parametern Beispiel: Wir verwenden nur 13 Parameter, um das 7B Qwen-Modell von 76 auf 91 % auf GSM8K zu trainieren 🤯
Es gibt ein Papier, das ich aus dem Jahr 2018 mag, mit dem Titel "Playing Atari with Six Neurons". Es hat den Präzedenzfall geschaffen, dass RL einige "Programme" lernen kann, die nur sehr wenige Bytes benötigen. Dennoch ist das kleinste Fine-Tuning, das die Leute heutzutage typischerweise durchführen, LoRA mit Rang=1, das immer noch Millionen von Parametern verwendet... 🤔
Der Weg, wie wir hierher gekommen sind, bestand darin, darüber nachzudenken, welche Größe ein "Programm" haben könnte, um LLaMA oder Qwen das Denken beizubringen. 3 Millionen Parameter in bf16 benötigen 6 MB. Das scheint zu groß zu sein? Unsere Theorie: Wenn jede RL-Episode ungefähr 1 Bit überträgt, sollten wir in der Lage sein, z.B. GSM8K mit viel weniger Daten zu kodieren...
und beachten Sie, dass dies *nicht* mit SFT funktioniert. Um den Verlust mit SFT vollständig zu minimieren, müssen Sie alle Ausgabetokens mit 100%iger Sicherheit auswendig lernen. Dies erfordert viele mehr Bits und folglich benötigen wir größere Aktualisierungsgrößen für SFT-Modelle, um eine gute Leistung zu erzielen: (Weitere Informationen dazu in Abschnitt 3)
das ist nicht nur ein Artefakt von GSM8K oder einem bestimmten Modell in allen Datensätzen, die wir ausprobiert haben (MATH, AIME, Minerva...), können wir über 90 % der Leistungsgewinne zurückgewinnen, indem wir Hunderte von Parametern trainieren (außer AMC, das manchmal Tausende erfordert)
Ein lustiges Ingenieurdetail war, dass es wirklich schwierig ist, RL mit verschiedenen LoRA-Formen zu machen, da LLM RL schnelle Inferenz erfordert, was eine Implementierung auf Hardware-Ebene (Kernels) erfordert. Ich habe das umgangen, indem ich einfach die LoRA-Gewichte bei jedem Rollout zusammengeführt und sie dann für das Training wieder getrennt habe. Es ist tatsächlich nicht so langsam. Es gibt einige weitere Details im Papier und ich werde bald den Code teilen.
111