- 简介本文介绍了一种通过少量样本学习和检索增强技术来提高代码翻译质量的新方法。该方法基于Retrieval-Augmented Generation (RAG),通过利用现有代码翻译库,动态检索最相关的示例来指导模型翻译新的代码段,从而大大提高了翻译质量。相比于传统的fine-tuning方法,我们选择RAG,因为它能够利用现有的代码库或本地存储的代码语料库,无需进行大量重新训练即可动态适应各种翻译任务。我们在多个数据集上进行了广泛的实验,包括StarCoder、Llama3-70B Instruct、CodeLlama-34B Instruct、Granite-34B Code Instruct、Mixtral-8x22B等开源LLM模型,以及商业LLM模型如GPT-3.5 Turbo和GPT-4o,证明了我们的方法在传统零样本方法中的优越性,特别是在Fortran和CPP之间的翻译中。我们还探索了不同数量的样本,即推理过程中提供的示例数量,具体为1、2和3个示例,以及RAG的不同嵌入模型,包括Nomic-Embed、Starencoder和CodeBERT,以评估我们的方法的鲁棒性和有效性。
- 图表
- 解决问题本论文旨在通过Few-Shot Learning和检索技术增强代码翻译的质量,提高大型语言模型在复杂翻译任务中的表现,解决模型在上下文理解方面的不足。
- 关键思路该论文的关键思路是结合Few-Shot Learning和检索技术,动态地检索现有代码翻译库中最相关的示例,为模型提供上下文示例,从而实现实时学习和适应不同的翻译任务。
- 其它亮点该论文通过实验验证了该方法在多个数据集和LMM模型上的优越性,特别是在Fortran和CPP之间的翻译任务中表现出色。此外,该论文还探讨了不同数量的示例和嵌入模型对结果的影响,并提供了开源代码。
- 最近在该领域中的相关研究包括:'CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing','Unsupervised Cross-Lingual Representation Learning for Programming Languages','Neural Machine Translation of Source Code with Attention and Pointer Networks'等。
沙发等你来抢
去评论
评论
沙发等你来抢