← Neueste Arbeiten
💬 NLP

Fine-Tuning Pre-Trained Code Models for AI-Generated Code Detection

Das Papier stellt das System des Teams „Archaeology" für die SemEval-2026-Aufgabe 13 vor, das feinabgestimmte vortrainierte Code-Modelle und spezialisierte Strategien wie die Leave-One-Language-Out-Cross-Validierung sowie das Sandwich-Token-Packing nutzt, um bei der Erkennung von KI-generiertem Code und der Zuordnung seiner Quelle eine Spitzenleistung zu erzielen.

Ursprüngliche Autoren: Jany-Gabriel Ispas, Sergiu Nisioi

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

Ursprüngliche Autoren: Jany-Gabriel Ispas, Sergiu Nisioi

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 eine digitale Detektei namens Archaeology vor. Ihre Aufgabe besteht nicht darin, antike Töpfereien auszugraben, sondern durch Berge von Computercode zu wühlen, um zwei große Fragen zu beantworten:

  1. Wer hat das geschrieben? War es ein menschlicher Programmierer oder ein Roboter (KI)?
  2. Welcher Roboter hat es geschrieben? Falls es ein Roboter war, welches spezifische KI-Modell hat es erstellt?

Dieses Team trat bei einem hochrangigen Wettbewerb namens SemEval-2026 Task 13 an, um ihre Fähigkeiten unter Beweis zu stellen. Hier ist eine einfache Erklärung, wie sie dabei vorgingen.

Die Herausforderung: Ein zweigeteiltes Rätsel

Der Wettbewerb bestand aus zwei unterschiedlichen Rätseln, die jeweils eine andere Detektivstrategie erforderten.

Rätsel A: Der „Mensch vs. Roboter"-Test (Binäre Klassifizierung)

  • Das Ziel: Einen Codeabschnitt betrachten und sagen: „Mensch" oder „KI".
  • Die Falle: Das Team wurde hauptsächlich auf Python-Code trainiert (91 % ihrer Trainingsdaten), aber der finale Test umfasste Sprachen, die sie noch nie gesehen hatten, wie JavaScript, Go und C#. Es ist, als würde man einem Koch beibringen, nur italienisches Essen zu kochen, und ihn dann bitten, zu erkennen, ob ein Gericht hausgemacht oder fabrikmäßig hergestellt ist, wenn es sich tatsächlich um einen thailändischen Curry handelt.
  • Der Hinweis: KI-Code neigt dazu, länger und einheitlicher zu sein, während menschlicher Code kürzer und chaotischer ist. Diese Regel kehrt sich jedoch je nach Sprache um (z. B. schreiben Menschen in C++ tatsächlich längeren Code als KI).

Rätsel B: Der „Welcher Roboter?"-Test (Multi-Class Attribution)

  • Das Ziel: Falls der Code von einer KI generiert wurde, genau identifizieren, welches der 11 verschiedenen KI-Modelle ihn geschrieben hat.
  • Die Falle: Die Daten waren extrem unausgewogen. Eine Kategorie (menschlich geschriebener Code) machte 88 % der Daten aus, während einige spezifische KI-Modelle weniger als 2.000 Beispiele hatten. Es ist, als würde man versuchen, eine Nadel im Heuhaufen zu finden, wobei der Heuhaufen zu 99 % aus Heu besteht und die Nadeln verschiedene Farben haben, man aber nur eine rote Nadel und eine Million blaue Nadeln hat.
  • Der Hinweis: Verschiedene KI-Modelle haben subtile „Handschriften"-Stile, doch diese Stile sind in langem, komplexem Code schwer zu erkennen.

Das Werkzeug des Detektivs

Das Team hat nicht einfach geraten; sie verwendeten vier verschiedene „Super-Augen" (vorab trainierte KI-Modelle) und gaben ihnen spezielle Trainingstechniken für jedes Rätsel.

