SteloCoder: a Decoder-Only LLM for Multi-Language to Python Code Translation

Jialing Pan, Adrien Sadé, Jin Kim, Eric Soriano, Guillem Sole +1 more
10/24/2023
cs.CLcs.AI

Official code: sade-adrien/SteloCoder (16 stars, last commit 2023-12-21).

Abstract

With the recent focus on Large Language Models (LLMs), both StarCoder (Li et al., 2023) and Code Llama (Rozière et al., 2023) have demonstrated remarkable performance in code generation. However, there is still a need for improvement in code translation functionality with efficient training techniques. In response to this, we introduce SteloCoder, a decoder-only StarCoder-based LLM designed specifically for multi-programming language-to-Python code translation. In particular, SteloCoder achieves C++, C#, JavaScript, Java, or PHP-to-Python code translation without specifying the input programming language. We modified StarCoder model architecture by incorporating a Mixture-of-Experts (MoE) technique featuring five experts and a gating network for multi-task handling. Experts are obtained by StarCoder fine-tuning. Specifically, we use a Low-Rank Adaptive Method (LoRA) technique, limiting each expert size as only 0.06% of number of StarCoder's parameters. At the same time, to enhance training efficiency in terms of time, we adopt curriculum learning strategy and use self-instruct data for efficient fine-tuning. As a result, each expert takes only 6 hours to train on one single 80Gb A100 HBM. With experiments on XLCoST datasets, SteloCoder achieves an average of 73.76 CodeBLEU score in multi-programming language-to-Python translation, surpassing the top performance from the leaderboard by at least 3.5. This accomplishment is attributed to only 45M extra parameters with StarCoder as the backbone and 32 hours of valid training on one 80GB A100 HBM. The source code is release here: https://github.com/sade-adrien/SteloCoder.

View on arXivView PDF

Code Implementations(1)

162Python, Jupyter NotebookOct 17, 20232 years ago

Similar Papers

Cite this paper

@article{pan2023stelocoder,
  title  = {SteloCoder: a Decoder-Only LLM for Multi-Language to Python Code Translation},
  author = {Jialing Pan and Adrien Sadé and Jin Kim and Eric Soriano and Guillem Sole and Sylvain Flamant},
  year   = {2023},
  eprint = {2310.15539},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2310.15539v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2310.15539.svg)](https://codeofpaper.com/paper/2310.15539)

Discussion