Tokenization Multiplicity Leads to Arbitrary Price Variation in LLM-as-a-service
Ivi Chatzi, Nina Corvelo Benz, Stratis Tsirtsis, Manuel Gomez-Rodriguez
TL;DR
This paper reveals that pay-per-token pricing for LLM-as-a-service can incur arbitrary cost differences even for identical outputs due to tokenization multiplicity, especially in non-English languages. It introduces canonical generation, a constrained generation framework that forces outputs to the training-time canonical tokenization, and a Gumbel-Max-based sampling algorithm to realize it efficiently. The authors prove that subsequences of canonical token sequences are themselves canonical for common tokenizers and show that canonical generation yields token-sequence distributions closer to the training distribution in KL terms, while maintaining similar performance and speed to standard generation. Empirically, tokenization multiplicity is shown to occur across languages and tasks; canonical generation fixes the pricing issue with minimal practical penalties, making it a promising approach for fairer and more predictable LLM pricing and usage. The work also provides insights into tokenizer properties and constrained generation, with open-source code and data available for replication.
Abstract
Providers of LLM-as-a-service have predominantly adopted a simple pricing model: users pay a fixed price per token. Consequently, one may think that the price two different users would pay for the same output string under the same input prompt is the same. In our work, we show that, surprisingly, this is not (always) true. We find empirical evidence that, particularly for non-english outputs, both proprietary and open-weights LLMs often generate the same (output) string with multiple different tokenizations, even under the same input prompt, and this in turn leads to arbitrary price variation. To address the problem of tokenization multiplicity, we introduce canonical generation, a type of constrained generation that restricts LLMs to only generate canonical tokenizations -- the unique tokenization in which each string is tokenized during the training process of an LLM. Further, we introduce an efficient sampling algorithm for canonical generation based on the Gumbel-Max trick. Experiments on a variety of natural language tasks demonstrate that our sampling algorithm for canonical generation is comparable to standard sampling in terms of performance and runtime, and it solves the problem of tokenization multiplicity.
