← Neueste Arbeiten
💻 computer science

No Resource, No Benchmarks, No Problem? Evaluating and Improving LLMs for Code Generation in No-Resource Languages

Diese Arbeit befasst sich mit der Herausforderung der Codegenerierung in ressourcenarmen Programmiersprachen, indem sie neue Benchmarks einführt und demonstriert, dass eine kosteneffiziente Strategie aus dem weiteren Pre-Training eines Basismodells auf Daten der Zielsprache, gefolgt von der Injektion von Instruktionsfolgefähigkeiten mittels Gewichtsdifferenztransfer, die direkte Feinabstimmung von instruktionsgesteuerten Modellen signifikant übertrifft.

Ursprüngliche Autoren: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota

Veröffentlicht 2026-06-16
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Alessandro Giagnorio, Alberto Martin-Lopez, Gabriele Bavota

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

Stellen Sie sich vor, Sie haben einen brillanten, superintelligenten Roboter-Assistenten (ein Large Language Model, oder LLM), der ein Experte für Programmierung ist. Sie können ihn bitten, Code in Python oder Java zu schreiben, und es ist, als würde man einen Meisterkoch bitten, ein klassisches italienisches Gericht zu kochen – er kennt das Rezept auswendig, weil er Millionen von Kochbüchern (Trainingsdaten) über diese spezifischen Sprachen gelesen hat.

Aber was passiert, wenn Sie diesen Roboter bitten, ein Gericht einer brandneuen, obskuren Küche zu kochen, für die noch nie jemand ein Kochbuch geschrieben hat? Vielleicht ist es eine Sprache, die erst gestern von einem Unternehmen erfunden wurde, oder ein spezialisiertes Werkzeug für eine bestimmte Branche, das noch nicht im Internet geteilt wurde.

In diesem Paper geht es darum, diesem Roboter beizubringen, wie man diese „No-Resource“-Gerichte kocht.

Das Problem: Der Roboter ist ahnungslos

Die Forscher fanden heraus, dass Top-KI-Modelle fast völlig aufgeschmissen waren, wenn sie gebeten wurden, Code in diesen brandneuen Sprachen (sie testeten Gleam und MoonBit) zu schreiben.

  • Ressourcenreiche Sprachen (Python/Java): Der Roboter hatte in etwa 80–90 % der Fälle recht.
  • Ressourcenarme Sprachen (wie Lua oder R): Der Roboter war ganz okay und hatte in etwa 50–60 % der Fälle recht.
  • Keine-Ressourcen-Sprachen (Gleam/MoonBit): Der Roboter scheiterte fast zu 100 %.

Die Analogie: Es ist, als würde man einen Koch, der bisher nur mit einem Messer gekocht hat, plötzlich bitten, ein brandneues, seltsam geformtes Werkzeug zu benutzen, das er noch nie gesehen hat. Er macht nicht nur kleine Fehler; er weiß oft nicht einmal, wie er das Werkzeug richtig halten soll. Die Fehler waren nicht nur „schlechtes Kochen“; es waren „Syntaxfehler“ – der Roboter konnte nicht einmal die grundlegende Struktur des Codes schreiben, weil er die Grammatik der neuen Sprache nicht kannte.

Das Experiment: Wie bringen wir es dem Roboter bei?

Das Team probierte vier verschiedene Wege aus, um dem Roboter zu helfen, diese neuen Sprachen zu lernen, indem sie die neuen Sprachen wie ein neues Fach behandelten, für das der Roboter eine Prüfung lernen muss.

  1. Das „Spickzettel“-Verfahren (Few-Shot & RAG): Sie gaben dem Roboter unmittelbar vor der Aufforderung, etwas in der neuen Sprache zu schreiben, ein paar Beispiele für Code in dieser Sprache oder einen Ausschnitt aus dem Handbuch.
    • Ergebnis: Es half ein wenig, so als würde man einem Schüler ein paar Übungsaufgaben geben. Der Roboter wurde ein bisschen besser, kämpfte aber immer noch mit den Grundlagen.
  2. Der „Crashkurs“ (Fine-Tuning): Sie nahmen den Roboter und fütterten ihn mit jedem einzelnen Stück Code und jeder Dokumentation, die sie für die neue Sprache finden konnten, um ihn dazu zu zwingen, alles neu zu lernen.
    • Ergebnis: Das funktionierte gut. Der Roboter lernte die Sprache wesentlich besser.
  3. Das „Tief eintauchen“ (Pre-Training): Sie nahmen eine Rohversion des Roboters (eine, die noch nicht darauf trainiert wurde, Anweisungen zu befolgen) und fütterten ihn mit allen verfügbaren Daten – jeder Code-Datei und jeder Handbuchseite.
    • Ergebnis: Dies war der Gewinner. Weil sie alle Daten verwendeten (nicht nur die ordentlich aufbereiteten Beispiele, die für das Fine-Tuning genutzt wurden), lernte der Roboter die Sprache tiefergehend. Er erzielte die besten Ergebnisse.

