论文
代码如何帮助不同任务?LLM后训练的分解视角
How code helps different tasks? A decompositional lens on LLM post-training
摘要
将代码数据作为单个语料库进行评估可能会掩盖哪些类型的代码数据有利于哪些模型和下游任务。有效的数据选择需要了解各个类别的好处以及这些好处在组合类别后是否持续存在。我们引入了分解透镜来研究LLM后训练的这些影响。我们首先根据其解决方案的计算模式将执行验证的代码语料库分解为可解释的类别。通过受控微调实验,我们将各个类别与问答、数学和代码生成方面的指令调整模型的平衡混合物进行比较。由此产生的响应图揭示了平均问答性能的反复增益,而同一类别可以改进一个模型或任务并降低另一个模型或任务的性能。表现最好的类别也随着起始模型和目标任务的不同而变化。然后,我们根据这些结果构建紧凑的混合物,并检查在联合训练下在各个类别中观察到的益处是否持续存在。在选定的模型-任务对上,其成分各自改善目标任务的混合物在使用大约 10--15% 的完整语料库时优于其最佳成分和完整语料库训练。这些探索性发现说明了 少即是多 模式,并强调了训练后代码数据的价值如何取决于为哪个模型和任务组合哪些类别。