Downloads · 30 days
18
31% of all-time downloads
oddadmix/Emhotob-1M
Emhotob-1M 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 1M rung of the ladder (~1.07M parameters), part of a scaling series ranging from 500K to 25M parameters that…
Downloads · 30 days
18
31% of all-time downloads
All-time downloads
59
Public
Parameters
1.1M
4.3 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors4.3 MB · 59%
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 1M rung of the ladder (~1.07M 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 | 1,073,440 (~1.07M) |
| Hidden size | 32 |
| Layers | 4 |
| Attention heads | 4 (KV heads: 2) |
| Intermediate size | 96 |
| 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 | ~100M (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-1M"
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-1M 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.