Der Haken: Der „schlaue“ Roboter vs. der „rohe“ Roboter

Hier kommt die Wendung. Das „Tief eintauchen“ (Pre-Training) funktionierte am besten, hatte aber einen Nebeneffekt.

  • Der Roboter, der die Sprache tief gelernt hatte, war ein „rohes“ Modell. Er kannte die Sprache perfekt, hatte aber vergessen, wie man menschlichen Anweisungen folgt. Wenn man ihn fragte: „Schreibe eine Funktion, um zwei Zahlen zu addieren“, starrte er einen vielleicht nur an oder schrieb Kauderwelsch, weil er nicht darauf trainiert war, Befehlen zu folgen.
  • Die „schlauen“ Roboter (Instruction-Tuned Modelle) konnten Befehle perfekt ausführen, waren aber schrecklich in der neuen Sprache.

Die Lösung: Der „Skill Transfer“ (Instruction Transferring)

Die Forscher entwickelten einen cleveren Hack, um das Beste aus beiden Welten zu erhalten, ohne ein Vermögen für das Training auszuge zu geben.

Die Metapher: Stellen Sie sich vor, Sie haben zwei Zwillinge.

  • Zwilling A ist ein Meisterkoch, der die neue Küche perfekt beherrscht, aber unhöflich ist und nicht zuhört.
  • Zwilling B ist ein höflicher, gehorsamer Kellner, der die neue Küche überhaupt nicht kennt.

Anstatt einen neuen Koch einzustellen oder den Kellner von Grund auf neu zu trainieren, fanden die Forscher einen Weg, die „Höflichkeit“ und die „Zuhörfähigkeiten“ von Zwilling B zu kopieren und auf Zwilling A zu „pasten“.
Sie berechneten den „Unterschied“ zwischen dem höflichen Kellner und dem rohen Koch und fügten diesen „Unterschied“ dem neuen, sprach-expertisierten Roboter hinzu.

  • Das Ergebnis: Sie erschufen einen Roboter, der ein Experte für die neue Sprache ist UND perfekt weiß, wie man Anweisungen folgt.
  • Der Bonus: Dieser Trick funktionierte so gut, dass ein kleinerer, günstigerer Roboter (8 Milliarden Parameter) mit diesem „Skill Transfer“ tatsächlich besser abschnitt als ein viel größerer, teurerer Roboter (32 Milliarden Parameter), der nur normal feinjustiert wurde.

Das Fazit

Wenn ein Unternehmen heute eine neue Programmiersprache erfindet, kann es nicht einfach einen fertigen KI-Assistenten kaufen und erwarten, dass er funktioniert. Die KI wird scheitern.

Dieses Paper zeigt jedoch einen Weg nach vorne auf:

  1. Sammeln Sie so viel Code, wie auch immer für diese neue Sprache existiert.
  2. Bringen Sie einem rohen KI-Modell diese Sprache bei (Pre-Training).
  3. Nutzen Sie einen „Skill Transfer“-Trick, um diesem Modell die Fähigkeit zu geben, Anweisungen zu befolgen.

Dies ermöglicht es Unternehmen, ihre eigenen spezialisierten KI-Coding-Assistenten für ihre einzigartigen, proprietären Sprachen zu bauen, ohne dafür Millionen von Dollar für massive Trainingsläufe ausgeben zu müssen. Sie können ein kleines, smartes Modell nehmen und es für Centbeträge zu einem Sprachexperten machen.

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.

Digest testen →