我们对8个参数规模在6.7B到15B之间的代码语言模型进行实验,使用DELTASECOMMITS、SVEN和PRECISE‑BUGS三个C语言数据集。实验设计了两类诊断任务:一是识别代码实现的模式,二是判断代码是否存在漏洞。结果显示,模型能够高保真地编码第一类信息,即能够准确捕捉代码所对应的模式。
在相同的表示空间和线性探 probing 设置下,漏洞信息更容易以配对的关系信号呈现——即代码A相对于代码B的风险高低——而不是作为全局可分的类别标签出现。这意味着模型能够可靠地对两段代码进行风险排序,但在单独样本上使用标准线性分类器时,易受漏洞和安全样本在表示空间中分布重叠的限制,导致分类准确率受限。
该结构差异提示:在实际安全检测中,利用配对比较或排序方式可能比直接的二分类更有效。
点评