Für Rätsel A (Mensch vs. Roboter)

  1. Das „Sprachwechsel"-Training: Um sich auf die überraschenden Sprachen im Test vorzubereiten, trainierten sie die Modelle, indem sie jeweils eine Sprache ausblendeten. Sie lehrten das Modell, Muster zu erkennen, ohne sich auf spezifische Sprachtricks zu verlassen (wie etwa, dass Python # für Kommentare verwendet).
  2. Das „Säubern und Maskieren"-Training: Sie entfernten Kommentare und ersetzten Zahlen während des Trainings durch Platzhalter. Dies zwang die Modelle, auf die Logik des Codes zu achten, nicht nur auf die oberflächlichen Verzierungen.
  3. Die „Chunking"-Strategie: Da der Testcode oft zu lang war, um ihn auf einen Blick zu lesen, schnitten sie ihn in überlappende Stücke (wie das Lesen eines langen Buches, indem man ein paar Seiten auf einmal liest). Sie nahmen dann den Durchschnitt dieser Schnitte, ignorierten die extremsten „verrauschten" Vermutungen und trafen eine endgültige Entscheidung.
  4. Die „Schwierige Fälle"-Kalibrierung: Sie erstellten einen speziellen „Harttest" mit Beispielen, bei denen ein einfaches Computerprogramm falsch lag. Sie passten ihren Entscheidungsschwellenwert (die Grenze zwischen „Mensch" und „KI") basierend auf diesen kniffligen Fällen an, um sicherzustellen, dass sie nicht vom Testdaten getäuscht wurden.

Für Rätsel B (Welcher Roboter?)

  1. Die „Sandwich"-Technik: Da der Code zu lang war, um in den Speicher des Modells zu passen, schnitten sie nicht einfach die Mitte heraus. Stattdessen behielten sie den Kopf (Anfang) und den Schwanz (Ende) des Codes und stopften sie wie ein Sandwich zusammen, mit einem speziellen Marker in der Mitte. Dies bewahrte den Stil am Anfang und Ende, wo sich oft die „Robotersignatur" verbirgt.
  2. Das „Fairness"-Gewicht: Da einige KI-Modelle in den Daten selten waren, sagte das Team zum Modell: „Vermute nicht einfach nur den häufigsten! Achte besonders auf die seltenen." Sie passten das Punktesystem so an, dass das Modell lernte, die seltenen Roboter zu erkennen, nicht nur die populären.
  3. Die „Weisheit der Menge"-Abstimmung: Sie führten denselben Code mit leichten Variationen mehrfach durch das Modell und ließen die Modelle über die Antwort abstimmen. Dies reduzierte Fehler und erhöhte das Vertrauen.

Die Ergebnisse

Das Team „Archaeology" schnitt sehr gut ab:

  • Rätsel A: Sie erzielten eine Punktzahl von 0,737 und landeten auf Platz 6 von 81 Teams. Ihr bestes Werkzeug war CodeBERT, das die „Logik" von Code besser zu verstehen schien als die anderen.
  • Rätsel B: Sie erzielten eine Punktzahl von 0,422 und landeten auf Platz 7 von 34 Teams. Ihr bestes Werkzeug hier war UniXcoder, das davon profitierte, längere Codeabschnitte zu betrachten und die „Abstimmungs"-Strategie anzuwenden.

Die große Erkenntnis

Das Team entdeckte, dass wie ein Modell trainiert wurde, wichtiger ist als wie groß es ist.

  • Die kleineren Modelle (125 Millionen Parameter), die speziell darauf trainiert wurden, die Logik von Code zu verstehen, waren besser darin, KI zu erkennen.
  • Das riesige Modell (220 Millionen Parameter) gewann nicht, was darauf hindeutet, dass für diese spezifische Aufgabe ein „Spezialist" besser ist als ein „Generalist".

Kurz gesagt bewies das Team, dass man mit den richtigen Trainingstricks – wie dem Schneiden langen Codes, dem Ignorieren von Oberflächenrauschen und dem Abstimmen über Antworten – ein System bauen kann, das überraschend gut darin ist, KI-generierten Code zu entlarven, selbst wenn er versucht, sich in neuen Sprachen zu verbergen.

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 →