Wie es anfing
Eine Regel kann vielen Fakten dienen
Ich will herausfinden, wie weit sich ein kleines offenes Modell in Richtung des Niveaus der Spitzenmodelle bringen lässt, indem man seine Gewichte direkt bearbeitet und neue Teile einsetzt, ohne einen aufwendigen Trainingslauf. Training ist der übliche Weg. Man schickt Milliarden von Fragen und Antworten durch ein Modell, und der Gradientenabstieg findet die Regeln von selbst heraus. Wir können ein Modell aber auch öffnen, mitten in einer Aufgabe auslesen, was es enthält, und das verändern. Lassen sich also manche dieser Regeln von Hand hineinschreiben?
Meine Arbeitstheorie ist, dass viel Denken auf Regelsätzen beruht, bei denen eine Regel vielen Fakten dient. Das Übertragen der Eins ist der einfachste Fall. Niemand lernt jede Summe auswendig, weil eine einzige Übertragsregel alle abdeckt, an jeder Ziffernstelle. In meinen Notizen habe ich es so formuliert:
Vielleicht würde eine Regel aus einem Fakt mit der Regel für einen anderen zusammenfallen.
Fakten sind für ein kleines Modell teuer zu speichern, Regeln sind billig. Der erste Multiplikationsschaltkreis in diesem Bericht ist für jede Aufgabe von 2 × 10 bis 9 × 99 gebaut und hat 25,270 Gewichte.
Dieselben Gespräche brachten eine zweite Idee hervor, die zur ersten passt: ein Lern-Regelsatz, um sich etwas Neues anzueignen, neben Logikregeln, um anzuwenden, was man schon weiß. In diesem Bericht geht es um die Logikseite.
Was das Modell schon hat
Die Ziffern sind schon da
Bevor wir irgendetwas gebaut haben, haben wir uns angesehen, was SmolLM2 in dem Moment enthält, in dem es anfängt, eine Antwort zu schreiben. Eine lineare Auslesung seines verborgenen Zustands an der Antwortposition, angepasst mit der Methode der kleinsten Quadrate, holt die Ziffern beider Zahlen fast perfekt heraus. Für dreistellige Addition reichte eine Schicht nicht, aber wenn man die Schichten 14, 20 und 21 verbindet, wird auf neuen Aufgaben jede Ziffer zu 99% richtig ausgelesen.
Dreistellige Addition. Anteil neuer Aufgaben, bei denen eine lineare Auslesung alle sechs Ziffern der beiden Zahlen richtig erfasst, erst Schicht für Schicht ausgelesen, dann die Schichten 14, 20 und 21 verbunden. Jede Auslesung wird auf 1,500 Aufgaben angepasst.
76.6% Beste einzelne Schicht, Schicht 21
11.8% Letzte Schicht, Schicht 29
97.9% Schichten 14, 20 und 21 verbunden, und 99.2%, wenn diese Auslesung auf 3,000 Aufgaben angepasst wird
Alle 30 Schichten als Tabelle
| Schicht | Alle sechs Ziffern richtig |
|---|---|
| 0 | 0.0% |
| 1 | 4.3% |
| 2 | 26.0% |
| 3 | 50.1% |
| 4 | 52.2% |
| 5 | 47.1% |
| 6 | 31.4% |
| 7 | 20.4% |
| 8 | 18.8% |
| 9 | 18.2% |
| 10 | 27.1% |
| 11 | 27.9% |
| 12 | 39.1% |
| 13 | 47.2% |
| 14 | 74.8% |
| 15 | 70.1% |
| 16 | 64.0% |
| 17 | 63.0% |
| 18 | 64.2% |
| 19 | 63.5% |
| 20 | 72.9% |
| 21 | 76.6% |
| 22 | 71.5% |
| 23 | 62.9% |
| 24 | 48.8% |
| 25 | 30.5% |
| 26 | 19.0% |
| 27 | 13.9% |
| 28 | 11.7% |
| 29 | 11.8% |
Das Modell hat die Frage also gelesen. Was es nicht zuverlässig kann, ist, die Ziffern zu verknüpfen: der Übertrag, das Borgen, das Einmaleins. Diesen Schritt des Verknüpfens liefern wir.
Wie ein Implantat funktioniert
Vier Teile, keiner per Gradientenabstieg trainiert
- AuslesenEine lineare Auslesung für jede Ziffer der beiden Zahlen, aus dem eigenen verborgenen Zustand des Modells.
- RegelnEine kleine Nachschlagetabelle für jede Ziffer der Antwort. Die Einerziffer ergibt sich aus den beiden Einerziffern, die Zehnerziffer aus den Zehnerziffern plus dem Übertrag, und so weiter nach oben.
- SchreibenEin Anstoß in Richtung des richtigen Ziffern-Tokens in der letzten Schicht des Modells. Das Modell schreibt seine Antwort weiterhin selbst. Das Implantat gibt nur den Ausschlag, welche Ziffer als Nächstes kommt.
- SchalterZwei angepasste Schalter entscheiden, wann das Implantat aktiv ist. Sie sind so angepasst, dass sie nur auslösen, während das Modell die Antwort auf diese Art von Aufgabe schreibt, und bei anderer Mathematik, Textaufgaben, Code und normalem Text aus bleiben.
Die Auslesungen und Schalter werden mit kleinsten Quadraten in geschlossener Form angepasst, und die Regeltabellen schreibt ein Programm aus (beim ersten Multiplikationsimplantat geschah das von Hand). Die Datei des Basismodells wird nie angefasst. Jedes Implantat kommt daneben hinzu.
Wie es gewachsen ist
Von einem Implantat zur Pipeline
- Neuronen-ImplantatDer erste Versuch fügte der letzten Schicht 24 neue Neuronen hinzu, die den Übertrag für zweistellige Addition liefern sollten. Auf versiegelten Aufgaben hielt das stand, +19.7 Punkte. Es funktionierte, indem es die eigene Arithmetik des Modells anstupste, also war der nächste Schritt, das Rechnen gleich selbst zu übernehmen.
- Von Hand verdrahteter SchaltkreisFür die Multiplikation haben wir die Regeltabellen von Hand geschrieben und sie mit den Ziffernauslesungen des Modells selbst gefüttert. Die erste Version erreichte auf versiegelten, zurückgehaltenen Aufgaben 83.5%, gegenüber 21.3% vorher. Eine zweite Version mit besseren Schaltern erreichte 83.1%, und ihre schlechteste Veränderung bei anderer Mathematik lag bei −0.75 Punkten.
- Regeln, von einem Programm gefundenEin Programm zum Finden von Regeln bekam 340 gelöste Aufgaben als Ziffern und Antworten. Für jede Ziffer der Antwort suchte es die kleinste Menge an Eingaben, die sie bestimmt. Es fand selbstständig den Übertrag bei der Addition, das Borgen bei der Subtraktion und die Übertragskette bei der Multiplikation. Außerdem fand es heraus, dass die Zehnerziffer die Einerregel ist, angewendet auf die Zehnerziffern, plus ein Übertragsschritt: eine Regel, die mehreren Ziffern dient, also die Idee, mit der das hier anfing. Sein Multiplikationsschaltkreis erreichte auf zurückgehaltenen Aufgaben 82.7%, bis auf einen halben Punkt am von Hand verdrahteten dran.
- Gleiche Pipeline, neue FertigkeitenSubtraktion und zweistellige Addition liefen durch dasselbe Skript, mit Einstellungen, die von der Multiplikation übernommen wurden, und ohne Abstimmung. Dreistellige Addition brauchte drei Korrekturen, jede davon getestet, bevor ihr zurückgehaltener Satz geöffnet wurde: die Auslesung aus drei verbundenen Schichten, ein zweiter Schalter und eine eigene Stärke des Anstoßes für jede Ziffernstelle.
Warum es klappte
Warum das Programm die Regeln finden konnte
Die Regeln kamen nicht vom Modell. Ein separates Programm hat sie gefunden, außerhalb des Modells, aus 340 gelösten Beispielen. Das Modell liefert die Zahlen, die das Implantat aus seinem verborgenen Zustand ausliest. Vier Dinge haben das möglich gemacht.
- Aufgaben in Ziffern zerlegenAls ganze Zahlen ist 7 × 48 = 336 eine Tatsache unter 720 möglichen Aufgaben. In Ziffern zerlegt zeigt sich ein Muster: Die letzte Ziffer der Antwort hängt nur von der 7 und der 8 ab. Das war die wichtigste Entscheidung, und sie passt zu SmolLM2, das jede Ziffer als eigenes Token speichert.
- Nach der einfachsten Erklärung fragenFür jede Antwortziffer sucht das Programm die kleinste Menge von Eingabeziffern, die sie immer festlegt, und behält eine Regel nur, wenn sie für jedes Beispiel gilt. Eine Regel, die an zwei Ziffern hängt, hat etwa 100 mögliche Einträge, und 340 Beispiele füllen fast alle davon. Darum funktioniert sie bei neuen Aufgaben, die dieselben Paare wiederverwenden. Auswendiglernen hieße, an jeder Eingabeziffer anzusetzen, mit weit mehr Kombinationen, als 340 Beispiele abdecken können.
- Schon Gefundenes wiederverwendenFür die nächsthöhere Ziffer probiert es die Einer-Regel noch einmal und prüft, ob ein zusätzliches Signal den Rest erklärt. Dieses Signal stellte sich als der Übertrag heraus. Niemand hat dem Programm das Wort genannt; es fand die Variable, weil die Daten eine brauchten. Derselbe Schritt für die Hunderterziffer ergibt die Übertragskette.
- An ungesehenen Aufgaben prüfenDie Regeln wurden an Aufgaben getestet, die sie noch nicht kannten, und dann in Nachschlagetabellen im Implantat übersetzt.
Gradiententraining hat keinen eingebauten Zug zur einfachsten Erklärung, und mit wenigen Beispielen hat es auswendig gelernt. Bei der Multiplikation erreichte das gleich große Gradienten-Implantat 72.7% auf seinen eigenen Trainingsaufgaben und 25.1% auf den 140 Dev-Aufgaben. Der Schaltkreis erreichte 94.7% auf den Aufgaben, aus denen er gebaut wurde, und 88.7% auf denselben Dev-Aufgaben.
Die Zerlegung in Ziffern haben wir vorgegeben, und das Programm findet Regeln darin. Der nächste Schritt zu Fähigkeiten jenseits der Arithmetik ist ein Programm, das auch selbst die richtige Art findet, eine Aufgabe zu zerlegen.
Ergebnisse
Fünf Fertigkeiten, auf Aufgaben, an denen nichts abgestimmt wurde
Die zurückgehaltenen Aufgaben jeder Fertigkeit wurden beiseitegelegt, bevor irgendetwas gebaut wurde, und an ihnen wurde nichts abgestimmt. Jedes Ergebnis beruht auf zwei Seeds und vier Durchläufen pro Aufgabe, mit denselben Sampling-Einstellungen für das Modell allein und mit Implantat. Der Multiplikationssatz wurde einmal für die erste von Hand verdrahtete Version geöffnet, dann noch einmal für die letzten beiden.
Anteil der Aufgaben, die exakt richtig beantwortet wurden. 140 Aufgaben für die Multiplikation, 500 für die übrigen.
- SmolLM2 allein
- Mit Implantat
- Gleiches Implantat, Verdrahtung verwürfelt
| Fertigkeit | Aufgaben | SmolLM2 allein | Mit Implantat | Zuwachs, Punkte (95%-Untergrenze) | Verwürfelte Verdrahtung | Zusätzliche Gewichte |
|---|---|---|---|---|---|---|
| Multiplikation, Regeln von Hand verdrahtet7 × 48 | 140 | 21.3% | 83.1% | +61.8 (+56.1) | 2.4% | 25,2700.019% |
| Multiplikation, Regeln von einem Programm gefunden7 × 48 | 140 | 21.3% | 82.7% | +61.3 (+55.5) | 6.3% | 32,5190.024% |
| Subtraktion, zweistellig83 − 27 | 500 | 11.3% | 68.3% | +57.1 (+54.0) | 7.8% | 32,4460.024% |
| Addition, zweistellig38 + 47 | 500 | 49.7% | 86.5% | +36.8 (+33.8) | 16.7% | 32,4760.024% |
| Addition, dreistellig347 + 285 | 500 | 26.1% | 83.7% | +57.6 (+54.6) | 21.4% | 121,1980.090% |
- Kein ursprüngliches Gewicht wurde verändert, und es gab kein Gradiententraining. Jedes Implantat fügt 25,270 bis 121,198 Gewichte hinzu, 0.019% bis 0.090% des Modells. Die Obergrenze, die wir uns selbst gesetzt hatten, lag bei 0.1%.
- Die verwürfelte Kontrolle ist dasselbe Implantat mit durchgemischter Verdrahtung. Sie lag bei jeder Fertigkeit gleichauf mit dem Modell allein oder darunter, bei 2.4% bis 21.4%. Die zusätzlichen Gewichte bewirken ohne die richtigen Regeln also nichts.
- Die drei zweistelligen Implantate (Multiplikation, Subtraktion und Addition) laufen auch zusammen in einem Modell, insgesamt 92,496 Gewichte. Jedes behielt seinen Zuwachs auf den Dev-Aufgaben. Die schlechteste Veränderung bei anderer Mathematik lag bei −0.25 Punkten, und 200 von 200 themenfremden Prompts lieferten dieselbe Antwort wie vorher.
Die Zuwächse sind pro Aufgabe gepaart, mit einer einseitigen 95%-Bootstrap-Untergrenze. Die Prüfung auf Nebenwirkungen umfasst acht weitere Sätze mit Rechen- und Textaufgaben, dazu GSM8K und Code. Die themenfremden Prompts sind 200 IFEval-Prompts, greedy beantwortet. Die Regeln und Vorhersagen für jeden Lauf wurden aufgeschrieben, bevor sein Ergebnis vorlag.
Gegen Gradiententraining
Drei direkte Vergleiche
Gradiententraining ist der Standardweg, eine Fertigkeit hinzuzufügen, also haben wir es als Konkurrenten antreten lassen. Jedes Gradienten-Implantat wurde vor seinem Test über ein Raster von Einstellungen abgestimmt.
140 Aufgaben, 2 Seeds, je 4 Durchläufe. Der erste von Hand verdrahtete Schaltkreis gegen zwei abgestimmte, per Gradient trainierte Implantate.
Der Schaltkreis lag 57.9 und 59.8 Punkte vorn.
140 Dev-Aufgaben, 2 Seeds, je 4 Durchläufe. LoRA nutzte die beste Einstellung aus einer Rastersuche.
49.3 Punkte vorn, mit einer 95%-Untergrenze von +42.8, bei weniger als einem Viertel der Gewichte.
500 Dev-Aufgaben, 2 Seeds, je 4 Durchläufe. Die Einstellungen des Schaltkreises wurden von der Multiplikation übernommen, ohne Abstimmung.
Gleichstand mit einem Gradienten-Implantat, das viermal so groß ist, und etwa 17 Punkte vor dem mit 14 Neuronen.
Die Subtraktionsregeln des Schaltkreises stammen aus 340 Aufgaben. Die Gradienten-Implantate trainierten auf 1,500, denselben 1,500, auf denen die Ziffernauslesungen des Schaltkreises angepasst wurden.
Noch in Arbeit
Transplantationen aus größeren Modellen
Wir versuchen auch, Fertigkeiten aus größeren Modellen herüberzuholen. Qwen3.5-4B hat in unserer Prüfung 300 von 300 dieser Multiplikationsaufgaben richtig gelöst, also haben wir versucht, eine Gruppe seiner Neuronen in SmolLM2 zu übersetzen. Unabhängig davon haben wir bei Textaufgaben auf Grundschulniveau ein Korrektursignal von Qwen3.5-4B auf Qwen3.5-0.8B abgebildet. Beides hat bisher nicht funktioniert, und beides ist noch offen. Bisher war das größere Modell vor allem als Wegweiser nützlich, um zu sehen, wo das kleine scheitert.
Was ein Implantat ist
Ein Rechner, gespeist von dem, was das Modell selbst ausliest
Das Implantat rechnet selbst, mit Zahlen, die das Modell schon enthält. SmolLM2 lernt nicht multiplizieren. Das Implantat funktioniert bei der schlichten Form der Frage („Was ist 347 + 285?“), und die Schalter halten es bei Textaufgaben absichtlich aus. Das alles bezieht sich bisher auf ein einziges Modell.
Die Methode lässt sich auf neue Fertigkeiten übertragen. Die Regeln findet ein Programm aus 340 Beispielen, sie werden zu Tabellen kompiliert und für jede Fertigkeit mit denselben Einstellungen eingesetzt. Als Nächstes kommt die Lernseite: SmolLM2 dazu bringen, einen Fakt zu nutzen, den es im Prompt bekommt.