- 简介代码生成旨在自动生成符合自然语言要求的代码片段,在软件开发中发挥着重要作用。虽然代码语言模型在这个领域表现出了出色的性能,但它们的长时间生成过程在实际使用中存在显著的限制。本文首先对不同的代码语言模型在代码生成任务上进行了深入的初步研究,并发现了一个重要的效率问题,即不断生成多余的标记。这会损害开发人员的生产力并导致巨大的计算浪费。为了解决这个问题,我们引入了CodeFast,一种用于代码生成的代码语言模型推理加速方法。CodeFast的关键思想是在检测到不必要的多余标记时及时终止推理过程。首先,我们提出了一个自动数据构建框架来获取训练数据。然后,我们训练了一个统一的轻量级模型GenGuard,适用于多种编程语言,以预测是否在当前步骤终止推理。最后,我们通过GenGuard增强了Code LLM,加速了它在代码生成任务中的推理。我们在四个广泛使用的代码生成数据集上,对五个代表性的代码语言模型进行了CodeFast的广泛实验。实验结果表明,CodeFast可以显著提高各种代码语言模型在代码生成中的推理速度,范围从34%到452%,而不会影响生成代码的质量。CodeFast在不同的参数设置下稳定,并且可以推广到未经过训练的数据集。我们的代码和数据可在https://github.com/DeepSoftwareAnalytics/CodeFast上获得。
- 图表
- 解决问题解决问题的问题是加速Code LLMs在代码生成任务中的推理过程,以提高开发人员的生产力和减少计算浪费。
- 关键思路CodeFast是一种推理加速方法,通过在推理过程中检测不必要的多余标记来终止推理过程,从而加速Code LLMs在代码生成任务中的推理过程。
- 其它亮点论文使用自动数据构建框架来获取训练数据,并使用统一的轻量级模型GenGuard来预测是否在当前步骤终止推理。CodeFast可以显著提高各种Code LLMs在代码生成中的推理速度,范围从34%到452%,而不会影响生成代码的质量。CodeFast在四个广泛使用的代码生成数据集上进行了广泛的实验,稳定性良好,可以推广到未经过训练的数据集。代码和数据可在https://github.com/DeepSoftwareAnalytics/CodeFast上获得。
- 最近的相关研究包括:1)CodeBERT:一种预训练的深度学习模型,用于源代码处理任务;2)CodeT5:一种基于T5的深度学习模型,用于源代码生成任务。
沙发等你来抢
去评论
评论
沙发等你来抢