← All MyThs
MYTH009

The Vocabulary Budget

India, Saudi Arabia, Singapore and Portugal have all now launched national language models, and the pitch is the same everywhere: a model that finally speaks our language. I ran the same sentence through every one of their tokenizers I could download, to see what that buys. The answer is real, smaller than the speeches, and comes with a bill that someone else pays.

30 October 2026 AI Culture Policy My research ~10 min read

In the space of seven months this year, three countries launched language models with their flag on them. India’s Sarvam open-sourced two models in March, trained on compute paid for by the government’s IndiaAI Mission,1 and BharatGen, a not-for-profit based at IIT Bombay, unveiled Param 2 at the India AI Impact Summit in February.24 Portugal launched AMALIA, a model for European Portuguese, on 1 July.8 Saudi Arabia's HUMAIN announced humain-m3, a 428-billion-parameter Arabic model, on 3 September.5 Singapore’s national AI programme, meanwhile, is into the fourth generation of SEA-LION, its family of models for Southeast Asian languages.7

The pitch is the same everywhere: a model that finally speaks our language. In MyTh 002 I argued that the cheapest, least arguable unfairness in today's AI is the tokenizer tax, the extra you pay because your language is chopped into more pieces than English. A national model is supposed to be the fix. So rather than argue about it, I measured it.

0 Fewer tokens for ten Indian languages when OpenAI changed tokenizer in 202411
0 Further saving from India's Sarvam tokenizer over GPT-4o's11
0 Share of Sarvam's tokenizer vocabulary identical to Google's Gemma 3. GPT-4o's: 65%11
0× What the same tokenizer costs Thai, compared with Gemma 311

What I measured

The method is the one behind the tokenizer tax interactive. Take Article 1 of the Universal Declaration of Human Rights, which has been professionally translated into almost every written language, and count how many tokens each tokenizer needs for each translation. For this entry I added seven more Indian languages to the original nineteen, and ran the lot through five tokenizers: the one behind GPT-4, the one behind GPT-4o, Google's Gemma 3, Sarvam's, and BharatGen's Param 2. To check the method, I reran OpenAI's two tokenizers the new way and compared the result with the numbers already published on this site. All 38 matched exactly.11

Tokens for Article 1 of the UDHR · ten Indian languages, five tokenizers
LanguageGPT-4GPT-4oGemma 3SarvamParam 2
English for reference3333323240
Hindi18254454542
Marathi19361505046
Bengali21256353545
Tamil33076646464
Urdu15546414153
Gujarati27659584745
Punjabi Gurmukhi script3581021097579
Kannada28957574144
Malayalam32573686061
Telugu28178696763
Total, ten languages2,601662596525542

Three things stand out, and only one of them is the story you would expect.

The biggest drop came from California, not from India. Going from GPT-4's tokenizer to GPT-4o's cut the token count for these ten languages from 2,601 to 662, roughly three-quarters. OpenAI said as much when it launched GPT-4o in May 2024. Its own sample sentence fell from 90 tokens to 31 in Hindi, from 145 to 33 in Gujarati and from 159 to 45 in Telugu.10 Most of the tax I complained about in MyTh 002 had already been cut, in 2024, by the company the sovereign models are positioned against.

The national tokenizers do go further. Sarvam's needs about a fifth fewer tokens than GPT-4o's across the ten languages, and Param 2's about 18% fewer. Since tokens are what you pay for, wait for, and fit into a model's memory, that is a real saving.13 On Hindi, Param 2 comes within a whisker of its own English count. I do not want to undersell that.

Sarvam and Gemma 3 give the same answer on half the table. On Hindi, Marathi, Bengali, Tamil and Urdu, the counts are identical to the token. Sarvam only pulls ahead on Gujarati, Punjabi, Kannada, Malayalam and Telugu. That pattern was too neat to be chance, so I looked inside.

A vocabulary is a budget

