Our new X account is live! Follow @wizwand_team for updates
WorkDL logo mark

ERNIE-Code: Beyond English-Centric Cross-lingual Pretraining for Programming Languages

About

Software engineers working with the same programming language (PL) may speak different natural languages (NLs) and vice versa, erecting huge barriers to communication and working efficiency. Recent studies have demonstrated the effectiveness of generative pre-training in computer programs, yet they are always English-centric. In this work, we step towards bridging the gap between multilingual NLs and multilingual PLs for large language models (LLMs). We release ERNIE-Code, a unified pre-trained language model for 116 NLs and 6 PLs. We employ two methods for universal cross-lingual pre-training: span-corruption language modeling that learns patterns from monolingual NL or PL; and pivot-based translation language modeling that relies on parallel data of many NLs and PLs. Extensive results show that ERNIE-Code outperforms previous multilingual LLMs for PL or NL across a wide range of end tasks of code intelligence, including multilingual code-to-text, text-to-code, code-to-code, and text-to-text generation. We further show its advantage of zero-shot prompting on multilingual code summarization and text-to-text translation. We release our code and pre-trained checkpoints.

Yekun Chai, Shuohuan Wang, Chao Pang, Yu Sun, Hao Tian, Hua Wu• 2022

Related benchmarks

TaskDatasetResultRank
Documentation TranslationDocumentation Translation En-Da
BLEU-472.7
10
Documentation TranslationDocumentation Translation En-Lv
BLEU-469.85
10
Documentation TranslationDocumentation Translation En-No
BLEU-472.49
10
Documentation TranslationDocumentation Translation En-Zh
BLEU-474.53
10
Multilingual code summarizationmCoNaLa Spanish (test)
BLEU-42.51
7
Multilingual code summarizationmCoNaLa Russian (test)
BLEU-41.98
7
Multilingual code summarizationmCoNaLa Japanese translated English
BLEU-41.46
7
Multilingual code summarizationmCoNaLa translated English
BLEU-4131
7
Program RepairBugs2Fix (small)
BLEU-480.1
7
Program RepairBugs2Fix (medium)
BLEU-491.2
7
Showing 10 of 15 rows

Other info

Code

Follow for update