Page 112 - 《软件学报》2026年第6期
P. 112
软件学报 ISSN 1000-9825, CODEN RUXUEW E-mail: jos@iscas.ac.cn
2026,37(6):2431−2454 [doi: 10.13328/j.cnki.jos.007462] [CSTR: 32375.14.jos.007462] http://www.jos.org.cn
©中国科学院软件研究所版权所有. Tel: +86-10-62562563
*
基于自适应知识蒸馏的代码大模型轻量化
舒善富 1 , 刘 超 1 , 孙毓忠 2 , 张洪宇 1 , 高翠芸 3 , 张小洪 1
1
(重庆大学 大数据与软件学院, 重庆 401331)
2
(中国科学院 计算技术研究所, 北京 100190)
(哈尔滨工业大学 (深圳) 计算机科学与技术学院, 广东 深圳 518055)
3
通信作者: 刘超, E-mail: liu.chao@cqu.edu.cn
摘 要: 以大语言模型 (large language model, LLM) 为基座的软件编程助手 (如 Copilot), 能够显著提升程序员开发
效率, 但 LLM 的计算和存储需求大、本地化部署难. 构建轻量化小参数 LLM 能够满足计算、存储、部署需求, 但
其代码生成的精度损失比大参数 LLM 大. 知识蒸馏 (knowledge distillation, KD) 技术, 让小参数 LLM (学生模型)
在目标训练数据集上拟合大参数 LLM (教师模型) 的生成分布, 降低代码生成精度损失. 人工智能领域前沿的 KD
技术基于 Kullback-Leibler (KL) 散度损失函数, 度量并缩小因学生/教师模型的生成分布差异导致的精度损失, 但
学生模型难以学习教师模型的趋零分布区域. 随后, 学者利用反向 KL 散度损失 (RKL) 函数解决该趋零分布区域
的学习问题. 研究发现, RKL 在高概率分布区域存在学习问题, 与 KL 散度损失函数存在互补性; 对于一些数据, 教
师模型生成质量低, 导致学生模型学习效果差. 提出一种自适应知识蒸馏 (adaptive knowledge distillation, AKD) 方
法, 通过 prompt 提升教师模型的生成质量, 并构造自适应损失函数, 根据学生/教师模型之间的生成分布差异自适
应调整学习的优先级, 确保学生模型在主要概率区域和趋零概率区域均具备学习能力. 基于 AKD 方法, 利用
StarCoder-1B/7B (学生/教师模型) 和 CodeAlpaca 数据, 训练了轻量化代码大模型, 并评估代码大模型的精度损失
及生成代码的质量问题. 实验结果显示, 轻量化代码大模型规模降低 85.7%, 在 HumanEval 和 MBPP 数据集上, 任
务提示明确的 prompt 可以提高教师模型的代码生成质量, 使训练的学生模型降低 6% 的平均精度损失; AKD 方法
训练的模型较教师模型 (StarCoder-7B) 的平均精度损失为 17.14%, 较原始学生模型平均降低 30.6%; AKD 方法训
练的模型较前沿的 KD 和 RKD 方法的精度损失平均降低 19.9%; 关于推理显存需求情况, KD 和 RKD 方法需要
54.7 GB, 而 AKD 方法仅增加 3 GB. 关于训练时间方面, AKD 方法所需训练时间增加 30%; 相较而言, 即使 KD 和
RKD 方法训练至相同时长, 它们的平均效果仅提升 3%, 相比 AKD 方法低 16.9%. 因此, AKD 方法增加的训练成本
是值得的. 此外, 将 AKD 方法应用到 Code Llama 和 CodeGen 系列模型, 相较前沿的 KD 及 RKD 方法的精度损失
平均降低 19.2%, 证明了 AKD 方法的泛化能力.
关键词: 代码生成; 大语言模型; 知识蒸馏
中图法分类号: TP311
中文引用格式: 舒善富, 刘超, 孙毓忠, 张洪宇, 高翠芸, 张小洪. 基于自适应知识蒸馏的代码大模型轻量化. 软件学报, 2026, 37(6):
2431–2454. http://www.jos.org.cn/1000-9825/7462.htm
英文引用格式: Shu SF, Liu C, Sun YZ, Zhang HY, Gao CY, Zhang XH. Adaptive Knowledge Distillation for Lightweight Large Code
Models. Ruan Jian Xue Bao/Journal of Software, 2026, 37(6): 2431–2454 (in Chinese). http://www.jos.org.cn/1000-9825/7462.htm
* 基金项目: 国家自然科学基金 (62202074, 62372071); 中国博士后科学基金 (2022M710519); 重庆市技术创新与应用发展专项重点项目
(CSTB2023TIAD-STX0015, CSTB2022TIAD-KPX0068); 重庆市出站留 (来) 渝博士后择优资助项目 (2021LY23)
收稿时间: 2024-11-03; 修改时间: 2025-01-05, 2025-03-03, 2025-04-07; 采用时间: 2025-05-06; jos 在线出版时间: 2025-12-03
CNKI 网络首发时间: 2025-12-04