A tokenizer's vocabulary is a fixed-size list of the pieces it is allowed to use. Gemma 3's has 262,144 entries. So does Sarvam's. When I compared the two lists entry by entry, 239,316 of Sarvam's entries (91.3%) turned out to be character-for-character identical to Gemma 3's.11

That number needs a baseline, because unrelated tokenizers overlap a lot too. They all learn the same common words and word pieces. GPT-4o's vocabulary shares about 65% of its entries with Gemma 3's, and AMALIA's about 72%.11 So 91% on its own proves nothing. What is telling is the combination: the same size to the entry, and the precise shape of the difference.

The other 22,828 entries are where it gets interesting. Classified by script, the entries only Sarvam has are almost all Indian: about 3,600 in Gurmukhi (Punjabi), 3,400 in Odia, 2,900 in Kannada, 2,600 in Gujarati, 2,500 in Telugu, 2,400 in Meetei Mayek (Manipuri), 2,100 in Malayalam and 1,300 in Ol Chiki (Santali). The same number of entries that only Gemma 3 has are mostly Korean, Japanese, Latin-script, Thai, Chinese and Ethiopic.11 The simplest reading is that the vocabulary was kept at the same size and around 23,000 slots were reassigned, mostly away from East and Southeast Asian scripts and towards Indian ones. That fits exactly with what Sarvam itself says its tokenizer is for: it singles out Odia, Santali and Manipuri as the languages where it is “significantly more efficient”.2 It also explains the table. Devanagari, Bengali and Tamil script, and the Arabic script Urdu uses, were already well covered in Gemma 3, so nothing changed for them.

Building on a strong existing vocabulary and adapting it is sensible engineering, and nothing in Sarvam's own account rules it out. Its blog says the models were trained from scratch and that it “optimized tokenization”, and both can be true at once.2 My point is a different one. A fixed-size vocabulary is a zero-sum budget, so a slot spent on Kannada is a slot not spent on something else. You can see who paid for this one. On the same UDHR sentence, Sarvam's tokenizer needs 424 tokens for Thai against Gemma 3's 62, 219 for Korean against 49, 183 for Japanese against 46, and 309 for Amharic against 83.11

A national tokenizer does not abolish the tax. It decides who pays it.

For a model built to serve India, that is a defensible choice. Nobody should be running Thai through Sarvam. But it punctures the idea that the tokenizer tax gets solved one national model at a time. Each national vocabulary moves the tax onto the speakers it was not built for. Of the tokenizers I measured, the one that did best on Amharic was Google’s Gemma 3, at 83 tokens against 206 for GPT-4o and 305 for Param 2. It was not anyone’s national one. Speakers of languages without a well-funded state behind them depend, as before, on whether the big general-purpose models decide to include them.

Whose foundations?

“Sovereign” is doing a lot of work in these launches, so it is worth itemising what each one actually owns. Every claim below is from the builders' own announcements or model cards, except the tokenizer figures, which are mine.

Five national models · what they are built on
ModelBuilt onTokenizer
Sarvam 30B and 105BIndia · Sarvam “Trained from scratch”, entirely in India, on IndiaAI Mission compute; Apache 2.0 licence.23 262,144 entries, 91.3% identical to Gemma 3's.11
Param 2India · BharatGen 17-billion-parameter mixture-of-experts model for 22 Indian languages, trained with IndiaAI Mission GPUs.4 128,000 entries, 37% shared with Gemma 3, well below the 65% GPT-4o shares: a distinct design.11
humain-m3Saudi Arabia · HUMAIN “Commissioned by HUMAIN and delivered by MiniMax”, from the MiniMax-M3 lineage, with further pre-training on more than a trillion tokens of Arabic. Weights planned under the MiniMax Community License.56 Not measured: I could not find public weights when I checked.
Gemma-SEA-LION v4Singapore · AI Singapore Post-training on Google's Gemma 3.7 Other SEA-LION releases are built on NVIDIA's Nemotron, and AI Singapore also publishes variants named for Llama, Qwen and Apertus. “The default tokenizer used in Gemma 3”, and identical when measured.711
AMALIAPortugal · IT, IST, Unbabel, NOVA, FCT Extends the pre-training of EuroLLM, a model built for all 24 official EU languages and 11 others, towards European Portuguese; €5.5 million from Portugal's Recovery and Resilience Plan; Apache 2.0.89 128,000 entries.11

