论文

迈向理解状态空间模型对代码学到了什么

Towards Understanding What State Space Models Learn About Code

模型评测模型行为与机制分析

摘要

状态空间模型 (SSM) 已成为变压器架构的有效替代方案。最近的研究表明,在类似条件下进行训练时,SSM 在代码理解任务(例如代码检索)上可以匹配或超越 Transformer。然而,它们的内部机制仍然是一个黑匣子。我们对基于 SSM 的代码模型实际学习的内容进行了首次系统分析,并对 SSM 和基于 Transformer 的代码模型进行了首次比较分析。我们的分析表明,SSM 在预训练中捕获代码语法和语义方面优于 Transformer,但在任务微调期间忘记了某些语法和语义关系,特别是当任务强调短程依赖时。为了诊断这一点,我们引入了 SSM-Interpret,这是一种频域框架,可在微调过程中暴露向短程依赖性的频谱偏移。在这些发现的指导下,我们提出了架构修改,可以显着提高基于 SSM 的代码模型的性能,验证我们的分析可以直接实现更好的模型。

迈向理解状态空间模型对代码学到了什么
图1:CodeSSM 层架构(左),展示了原始路由机制(中)与所提出的路由方式(右)。