Is Your LLM Overcharging You? Tokenization, Transparency, and Incentives
Abstract
Lay Summary
When you use an AI chatbot through a cloud service, you pay based on how many "tokens" the model produces — the small chunks, often pieces of words, that language models use to build text. However, the same response can be split into tokens in many different ways. For example, the word "Damascus" could be a single token, or as four ("Da", "ma", "s", "cus"), and you, as the user, have no way to verify which split the model really used. We show that this hidden flexibility gives providers a financial incentive to overcharge customers by reporting longer token counts than what their model actually generated. As a proof of concept, we built an algorithm showing how a provider could do this profitably without raising suspicion. To eliminate this incentive entirely, we prove that the only fair pricing scheme is one that charges per character of text rather than per token. Switching to pay-per-character would protect users from being silently overcharged, and as a side benefit, it would partially correct an existing unfairness for speakers of non-English languages, whose text tends to be split into more tokens than English.