None of this is a scandal. Fine-tuning an open model is how most of the field works, and choosing a strong partner is a reasonable way to move fast. But it does mean “sovereign” covers very different things. It can mean training from scratch on home compute. It can mean commissioning a model from a foreign company under that company's licence. It can mean post-training someone else's model on local data. These are different arrangements, with different consequences for who can change the model, who can withdraw it, and who learns how to build the next one. They deserve different words.

A nation is not a language

The deeper problem with the national framing is that the unit is wrong. India alone has 22 scheduled languages written in 12 scripts, which is exactly why Sarvam had to make the choices it did.2 “An Indian model” is a coalition of many language models sharing one budget.

Arabic shows the same problem from the other direction. humain-m3 is described as an Arabic model trained on Arabic-native content.5 But the Arabic people speak varies a great deal from country to country. In our own work we tested how large language models, mainly GPT-4, handle health claims written in Saudi, Egyptian, Lebanese and Moroccan Arabic. They were good at recognising true claims and struggled with mixed and ambiguous ones, “especially in underrepresented dialects”.12 A single “Arabic” score on a benchmark tells you little about which Arabic.

Then there is the detail in Sarvam's launch post that I keep coming back to. Describing how its Indus assistant answers a question asked in an Indian language, the post says: “Web search is conducted in English to access current and comprehensive information, while the model interprets the query and delivers a correct response”.2 That is an honest and sensible engineering choice. It is also the point from MyTh 002, in one sentence: what decides who a model serves is where the written-down knowledge is, not how many people speak the language. You can build the model at home, train it on home compute and give it a tokenizer that respects your scripts. When it needs to know something current, it still goes and reads it in English.

The model can be national. The knowledge it looks up is still mostly in English.

And the scores are mostly self-reported

One last caution, which applies to every launch above. Sarvam's benchmark tables are its own.2 HUMAIN's claim that humain-m3 achieved “the highest average score” across seven Arabic benchmarks comes from its own evaluation.5 That is normal for a launch, and it is not an accusation. But MyTh 002 described work showing that cultural evaluations of language models can move more when the question is reformatted than when the country is changed.14 Until there are independent evaluations, in the actual dialects and registers people use, claims that a national model “understands” its country should be read as hopes.

Build them, but stop calling them a fix

I am in favour of these models. Someone has to care about Odia, Santali and Manipuri tokenization, and the market on its own was never going to. Sarvam making tokenizer efficiency a headline feature, and publishing a comparison with other tokenizers, is the easy win MyTh 002 complained nobody was taking. Param 2 bringing Hindi close to its own English cost is a real achievement. But four things follow from the measurements, and none of them is in the launch speeches.

  • Itemise sovereignty. Data, tokenizer, weights, compute and licence are five separate questions, and the answer can be “ours” for some and “someone else's” for others. Any government buying or funding a “sovereign” model should ask all five and publish the answers.
  • Treat the vocabulary as public policy. If a national tokenizer saves your languages money by charging other languages more, that is a reasonable trade, but it should be a stated one. Publish token cost per language, including the languages you made more expensive.
  • The tax is not only a national problem. The speakers who pay the most, such as Amharic in my measurements, are the ones least likely to get a well-funded national model. The general-purpose models still matter most to them, and pressure on those models' tokenizers is still worth applying. It worked once already: 2,601 tokens down to 662.
  • The lasting asset is the writing, not the weights. Model weights date quickly. A corpus of well-curated, machine-readable text in your languages will not, and it is the only thing that changes where a model has to go to look things up. If I were advising a ministry, that is where I would put the money.

