Technologische Neuigkeiten, Bewertungen und Tipps!

Salesforce AI stellt CodeT5+ vor: eine neue Familie großer Open-Code-Sprachmodelle mit einer Encoder-Decoder-Architektur

Hinweis: Der folgende Artikel hilft Ihnen dabei: Salesforce AI stellt CodeT5+ vor: eine neue Familie großer Open-Code-Sprachmodelle mit einer Encoder-Decoder-Architektur

Moderne Large-Language-Modelle (LLMs) bieten eine hervorragende Leistung beim Lesen und Generieren von Code und ermöglichen so mehr Menschen den Einstieg in das einst mysteriöse Gebiet der Computerprogrammierung. Aus architektonischer Sicht verwenden bestehende Code-LLMs reine Encoder- oder Decoder-Modelle, die sich nur bei einigen Verständnis- und Generierungsaufgaben auszeichnen. Code-fokussierte LLMs verfügen in der Regel über einen begrenzten Satz an Vortrainingszielen, wodurch die Leistung bei nachgelagerten Aufgaben, die für diese Ziele weniger relevant sind, beeinträchtigt wird. Außerdem verwenden sie häufig eine Nur-Encoder- oder Nur-Decoder-Architektur, was ihre optimale Leistung auf nur wenige beschränken kann spezifische Aufgaben.

Das AI Research-Team von Salesforce präsentiert CodeT5+. Es handelt sich um eine revolutionäre Familie von Encoder-Decoder-Code-Foundation-LLMs, die einfach angepasst werden können, um bei verschiedenen Codeinterpretations- und -generierungsaufgaben eine außergewöhnlich gute Leistung zu erbringen. Zu diesem Zweck stellt das Team CodeT5+ eine breite Palette von Vortrainingszielen für unimodale und bimodale Daten zur Verfügung, um ein Code-LLM bereitzustellen, das leicht an verschiedene nachgelagerte Aufgaben angepasst werden kann.

Was ist CodeT5+?

CodeT5+ ist eine Reihe umfangreicher Sprachmodelle zur Analyse und Generierung von Code. Das Framework umfasst eine breite Palette unimodaler und bimodaler Vortrainingsziele. Die Module von CodeT5+ können flexibel getrennt und neu kombiniert werden, um den Anforderungen einer Vielzahl von Zero-Shot-, Feinabstimmungs- und Befehlsabstimmungsanwendungen gerecht zu werden.

Während der Decoder darauf trainiert ist, verschiedene Ausgaben basierend auf den Lernaufgaben vor dem Training bereitzustellen, lernt der Encoder, kontextbezogene Darstellungen aus Code-/Textsequenzen (ganze, teilweise oder spannenmaskierte Sequenzen) zu codieren.

  • CodeT5+ wird zunächst auf großen unimodalen Daten von öffentlich zugänglichen Plattformen wie GitHub vorab trainiert. Um dem Modell beizubringen, wie es Codekontexte in Codebereichen, Teilprogrammen und ganzen Programmen wiederherstellen kann, verwendet dieses Vortraining eine Vielzahl von Zielen, darunter Span-Rauschunterdrückung, kausale LM-Aufgaben nur für Decoder und seq2seq kausale LM-Aufgaben.
  • In der zweiten Phase des Vortrainings werden bimodale Text-Code-Daten oder Kombinationen aus Text und Code verwendet, die die Semantik einer Codefunktion bereitstellen. Um seine modalübergreifenden Verständnis- und Erstellungsfähigkeiten zu verbessern, wird CodeT5+ hier auf modalübergreifendes kontrastives Lernen, Matching und kausale LM-Aufgaben vortrainiert.

CodeT5+ kann seine Leistung dank seines zweistufigen Vortrainingsverfahrens, das seq2seq-generierende Aufgaben, reine Decoder-Aktivitäten und verständnisbasierte Aufgaben umfasst, an verschiedene Aufgaben anpassen.

In ihrer empirischen Untersuchung verglich das Team CodeT5+ mit 20 Benchmark-Datensätzen und hochmodernen Code-LLMs, darunter LaMDA, GPT, StarCoder usw., zu Aufgaben wie Zero-Shot, Feinabstimmung und Befehlsabstimmung. Im Wettbewerb mit dem robusten Code-Cushman-001-Modell von OpenAI erzielte CodeT5+ State-of-the-Art (SOTA)-Ergebnisse bei Zero-Shot-HumanEval-Codeerstellungsaufgaben.

Etwas zusammenfassen

CodeT5+ ist eine neue Familie von Open-Source-Modellen für große Sprachen mit einer Encoder-Decoder-Architektur, die in mehreren Modi (nur Encoder, nur Decoder und Encoder-Decoder) funktionieren kann, um eine Vielzahl von Aktivitäten zur Codeinterpretation und -generierung zu ermöglichen . CodeT5+ wird mithilfe einer Vielzahl von Vortrainingsaufgaben trainiert, darunter Span-Denoising, kausale Sprachmodellierung, kontrastives Lernen und Text-Code-Matching, um ein umfassendes Verständnis sowohl unimodaler als auch bimodaler Code-Text-Daten zu erlangen.

Diese Arbeit zeigt, dass die vorgeschlagenen CodeT5+-LLMs mit offenem Code die SOTA-Leistung über ein breites Spektrum nachgelagerter Codejobs unterstützen und sogar erreichen können, indem sie flexibel in den Modi „Nur Encoder“, „Nur Decoder“ und „Encoder-Decoder“ arbeiten. Das Team stellt alle CodeT5+-Modelle als Open-Sourcing zur Verfügung, um weitere Studien anzuregen, da es davon überzeugt ist, dass CodeTs+ als einheitliches, abrufgestütztes Generierungssystem eingesetzt werden kann.

Table of Contents