中文

优化大型语言模型用于OpenAPI代码补全

软件工程 2024-06-12 v2 计算与语言 机器学习

摘要

大型语言模型(LLM)的最新进展及其在代码生成任务中的应用显著重塑了软件开发领域。尽管代码补全解决方案在主流编程语言中效果显著,但在OpenAPI定义等不太通用的格式上性能滞后。本研究评估了主流商业代码补全工具GitHub Copilot的OpenAPI补全性能,并提出了一组利用Meta开源模型Code Llama的任务特定优化。使用本研究提出的语义感知OpenAPI补全基准进行一系列实验,分析了各种提示工程和微调技术对Code Llama模型性能的影响。微调后的Code Llama模型相比GitHub Copilot达到了55.2%的峰值正确率提升,尽管其参数数量仅为商业解决方案底层Codex模型的1/25。此外,本研究提出了一种对广泛使用的代码填充训练技术的改进,解决了当模型使用小于训练时上下文大小的提示时性能不佳的问题。数据集、基准和模型微调代码已公开。

关键词

引用

@article{arxiv.2405.15729,
  title  = {Optimizing Large Language Models for OpenAPI Code Completion},
  author = {Bohdan Petryshyn and Mantas Lukoševičius},
  journal= {arXiv preprint arXiv:2405.15729},
  year   = {2024}
}

备注

Update: a better quality and readability of figures, better explanation of code infilling and document splitting in training, some text polishing, making it more compact