The national model is a good idea sold with the wrong slogan. It does not make the language problem go away. It moves it, prices it and hands it to someone. The least we can ask is to be told who.

Sources

  1. Press Information Bureau, Government of India, Cabinet Approves Ambitious IndiaAI Mission to Strengthen the AI Innovation Ecosystem, 7 March 2024. Budget outlay of Rs 10,371.92 crore, including public AI compute of 10,000 or more GPUs and investment in indigenous foundation models. pib.gov.in
  2. Sarvam AI, Open-Sourcing Sarvam 30B and 105B, 6 March 2026. Source of: “trained from scratch”; training “conducted entirely in India on compute provided under the IndiaAI mission”; “we optimized tokenization”; tokenizer “optimized for efficient tokenization across all 22 scheduled Indian languages, spanning 12 different scripts” and “significantly more efficient for low-resource languages such as Odia, Santali, and Manipuri (Meitei)”; the Indus web-search quotation; and the benchmark tables. sarvam.ai
  3. Sarvam AI, sarvam-30b model card, Hugging Face: mixture-of-experts model with 2.4B non-embedding active parameters, “state-of-the-art performance across 22 Indian languages for its model size”, open-sourced under the Apache License. huggingface.co
  4. ‘Most real world use cases don’t need trillion parameter AI’: BharatGen CEO Rishi Bal on Param 2 launch, Business Today, 16 February 2026: 17-billion-parameter mixture-of-experts model supporting 22 Indian languages, unveiled at the India AI Impact Summit 2026, trained on IndiaAI Mission GPUs. BharatGen is the BharatGen Technology Foundation, a not-for-profit based at IIT Bombay (bharatgen.com). businesstoday.in
  5. HUMAIN, HUMAIN Unveils humain-m3, a Frontier Arabic Language Model Developed by MiniMax, in Research Preview on HUMAIN Node, press release, Riyadh, 3 September 2026, as published by The AI Journal. HUMAIN is “a PIF company”; the model is a 428-billion-parameter mixture-of-experts model “commissioned by HUMAIN and delivered by MiniMax”, further pre-trained on “more than one trillion tokens of Arabic-native content”; benchmark claim; weights expected under the MiniMax Community License. aijourn.com
  6. Saudi Arabia taps China’s MiniMax for Arabic AI model, Al-Monitor, September 2026. al-monitor.com
  7. AI Singapore, Gemma-SEA-LION-v4-27B-IT model card, Hugging Face: post-training on a model “using the Gemma 3 architecture”; “For tokenization, the model employs the default tokenizer used in Gemma 3 27B IT.” AI Singapore is “a national programme supported by the National Research Foundation”; its Nemotron-SEA-LION v4.8 suite is described as “its first Nemotron-based models” (sea-lion.ai); AI Singapore’s Hugging Face organisation also lists Llama-SEA-LION, Qwen-SEA-LION and Apertus-SEA-LION models (huggingface.co/aisingapore). huggingface.co
  8. Instituto de Telecomunicações, AMALIA Officially Launched: Portugal’s First Large Language Model Enters Public Deployment, 1 July 2026: €5.5 million from Portugal’s Recovery and Resilience Plan; consortium of IT, Instituto Superior Técnico, Unbabel, NOVA University Lisbon and FCT. it.pt
  9. AMALIA LLM Project, AMALIA-9B-0626-DPO model card, Hugging Face: “an open-source language model targeting European Portuguese”; “We extend EuroLLM pretraining to better cover European Portuguese knowledge”; Apache 2.0 licence. huggingface.co
  10. OpenAI, Hello GPT-4o, 13 May 2024, “Language tokenization” section: Hindi “2.9x fewer tokens (from 90 to 31)”, Gujarati “4.4x fewer tokens (from 145 to 33)”, Telugu “3.5x fewer tokens (from 159 to 45)”. Read via the Internet Archive, as the original blocks automated access. openai.com · archived copy
  11. Author’s measurement, 30 October 2026. Article 1 of the UDHR from the Unicode UDHR in XML project (the nineteen texts behind the tokenizer tax interactive, plus Gujarati, Kannada, Malayalam, Marathi, Eastern Panjabi, Tamil and Urdu), tokenized with Hugging Face transformers.js 3.0.2, without special tokens. Tokenizers: Xenova/gpt-4 (cl100k_base), Xenova/gpt-4o (o200k_base), unsloth/gemma-3-27b-it (Gemma 3, used because Google’s own repository requires sign-in; its vocabulary is identical, entry for entry, to the Gemma 3 tokenizer AI Singapore ships with Gemma-SEA-LION v4), aisingapore/Gemma-SEA-LION-v4-27B-IT, sarvamai/sarvam-30b, bharatgenai/Param2-17B-A2.4B-Thinking and amalia-llm/AMALIA-9B-0626-DPO. Checks: the cl100k and o200k counts reproduce all 38 published tiktoken counts exactly, and every tokenizer decodes its own tokens back to the original text for all 26 languages. Param 2’s pre-tokenizer uses the \h regex escape, which JavaScript lacks, so it was replaced with its definition (tab or Unicode space separator); the texts contain no other horizontal whitespace, so counts are unaffected. Vocabulary overlap is exact string comparison of the vocabulary lists. Byte-level vocabularies (GPT-4, GPT-4o, Param 2) are first decoded to text, with a leading space written as Gemma’s “▁” marker; entries that are not complete UTF-8 cannot match. Scripts were assigned by the first Unicode script found in each entry. Caveat: this is one short passage per language, and translations differ in length and wording, so compare tokenizers within a row, not languages across rows. Data: tokenizers.json · script, which runs in the browser and reproduces it: measure.html.
  12. Abdulsalam Obaid Alharbi, Abdullah Alsuhaibani, Abdulrahman Abdullah Alalawi, Usman Naseem, Shoaib Jameel, Salil Kanhere and Imran Razzak, Evaluating Large Language Models on Health-Related Claims Across Arabic Dialects, Proceedings of the 1st Workshop on NLP for Languages Using Arabic Script (AbjadNLP), COLING 2025, Abu Dhabi, January 2025, pp. 95–103. aclanthology.org
  13. Aleksandar Petrov, Emanuele La Malfa, Philip H. S. Torr and Adel Bibi, Language Model Tokenizers Introduce Unfairness Between Languages, NeurIPS 2023; arXiv:2305.15425. Identifies cost, latency and context length as the consequences of longer tokenization. arxiv.org
  14. Ariba Khan, Stephen Casper and Dylan Hadfield-Menell, Randomness, Not Representation: The Unreliability of Evaluating Cultural Alignment in LLMs, ACM Conference on Fairness, Accountability and Transparency (FAccT ’25), Athens, June 2025; arXiv:2503.08688. arxiv.org

Sources checked on 30 October 2026. Three things to flag. First, the token counts are my own measurement, not the builders’ figures. Sarvam publishes its own fertility comparison over much larger text, and that is the better guide to average cost. Mine shows where the differences fall and why. Second, “the simplest reading” in section two is an inference from the vocabulary comparison, not something Sarvam has said; I would be glad to be corrected by anyone who knows how the vocabulary was built. Third, HUMAIN’s weights had not been released when I checked, so humain-m3 is described from its announcement only. Corrections to shoaib.jameel@gmail.com.

Declared interest: source 12 is my own work, and I work on language models for Arabic dialects and low-resource languages, so I have a professional stake in the argument that national framing hides dialect and minority-language problems. Written in a personal capacity; not the view of the University of Southampton or any body I sit on.

Disagree?

If you have better data, that is the most useful thing you can send me.

Argue with me Subscribe Every MyTh