要約
最近では大規模言語モデル (LLM) に焦点が当てられており、StarCoder (Li et al., 2023) と Code Llama (Rozi\`ere et al., 2023) の両方がコード生成において顕著なパフォーマンスを示しています。
ただし、効率的なトレーニング手法によるコード変換機能の改善が依然として必要です。
これに応えて、マルチプログラミング言語から Python コードへの変換用に特別に設計された、デコーダー専用の StarCoder ベースの LLM である SteloCoder を紹介します。
特に、SteloCoder は、入力プログラミング言語を指定せずに、C++、C#、JavaScript、Java、または PHP から Python へのコード変換を実現します。
私たちは、5 人の専門家とマルチタスク処理のためのゲート ネットワークを特徴とする専門家混合 (MoE) 手法を組み込むことにより、StarCoder モデル アーキテクチャを変更しました。
エキスパートは StarCoder の微調整によって取得されます。
具体的には、低ランク適応法 (LoRA) 技術を使用し、各エキスパートのサイズを StarCoder のパラメーター数のわずか 0.06% に制限します。
同時に、時間の観点からトレーニングの効率を高めるために、カリキュラム学習戦略を採用し、自己指導データを使用して効率的な微調整を行います。
その結果、各専門家は 1 つの 80Gb A100 HBM でトレーニングするのにわずか 6 時間しかかかりません。
XLCoST データセットでの実験により、SteloCoder はマルチプログラミング言語から Python への変換で平均 73.76 CodeBLEU スコアを達成し、リーダーボードのトップパフォーマンスを少なくとも 3.5 上回りました。
この成果は、StarCoder をバックボーンとして使用したわずか 4,500 万の追加パラメーターと、1 つの 80 GB A100 HBM での 32 時間の有効なトレーニングによるものです。
ソースコードはここでリリースされています: https://github.com/sade-adrien/SteloCoder。
要約(オリジナル)
With the recent focus on Large Language Models (LLMs), both StarCoder (Li et al., 2023) and Code Llama (Rozi\`ere 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.
arxiv情報
著者 | Jialing Pan,Adrien Sadé,Jin Kim,Eric Soriano,Guillem Sole,Sylvain Flamant |
発行日 | 2023-12-15 06:40:41+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google