Optimierung großer Sprachmodelle für OpenAPI-Code-Vervollständigung

Neuere Fortschritte in den Large Language Models (LLMs) und deren Nutzung fürCodegenerierungsaufgaben haben das Softwareentwicklungsfeld erheblich umgestaltet. Trotz der bemerkenswerten Effizienz von Codevervollständigungslösungen ingängigen Programmiersprachen hinterlassen diese bei weniger verbreiteten Formaten wie OpenAPI-Definitionen zu wünschen übrig. Diese Studie bewertet dieLeistungsfähigkeit von GitHub Copilot, einem weit verbreiteten kommerziellen Codevervollständigungstool, bei der Vervollständigung von OpenAPI-Definitionen und schlägt eine Reihe von aufgabenspezifischen Optimierungen vor, die auf Meta's offener Quelltextmodell Code Llama basieren. Ein semantikbewusster Benchmark für OpenAPI-Vervollständigung, der in dieser Forschung vorgeschlagen wird, wird verwendet, um eine Reihe von Experimenten durchzuführen, in denen der Einfluss verschiedener Prompt-Engineering- und Feinabstimmungstechniken auf die Leistung des Code Llama Modells analysiert wird. Das feinabgestimmte Code Llama Modell erreicht eine maximale Verbesserung der Korrektheit von 55,2 % im Vergleich zu GitHub Copilot, obwohl es 25-mal weniger Parameter als das zugrundeliegende Codex-Modell der kommerziellen Lösung nutzt. Zudem schlägt diese Forschung eine Verbesserung einer weit verbreiteten Trainingsmethode für Code-Infilling vor, die das Problem der Unterleistung bei kleineren Kontextgrößen als jenen während des Trainings anspricht. Der Datensatz, der Benchmark und der Code zur Feinabstimmung des Modells werden öffentlich zugänglich gemacht.