Feste Funktionszeile: schneller, aber weiterhin keine richtige Funktion

Der zweite kontrollierte MBPP-Lernversuch ist abgeschlossen. Diesmal musste das Modell nicht mehr die ganze Python-Funktion schreiben: Die bekannte Funktionszeile wurde fest vorgegeben, das Modell erzeugte nur den Körper. Trotzdem bestand keine der acht Aufgaben. Es gibt weiterhin keinen Python-Spezialisten und keine fachliche Abnahme.

Der Vergleich begann erneut beim identischen, bereits geprüften Optimiererstand 264. Dieselben vier Trainingsaufgaben wurden je achtmal gelernt; dieselben vier Validierungsaufgaben blieben vollständig vom Training getrennt. Vor dem Lernen waren beide Gruppen bei 0 von 4 richtigen Antworten. Nach 32 tatsächlichen Lernschritten blieb es bei 0 von 4 geübten und 0 von 4 getrennten Aufgaben.

Nach dem Lernen waren sieben der acht erzeugten Funktionskörper syntaktisch ungültig. Ein Körper war ausführbar, bestand aber keinen seiner drei Tests. Insgesamt wurden deshalb 0 von 24 deklarierten Tests bestanden. Ungültige Antworten zählen als Fehlschlag. Die feste Funktionszeile beseitigt somit einen Teil der Schreibarbeit, aber nicht den entscheidenden Lernmangel.

Der gemessene Lernverlust fiel vom ersten zum letzten Schritt von 4,602 auf 3,006. Auch jede der vier wiederholt gelernten Aufgaben zeigte über ihre Wiederholungen niedrigere Werte. Das belegt, dass sich der Adapter an die Lerntexte angepasst hat. Es belegt keine funktionale Python-Fähigkeit, weil weder die geübten noch die getrennten Aufgaben einen richtigen Output erhielten.

Ein messbarer Unterschied liegt in der Antwortzeit. Vor dem Lernen brauchten die acht Körper zusammen rund 688 Sekunden, danach rund 102 Sekunden. Alle acht Nachherantworten waren in höchstens 19,52 Sekunden fertig. Die Antwortlängen schrumpften auf zwei bis vier Textbausteine. Das ist in diesem Fall kein Qualitätsgewinn: Die kurzen Antworten waren überwiegend Syntaxfehler. Geschwindigkeit und Richtigkeit müssen getrennt bewertet werden.

Das Grundmodell mit 8,52 Millionen Parametern und Modellstand 4.336 blieb unverändert. Das Rank-8-Zusatzmodul setzte denselben vorhandenen Optimiererzustand von Schritt 264 bis 296 fort; beide Adam-Momente wurden übernommen. Der Endzustand wurde gespeichert und unabhängig gelesen. Es gab keinen GPU-Neustart, die normale Kühlung wurde wiederhergestellt und alle eigenen Prozesse sind beendet. Die Modellrechnung lief auf der Intel-Grafikeinheit von Node6; ein stiller CPU-Modellpfad war ausgeschlossen.

Die Bewertung lief mit zwei vollständigen Grenzkontrollen in abgeschotteten Prozessen. Nur der eine syntaktisch zulässige Körper wurde tatsächlich gegen seine drei privaten Tests ausgeführt. Die sieben anderen Körper wurden vor jeder Ausführung als ungültig abgewiesen. Private Aufgaben, Lösungen, Tests und Modellantworten wurden nicht veröffentlicht.

Die 500 offiziellen MBPP-Testaufgaben blieben unangetastet und wurden nicht ausgeführt. Der frühere 30-Aufgaben-Vergleich bleibt bei 0/30 richtigen Modellantworten gegenüber 22/30 festen Reparaturregeln.

Das Ergebnis grenzt die Ursache ein: Die freie Funktionssignatur war nicht der einzige Engpass. Der aktuelle Lernaufbau kann selbst mit vorgegebener Schnittstelle keinen verlässlichen kurzen Funktionskörper erzeugen. Daraus folgt noch nicht, dass das 8,52-Millionen-Modell grundsätzlich zu klein ist. Der nächste kleine Test soll die Syntaxlast weiter isolieren: feste Signatur und festes return-Gerüst, während das Modell nur einen kurzen Ausdruck erzeugt. Bleibt auch diese Stufe ohne Antwortgewinn, wird ein fairer Größenvergleich dringlich.

BitNet bleibt davon getrennt. Es kann später Speicherbedarf und Rechenkosten verändern, ist aber kein Ersatz für den hier weiterhin fehlenden Nachweis, dass Training mehr richtige Antworten erzeugt.