TokDrift: When LLM Speaks in Subwords but Code Speaks in Grammar
Yinxi Li, Yuntian Deng, Pengyu Nie
TL;DR
TokDrift exposes a misalignment between subword LLM tokenization and programming language grammar by applying semantic-preserving rewrites and measuring cross-model sensitivity across bug fixing, summarization, and translation tasks. The framework reveals that minor formatting changes can shift outputs, with root causes traced to early embeddings and token boundary misalignments, and larger models generally exhibiting reduced sensitivity. The work provides a large-scale, open framework and dataset for evaluating grammar-aware tokenization approaches, and argues for developing grammar-aligned tokenizers to improve code reliability and robustness in LLMs. Overall, TokDrift highlights tokenization as a critical design factor in code LLMs and motivates grammar-aware tokenization as a pathway to more robust code understanding and generation.
Abstract
Large language models (LLMs) for code rely on subword tokenizers, such as byte-pair encoding (BPE), learned from mixed natural language text and programming language code but driven by statistics rather than grammar. As a result, semantically identical code snippets can be tokenized differently depending on superficial factors such as whitespace or identifier naming. To measure the impact of this misalignment, we introduce TokDrift, a framework that applies semantic-preserving rewrite rules to create code variants differing only in tokenization. Across nine code LLMs, including large ones with over 30B parameters, even minor formatting changes can cause substantial shifts in model behavior. Layer-wise analysis shows that the issue originates in early embeddings, where subword segmentation fails to capture grammar token boundaries. Our findings identify misaligned tokenization as a hidden obstacle to reliable code understanding and generation, highlighting the need for grammar-aware tokenization for future code LLMs.
