Zhang, J., Zhang, J., Li, Y., Pi, R., Pan, R., Liu, R., ... & Zhang, T. (2024). BRIDGE-CODER: UNLOCKING LLMS’ POTENTIAL TO OVERCOME LANGUAGE GAPS IN LOW-RESOURCE CODE. arXiv preprint arXiv:2410.18957.
本研究旨在探討如何提升大型語言模型 (LLM) 在低資源程式語言 (LRPL) 中的程式碼生成能力,並解決自然語言與程式語言之間的差距 (NL-PL Gap) 問題。
研究提出名為 Bridge-Coder 的兩階段方法。第一階段為「橋接輔助生成」,利用 LLM 的知識推理能力篩選任務,並利用其在高資源語言中的能力生成包含程式碼和註釋的「程式碼橋接 (code-bridge)」,最後利用 LLM 的上下文學習能力,參考程式碼橋接生成 LRPL 程式碼。第二階段為「橋接對齊」,先透過程式碼橋接輔助 LLM 對齊 NL-PL Gap,再逐步訓練模型直接從自然語言指令生成 LRPL 程式碼。
實驗結果顯示,Bridge-Coder 能夠顯著提升 LLM 在多種 LRPL(R、D、Racket 和 Bash)上的程式碼生成效能,尤其是在遵循指令方面的能力。相較於直接使用 LRPL 數據進行訓練或僅使用高資源語言數據訓練的模型,Bridge-Coder 都展現出更優越的效能。
Bridge-Coder 提供了一種有效的方法來解決 LLM 在 LRPL 中面臨的挑戰。通過利用程式碼橋接和漸進式訓練策略,Bridge-Coder 成功地縮小了 NL-PL Gap,並顯著提高了 LLM 在 LRPL 中的程式碼生成品質。
本研究對於提升 LLM 在程式碼生成領域的應用範圍具有重要意義,尤其是在資源相對匱乏的程式語言方面。這將有助於開發更強大、更全面的程式碼輔助工具,並促進不同程式語言社群之間的知識共享和技術發展。
目前 Bridge-Coder 主要關注於單回合的程式碼生成任務,未來研究可以探討如何將其應用於多回合的程式碼生成場景,例如需要與使用者進行多次互動才能完成的複雜程式碼編寫任務。此外,還可以進一步研究如何自動評估 LLM 生成的 LRPL 程式碼品質,以及如何將 Bridge-Coder 應用於其他領域的低資源語言任務。
翻譯成其他語言
從原文內容
arxiv.org
深入探究