Models Jul 19, 2026 4 min read

    Pretrained From Scratch for Naija: Introducing mist-encoder-base-ng

    OO
    Olumide Ola
    Olaverse Lab
    Pretrained From Scratch for Naija: Introducing mist-encoder-base-ng

    A 30.9M-parameter encoder built from the ground up for Hausa, Yoruba, Igbo, and Nigerian Pidgin, with a tokenizer that beats GPT-4o’s on all four.


    Most “African language support” in NLP is an afterthought: a massive multilingual model where Yoruba got a sliver of the training budget and the tokenizer shreds every word into fragments. Today we’re releasing something different, mist-encoder-base-ng, a compact encoder pretrained entirely from scratch on Nigerian text, open-sourced on Hugging Face under Apache 2.0.

    It covers the four major languages of Nigeria, Hausa, Yoruba, Igbo, and Nigerian Pidgin, and it’s built to be a workhorse base: load the encoder body, attach a head, and fine-tune for classification, sentiment, language ID, or sentence embeddings.

    from transformers import AutoModel, AutoTokenizer
    tok = AutoTokenizer.from_pretrained("olaverse/mist-encoder-base-ng")
    enc = AutoModel.from_pretrained("olaverse/mist-encoder-base-ng")
    

    Why from scratch?

    Fine-tuning an existing multilingual model inherits that model’s tokenizer, and for Nigerian languages, general-purpose tokenizers are quietly terrible. Every extra subword a tokenizer needs per word means less real signal fits in a fixed context window, slower inference, and weaker per-token representations.

    So before training the model, we built the tokenizer: otk-bpe-50k, a unified byte-level BPE for Naija text with a ~50k vocabulary, NFC diacritic preservation, code-mixed English support, and 0% unknown tokens. The fertility numbers (tokens per word, lower is better) speak for themselves:

    TokenizerHausaYorubaIgboPidgin
    otk-bpe-50k (ours)1.2311.2961.4161.249
    GPT-4o (o200k)1.5891.6871.8071.304
    AfroXLMR1.6042.2772.5701.401

    Our tokenizer is more efficient on Nigerian text than the tokenizer behind GPT-4o, on all four languages. On Igbo, AfroXLMR needs over 2.5 tokens per word; ours needs 1.4.

    The model

    On top of that tokenizer sits a ModernBERT architecture, 6 layers, hidden size 384, 1024 max positions, pretrained with masked language modeling on ~480k carefully prepared chunks. The corpus combines FineWeb-2, the audited WURA corpus, and a fresh Nigerian Pidgin dataset, all cross-deduplicated (FineWeb-2 and WURA both descend from Common Crawl, so overlap was real), language-balanced so abundant Hausa didn’t drown out scarce Igbo and Pidgin, and chunked into windows so no text was wasted on truncation. Every source is attribution-only licensed, which is what makes the clean Apache 2.0 release possible.

    The result is 30.9M parameters, and since the embedding table is about two-thirds of that, the transformer itself is only ~11M. For comparison: AfriBERTa is 126M, mBERT is 178M, XLM-R is 270M.

    What a 30.9M specialist can do

    On MasakhaNEWS topic classification (macro-F1), the model is genuinely competitive at a quarter of the baselines’ size:

    ModelParamsHausaYorubaIgboPidgin
    mist-encoder-base-ng30.9M0.8780.8590.8030.898
    AfriBERTa126M0.9240.9210.9140.991
    mBERT178M0.8060.8860.8050.967

    It beats mBERT on Hausa and ties it on Igbo, with under a fifth of the parameters. That efficiency is the point: this is a model you can fine-tune on a laptop and deploy on-device or in low-resource environments where 126M+ models are impractical.

    What it can’t do (yet), and exactly why

    We publish our weaknesses with the same rigor as our wins. Named-entity recognition is this model’s honest weak spot: it trails AfriBERTa and mBERT by roughly 10–20 entity-F1 on MasakhaNER 2.0, with Hausa NER lowest at 0.656.

    And we didn’t just report the gap, we diagnosed it. The deficit is structural, not a tuning artifact: it persists across random seeds and labeling schemes. Two causes: the unified 50k tokenizer fragments entity words (person and place names) more than language-specific tokenizers, on Hausa NER text, ~61% of entity words split into multiple subwords versus ~21% for AfriBERTa, and at 30.9M parameters the model has less capacity to reassemble meaning from those fragments. If NER accuracy is critical to your application, use a larger model. If sentence-level understanding at minimal cost is what you need, this is your base.

    The model card also lays out an evidence-backed v2 roadmap: more capacity (~50–80M), a less-fragmenting tokenizer for token-level tasks, and more Pidgin and Hausa data. Notably, longer pretraining isn’t on the list, eval loss plateaued by epoch 11, so we know that lever is spent.

    Part of a bigger picture

    mist-encoder-base-ng joins the Mist Embedder collection and sits alongside our LID models (which are fine-tuned classifiers) as complementary infrastructure: a from-scratch, Nigerian-first foundation others can build on. Two fine-tunes of it already exist on the Hub, and there’s a demo Space to try it.

    • Model: https://huggingface.co/olaverse/mist-encoder-base-ng
    • Tokenizer: https://huggingface.co/olaverse/otk-bpe-50k
    • Collection: https://huggingface.co/collections/olaverse/mist-embedder

    Apache 2.0, free for commercial use. If you fine-tune it for a Nigerian-language task, sentiment, topic tagging, embeddings, anything, open a discussion on the model page and show us. That’s the whole point of releasing the base.


    Olaverse Lab builds open-source AI with first-class support for underserved languages. Explore all our models at huggingface.co/olaverse.

    Enjoyed this? Every model we write about is open weight and free to download.

    🤗 Follow on Hugging Face

    More from the Blog

    The Small Model Behind a Better Chat List: Introducing mist-tg-0.3b
    Models

    The Small Model Behind a Better Chat List: Introducing mist-tg-0.3b

    One Passage In, Real Questions Out: Introducing mist-qg-1.5b
    Models

    One Passage In, Real Questions Out: Introducing mist-qg-1.5b

    Know What Language It Is: Introducing the Olaverse LID Collection
    Models

    Know What Language It Is: Introducing the Olaverse LID Collection