中文

TokDrift:当 LLM 用子词表达时,代码却以语法为语

计算与语言 2025-10-17 v1 人工智能 机器学习 编程语言 软件工程

摘要

面向代码的大语言模型(LLM)依赖子词标记器(如字节对编码 BPE),该标记器从混合自然语言文本和编程语言代码中学习,但其驱动方式基于统计学而非语法。因此,语义相同的代码片段可能因细微因素(如空白字符或标识符命名)而被不同标记化。为衡量此不匹配影响,我们引入TokDrift,一个框架通过应用语义保持的重写规则创建代码变体,从而仅在标记化方面存在差异。在九个代码 LLM(包括参数超过 300 亿的大型模型)上,即使存在轻微格式化更改,也会导致模型行为发生实质性变化。层级分析表明,问题源于早期嵌入层,子词分段未能捕获语法标记边界。我们的发现指出,标记化错位是可靠代码理解与生成的隐蔽障碍,凸显了未来代码 LLM 所需的语法感知标记化方法。

关键词

引用

@article{arxiv.2510.14972,
  title  = {TokDrift: When LLM Speaks in Subwords but Code Speaks in Grammar},
  author = {Yinxi Li and Yuntian Deng and Pengyu Nie},
  journal= {arXiv preprint arXiv:2510.14972},
  year   = {2025}
}