解构代码大模型黑盒:任务、语言与架构如何独立塑造神经表征

最新研究通过对比Qwen2.5-Coder与DeepSeek-Coder在Python及Rust代码上的表现,系统解构了代码大模型的内部表征机制。研究发现,模型对代码内容的理解具有高度跨模型一致性,主要由任务类型决定;而表征的具体位置与机制则显著依赖于模型架构。实验揭示Rust代码激发的神经回路资源是Python的两至三倍,且不同模型间存在差异化的神经元共享模式。这一发现为理解大模型代码能力的通用性与特异性提供了关键实证,对优化代码生成模型的可解释性及架构设计具有重要指导意义。

本研究旨在深入探究独立训练的大型语言模型在处理代码时,其内部表征机制究竟在多大程度上是通用的,又在多大程度上依赖于特定的模型架构或编程语言。尽管代码模型在开源社区和工业界广泛应用,但关于它们如何内部编码语法结构、语义概念以及不同语言特性之间的差异,尚缺乏系统性的对比分析。本文的核心贡献在于提出并实施了一个严谨的2x2实验设计,交叉考察了两种主流编程语言(Python和Rust)与两种不同架构的代码专用模型(Qwen2.5-Coder-7B和DeepSeek-Coder-V1-6.7B)。通过扩展最近提出的概念电路提取方法,研究团队构建了一个能够分离任务、语言和模型各自影响的极简实验框架,对涵盖58个Python概念和57个Rust概念的完整语法清单进行了统一测量。这一设计不仅回答了"模型是否以相同方式表征相同事物"的基础问题,更揭示了代码表征中"内容"与"计算组织"之间的解耦现象,为理解代码模型的内部工作原理提供了全新的视角和实证依据。在技术方法上,研究并未预设任何固定的结构假设,而是通过数据驱动的方式提取并分析概念电路。

具体而言,研究者利用概念电路提取技术,识别出模型内部专门处理特定语法概念的神经元子集。为了量化模型间的一致性,研究采用了Spearman相关系数来评估不同模型对同一概念分配电路的概率分布。在位置分析上,研究追踪了电路活跃的具体层数,发现不同模型在处理相同概念时,其关键计算发生在网络的不同深度。在机制分析上,研究考察了电路随层数增长的动态模式,例如早期激活的尖峰特征。此外,为了验证提取出的电路并非偶然噪声,研究还结合了消融实验和线性探针技术,确认这些电路在移除后确实会导致模型性能下降,从而证明其功能性。这种多维度的分析方法,使得研究能够从内容一致性、空间分布和动态演化三个层面,全面解构代码表征的形成机制。

实验结果呈现出三个维度的显著差异。首先,在"什么"被表征的层面上,模型间表现出高度的一致性,Python和Rust的概念电路分配相关性分别达到0.638和0.673,且统计显著性极高,这表明任务本身决定了哪些概念需要专门的电路支持。其次,在"哪里"进行计算的层面上,模型架构起到了决定性作用:Qwen模型主要在较晚的层(约第17-19层)处理概念,而DeepSeek则在较早的层(第6-7层)完成这一过程。第三,在"如何"构建电路的层面上,Qwen表现出原子概念在早期层的显著激活尖峰,而DeepSeek则无此特征。此外,研究还发现Rust代码获得的特定电路资源是Python的2-3倍,暗示了Rust更复杂的类型系统对模型表征提出了更高要求。在跨语言共享方面,两个模型都表现出神经元共享现象,DeepSeek的共享比例(1.94倍)高于Qwen,且Qwen特别将Rust类型和特征系统的九个关键词绑定到一个紧密的神经元簇中,这种语义维度在表面语法中是不可见的。

这项研究对代码模型的理解、优化及后续应用具有深远的行业意义。首先,它打破了"代码表征具有单一通用结构"的简单假设,指出表征的通用性仅限于内容层面,而计算实现具有高度的模型特异性。这对模型压缩、微调及知识蒸馏具有重要启示:针对不同模型架构,需要定制化的电路干预策略。其次,Rust代码更高的电路复杂度提示,在处理强类型语言时,模型可能需要更多的计算资源或更深层次的理解能力,这为编译器辅助代码生成和静态分析工具的优化提供了理论依据。最后,模型间神经元共享的发现,特别是DeepSeek在跨语言语义共享上的优势,为构建多语言统一的代码基础模型提供了新的思路。未来研究可进一步验证这种基于模型的表征预测能力,探索其在更广泛编程语言和更大规模模型中的普适性,从而推动代码AI从黑盒预测向可解释、可控制的智能系统演进。

Sources