Downloads · 30 days
23
26% of all-time downloads
oddadmix/Emhotob-25M
Emhotob-25M is a text generation model from oddadmix. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
Emhotob is a family of small Arabic language models pretrained from scratch on Arabic web text. This is the 25M rung of the ladder (~25.27M parameters), part of a scaling series ranging from 500K to 25M parameters tha…
Downloads · 30 days
23
26% of all-time downloads
All-time downloads
87
Public
Parameters
25.3M
101 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors101 MB · 97%
From the Hugging Face model README
Emhotob is a family of small Arabic language models pretrained from scratch on Arabic web text. This is the 25M rung of the ladder (~25.27M parameters), part of a scaling series ranging from 500K to 25M parameters that all share the same tokenizer, context length, and training recipe.
⚠️ These are tiny, research-scale models trained on a limited token budget. They are intended for scaling-law experiments, education, and Arabic NLP research — not for production use.
| Property | Value |
|---|---|
| Architecture | Llama (decoder-only, RoPE, GQA) |
| Parameters | 25,270,656 (~25.27M) |
| Hidden size | 384 |
| Layers | 8 |
| Attention heads | 6 (KV heads: 3) |
| Intermediate size | 1024 |
| Context length | 2048 |
| Vocabulary | 32,000 (custom Byte-Level BPE) |
| Tied embeddings | Yes |
| RoPE theta | 10,000 |
| Precision | bf16 |
| Property | Value |
|---|---|
| Data | kaust-generative-ai/fineweb-edu-ar (Arabic) |
| Tokens seen | ~2.5B (1 epoch) |
| Optimizer | AdamW (fused), β=(0.9, 0.95), wd=0.1 |
| LR schedule | 6e-4, cosine, 2% warmup |
| Effective batch | 128 sequences × 2048 tokens |
| Grad clipping | 1.0 |
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "oddadmix/Emhotob-25M"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16)
prompt = "الذكاء الاصطناعي هو"
inputs = tok(prompt, return_tensors="pt")
out = model.generate(**inputs, max_new_tokens=50, do_sample=True, top_p=0.9, temperature=0.8)
print(tok.decode(out[0], skip_special_tokens=True))
Given its size and limited pretraining budget, Emhotob-25M has a narrow capability range and will produce factually unreliable and sometimes incoherent text. It has not been instruction-tuned or aligned, and no safety filtering has been applied. Use accordingly.
© SupraLabs 2026 — PROJECT EMHOTOB.