文章主要内容总结
本文提出了一种名为CodeQ的可解释性方法,旨在通过全局代码解释来分析大型语言模型(LM4Code)的代码生成决策过程。CodeQ通过三个核心步骤实现:
- Rationalization:提取影响代码预测的关键输入token子集(rationale),通过贪心算法逐步选择对目标令牌概率贡献最大的token。
- Mapping:将token映射到更高层次的代码概念(如语法结构、自然语言元素等),构建可解释性矩阵。
- Reduction:通过统计聚合(如平均值、中位数)生成全局可解释性张量,揭示模型在代码生成中的系统性趋势。
通过实验验证,CodeQ能够有效识别模型依赖的代码概念(如if
语句、缩进等),并发现模型可能过度依赖无意义token(如标点符号)的问题。用户研究表明,CodeQ的解释具有可读性和实用性,可帮助开发者理解模型行为并促进模型调试。
创新点
- 全局代码解释框架:首次提出基于代码概念的全局解释方法,超越传统token级分