Aug, 2023

评估经过教学调整的大型语言模型在代码理解和生成上的表现

TL;DR在这项研究中,我们评估了 10 个开源指导式 LLMs 在四个代表性的代码理解和生成任务上的表现,并得出了以下主要发现:首先,在零样本设置下,指导式 LLMs 在代码理解和生成任务上非常有竞争力,有时甚至比特定于每个下游任务进行微调的小型 SOTA 模型表现更好。我们还发现,对于与代码相关的任务,并非总是越大的指导式 LLMs 表现更好。其次,在少样本设置下,我们发现添加演示示例可以大大帮助指导式 LLMs 在大多数代码理解和生成任务中表现得更好;然而,这些例子有时会导致不稳定甚至更差的表现。此外,我们发现广泛使用的基于 BM25 的选样策略在生成问题上明显优于基本随机选样或固定选样。第三,在微调设置下,我们发现与零样本 / 一样本的表现相比,微调可以进一步提高模型在下游代码理解和生成任务中的性能。此外,在在相同下游任务数据集上进行微调后,指导式 LLMs 的性能优于小型 SOTA 模型和未进行指导微调的相似规模 LLMs。根据我们的发现,我们进一步提出了有关模型和使用建议、性能和成本的权衡以及未来方向的实用影响。