通过语法嵌入解释提升代码任务大语言模型的可信度与可解释性
软件工程
2025-10-13 v1 人工智能
机器学习
摘要
可信度与可解释性在大语言模型中息息相关。一个大语言模型越可解释,它就越可信。然而,当前用于代码相关任务的解释技术大多关注准确率测量、模型对变化的反应,或单个任务性能,而非在预测时所需的细粒度解释,从而限制了可解释性和可信度。为改进这一现状,本文引入 ASTrust,一种针对大语言模型的解释方法,通过模型置信度与编程语言语法结构之间的关系生成解释。ASTrust 基于抽象语法树(Abstract Syntax Tree,AST)的语法类别为生成的代码提供上下文,并帮助实践者在局部(单个代码片段)和全局(更大规模代码数据集)水平上理解模型预测。通过将模型置信度分布到 AST 中存在的众多熟知语法结构上,我们的方法超越了仅进行标记级置信度映射的先前技术,提供一种直接与开发人员熟悉的编程语言概念相吻合的模型置信度视图。在实际中,我们开发了一种自动可视化工具,展示了叠加在序列、热图和基于图的语法结构可视化上的聚合模型置信度。我们通过在 12 个流行大语言模型上进行数据科学研究(针对精选的 GitHub 代码库)以及人类研究来评估 ASTrust 的实际收益及其有用性。
引用
@article{arxiv.2407.08983,
title = {Towards More Trustworthy and Interpretable LLMs for Code through Syntax-Grounded Explanations},
author = {David N. Palacio and Daniel Rodriguez-Cardenas and Alejandro Velasco and Dipin Khati and Kevin Moran and Denys Poshyvanyk},
journal= {arXiv preprint arXiv:2407.08983},
year = {2025}
}
备注
Under Review to appear in ACM Transactions on Software Engineering and Methodology (TOSEM)