HyperAIHyperAI

Command Palette

Search for a command to run...

Kontrastives Lernen von Code-Darstellungen

Paras Jain* Ajay Jain* Tianjun Zhang Pieter Abbeel Joseph E. Gonzalez Ion Stoica

Zusammenfassung

Kürzliche Arbeiten lernen kontextuelle Darstellungen von Quellcode, indem sie Token aus ihrem Kontext rekonstruieren. Für nachgelagerte semantische Verständnistasks wie die Zusammenfassung von Code auf Englisch sollten diese Darstellungen idealerweise die Funktionalität des Programms erfassen. Wir zeigen jedoch, dass das weit verbreitete rekonstruktionsbasierte BERT-Modell empfindlich gegenüber Änderungen im Quellcode ist, selbst wenn diese Änderungen die Semantik erhalten. Wir schlagen ContraCode vor: eine kontrastive Vortrainingsaufgabe, die die Funktionalität des Codes erfasst, nicht seine Form. ContraCode führt ein Vortraining eines neuronalen Netzes durch, um funktional ähnliche Varianten eines Programms unter vielen nicht äquivalenten Ablenkern zu identifizieren. Diese Varianten generieren wir skalierbar mithilfe eines automatischen Source-to-Source-Kompilers als Form der Datenverstärkung (data augmentation). Das kontrastive Vortraining verbessert die Genauigkeit der JavaScript-Zusammenfassung und der TypeScript-Typinferenz um 2% bis 13%. Wir schlagen zudem einen neuen Zero-Shot-JavaScript-Codeklon-Erkennungsdatensatz vor, der zeigt, dass ContraCode sowohl robuster als auch semantisch bedeutsamer ist. In einer feindlichen Umgebung übertreffen wir RoBERTa um 39% AUROC und bis zu 5% bei natürlichen Codebeispielen.


KI mit KI entwickeln

Von der Idee bis zum Launch – beschleunigen Sie Ihre KI-Entwicklung mit kostenlosem KI-Co-Coding, sofort einsatzbereiter Umgebung und bestem GPU-Preis.

KI-gestütztes kollaboratives Programmieren
Sofort einsatzbereite GPUs
Die besten Preise

HyperAI Newsletters

Abonnieren Sie unsere neuesten Updates
Wir werden die neuesten Updates der Woche in Ihren Posteingang liefern um neun Uhr jeden Montagmorgen
Unterstützt von MailChimp
Kontrastives Lernen von Code-Darstellungen | Paper | HyperAI