DEV Community

Cover image for I Kept Hitting the Same Wall With Bangla AI Models — So I Built My Own
SM Shahbaj
SM Shahbaj

Posted on

I Kept Hitting the Same Wall With Bangla AI Models — So I Built My Own

There's a specific kind of frustration that comes from asking an AI model something in Bangla and watching it reply in English, or worse, in broken Bangla that reads like a bad machine translation. It happens with almost every general-purpose model out there, because Bangla is a fraction of a percent of most training datasets. It's not that the big labs don't care — it's that Bangla just isn't the priority when you're optimizing for benchmark scores dominated by English and Chinese.
The second frustration is separate but related: even when a model does handle Bangla reasonably, it's usually a multi-billion-parameter giant that needs a GPU cluster or a paid API key to run. Neither of those is realistic if you're a solo developer, a student, or building something that has to work offline.
I built RIFA to sit in the gap between those two frustrations.

The Actual Constraint I Designed Around

The starting brief for RIFA wasn't "build a good language model." It was narrower and harder: build a model that speaks Bangla and English naturally, and that runs on hardware people actually have — a laptop with no dedicated GPU, an old desktop, a Raspberry Pi–class device, whatever.
That constraint rules out almost every big open model on the market today. It doesn't rule out small models — but it does mean you can't just take a tiny base model off the shelf and expect it to work. Small models are unforgiving. Every training decision shows up immediately in the output quality.

Why One Model Wasn't Enough

Early on, I assumed I'd ship a single model and call it done. That fell apart fast, because "efficient" means something different depending on what you're doing with it:
Someone prototyping an app wants the smallest possible footprint, even if quality is basic
Someone writing code wants a model that's actually good at code, not just generally competent
Someone deploying to an edge device cares about CPU performance more than raw capability
Someone building a real chatbot wants noticeably better output, and can spare a bit more RAM for it
Someone who just wants the best RIFA can produce doesn't mind spending a bit more, as long as it's still small by industry standards
That's how the family split into five:
Rifa-Nano (0.5B),
RIFA-CODE (0.6B),
RIFA-Edge (0.6B),
RIFA-FLASH (1.7B) and
RIFA-PRO (3B).

Each one is a different answer to "efficient for what, exactly?"

The Part I Didn't Expect to Matter So Much: Honesty
At 0.5B parameters, a model doesn't know very much. That's just math — parameter count roughly tracks how much a model can hold. The dangerous failure mode isn't "the model doesn't know the answer." It's "the model doesn't know the answer, but sounds completely confident anyway."
So Rifa-Nano got dedicated anti-hallucination training — training specifically aimed at getting it to recognize when a question is outside what it can reliably answer, instead of generating a fluent, wrong response. It doesn't make the model smarter. It makes the model's confidence match its actual knowledge more closely, which turned out to matter more for usability than I expected going in.
What Shipping Actually Looked Like
Every model in the family is released under Apache 2.0 — genuinely open, not "open" with restrictive fine print. Each one ships as full Safetensors weights (for anyone working directly in Hugging Face Transformers) and as multiple GGUF quantizations, so people can run it fully offline in Ollama, LM Studio, or llama.cpp without touching Python at all.
If you're picking a quantization and don't know where to start, Q5_K_M is usually the right default — it holds up well on quality while keeping the file size manageable.
Where I Draw the Line on What These Models Can Do
I'd rather undersell RIFA than oversell it. These are not reasoning engines. Ask a RIFA model to do serious multi-step logic, or to know something that happened last week, or to go deep on a niche technical domain, and it will struggle — sometimes visibly, sometimes not. That's the honest trade-off of staying small.
What they're actually good at: everyday bilingual conversation, quick code completions, lightweight text generation, and running somewhere a bigger model simply can't. If you need that, RIFA is worth trying. If you need a research assistant for a hard problem, it isn't the right tool, and no amount of fine-tuning at this scale changes that.
Try It
RIFA is published on Hugging Face under smshahbaj, with documentation and example scripts at github.
The full collection, all five models, is here: HugginFace.
If you try it and it breaks on something, that's genuinely useful to know — small models have a lot of room to improve, and real usage finds the gaps faster than any benchmark does.

Top comments (0)