GiFT:基于 Gibbs 抽样的代码生成微调
机器学习
2025-05-22 v2 计算与语言
软件工程
摘要
使用合成数据训练大型语言模型(LLM)是代码生成中常见的做法。一个关键方法是自训练,其中 LLM 在自生成的正确代码片段上进行迭代训练。在这种情况下,自生成的代码是从特定种子描述的条件分布中抽取的。然而,种子描述并非唯一有效的表示方式。由于所有有效描述和代码在形成联合空间后,基于条件分布抽取的代码会导致对完整描述-代码空间的代表性不足。因此,我们提出了受 Gibbs 抽样启发的新型自训练方法——Gibbs 微调(GiFT)。GiFT 允许自生成数据从联合空间的边际分布中抽取,从而缓解条件抽样中固有的偏差。我们提供了理论分析,表明使用来自边际分布的代码进行微调的潜在优势。此外,我们提出了基于囊惑度的代码选择方法,以缓解自生成代码中不平衡长尾分布的影响。对两个 LLM 在四个数据集上的经验评估表明,GiFT 在各项指标上均实现了优异性能,尤其在更具挑战性的基准测试上效果更为突出。源代码已公开于 https://github.com/Alex-HaochenLi/GiFT。
引用
@article{arxiv.2502.11466,
title = {GiFT: Gibbs Fine-Tuning for Code Generation},
author = {Haochen Li and Wanjin Feng and Xin Zhou and Zhiqi Shen},
journal= {arXiv preprint arXiv:2502.11466},
year = {2025}
}
备注
Accepted to ACL 2025