Text Generation
Transformers
Safetensors
Uzbek
English
Russian
neuron_lm
uzbek
o'zbek
chat
instruction-tuned
conversational
custom_code
Instructions to use NeuronUz/MustaqiLLM with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use NeuronUz/MustaqiLLM with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="NeuronUz/MustaqiLLM", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("NeuronUz/MustaqiLLM", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use NeuronUz/MustaqiLLM with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "NeuronUz/MustaqiLLM" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NeuronUz/MustaqiLLM", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/NeuronUz/MustaqiLLM
- SGLang
How to use NeuronUz/MustaqiLLM with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "NeuronUz/MustaqiLLM" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NeuronUz/MustaqiLLM", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "NeuronUz/MustaqiLLM" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "NeuronUz/MustaqiLLM", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use NeuronUz/MustaqiLLM with Docker Model Runner:
docker model run hf.co/NeuronUz/MustaqiLLM
Model card: drop Training + Data composition, condense Limitations
Browse files
README.md
CHANGED
|
@@ -123,48 +123,6 @@ serve).
|
|
| 123 |
|
| 124 |
---
|
| 125 |
|
| 126 |
-
## Training
|
| 127 |
-
|
| 128 |
-
MustaqiLLM is the instruction-following stage on top of an in-house 5.17 B Uzbek
|
| 129 |
-
pretrained model. The pretrained checkpoint completed a single pass over its corpus;
|
| 130 |
-
this stage is supervised fine-tuning only — no continued pretraining was performed.
|
| 131 |
-
|
| 132 |
-
| | |
|
| 133 |
-
|---|---|
|
| 134 |
-
| Method | Full-parameter SFT (no LoRA) |
|
| 135 |
-
| Data | 190,939 instruction/chat examples |
|
| 136 |
-
| Epochs | 3 (17,701 steps); released checkpoint is from epoch 2.75 |
|
| 137 |
-
| Effective batch | 32 (micro-batch 8 × grad-accum 4) |
|
| 138 |
-
| Sequence length | 2048 |
|
| 139 |
-
| Optimizer | AdamW fused, β₁ 0.9, β₂ 0.95, weight decay 0.0 |
|
| 140 |
-
| LR schedule | 1e-5, cosine, 3% warmup, grad-norm clip 1.0 |
|
| 141 |
-
| Precision | bf16 mixed precision, gradient checkpointing |
|
| 142 |
-
| Hardware | 1 × NVIDIA RTX PRO 6000 Blackwell (96 GB), ~10 h |
|
| 143 |
-
|
| 144 |
-
### Data composition
|
| 145 |
-
|
| 146 |
-
| slice | rows | share |
|
| 147 |
-
|---|---:|---:|
|
| 148 |
-
| Uzbek instruction/chat backbone (curated + filtered) | 169,919 | 89.0% |
|
| 149 |
-
| Uzbek **Cyrillic** chat (transliterated) | 12,000 | 6.3% |
|
| 150 |
-
| Russian-instructed translation | 5,000 | 2.6% |
|
| 151 |
-
| Latin ↔ Cyrillic script conversion | 3,000 | 1.6% |
|
| 152 |
-
| Cyrillic identity/social | 1,020 | 0.5% |
|
| 153 |
-
|
| 154 |
-
The backbone mixes general Uzbek assistant data, benchmark-format task data
|
| 155 |
-
(MCQ, classification, spelling), English↔Uzbek translation pairs, and an English
|
| 156 |
-
retention slice. Third-person rubric-grading text was filtered out of the backbone
|
| 157 |
-
before training.
|
| 158 |
-
|
| 159 |
-
The Cyrillic and Russian slices exist because the pretrained model reads and writes Uzbek
|
| 160 |
-
Cyrillic *better* than Latin (bits-per-byte 0.2288 vs 0.3868) yet had almost no Cyrillic
|
| 161 |
-
chat behaviour attached to it, and because Russian-language instructions were nearly
|
| 162 |
-
absent. Checkpoint selection was done by running the full benchmark suite on all 12
|
| 163 |
-
saved checkpoints, not by held-out loss — held-out loss was flat (1.784–1.796) across
|
| 164 |
-
the last two epochs while benchmark scores were still moving.
|
| 165 |
-
|
| 166 |
-
---
|
| 167 |
-
|
| 168 |
## Evaluation
|
| 169 |
|
| 170 |
Full public benchmark suite, greedy decoding, `transformers` backend, seed 42, complete
|
|
@@ -221,41 +179,13 @@ Random baselines: 0.25 for the 4-way MCQ tasks, 0.10 for news, 0.50 for sentimen
|
|
| 221 |
|
| 222 |
## Limitations
|
| 223 |
|
| 224 |
-
**
|
| 225 |
-
|
| 226 |
-
|
| 227 |
-
|
| 228 |
-
|
| 229 |
-
|
| 230 |
-
|
| 231 |
-
chance, and its 700-item sample gives it a ±3.5% confidence interval.
|
| 232 |
-
|
| 233 |
-
**Uzbek → English translation is weak.** BLEU 1.83 with a 1.229 length ratio and 12.5% unigram precision means the model
|
| 234 |
-
over-generates English that mostly does not match the reference. English → Uzbek is
|
| 235 |
-
usable (COMET 0.7397) but not competitive with dedicated translation systems.
|
| 236 |
-
|
| 237 |
-
**Script conversion does not work despite being trained for it.** Asked to transliterate
|
| 238 |
-
Latin Uzbek to Cyrillic, the model frequently returns the input unchanged. The 3,000-row
|
| 239 |
-
slice was too small.
|
| 240 |
-
|
| 241 |
-
**The Cyrillic slice was machine-transliterated, and its artifacts are visible in
|
| 242 |
-
output.** Loanwords and brand names inside Cyrillic text can come out mangled
|
| 243 |
-
(e.g. `Facebook` → `Факебоок`), and occasional single Cyrillic characters leak into
|
| 244 |
-
Latin words. Cyrillic *chat* is coherent and does not degenerate, but Cyrillic
|
| 245 |
-
*orthography* is less reliable than Latin.
|
| 246 |
-
|
| 247 |
-
**Self-identification.** The identity training data predates the current name, so asked
|
| 248 |
-
who it is, the model answers "NeuronAI 5B" rather than "MustaqiLLM".
|
| 249 |
-
|
| 250 |
-
**News classification is uneven.** The "Oila va Jamiyat" (Family & Society) class scores
|
| 251 |
-
0.4273 across 14,012 items — a semantically diffuse catch-all the model handles poorly,
|
| 252 |
-
against 0.8743 for the lexically distinctive Sport class.
|
| 253 |
-
|
| 254 |
-
**Safety.** No safety alignment, RLHF, or red-teaming was performed. The model has no
|
| 255 |
-
refusal training beyond what the instruction data incidentally contains. It can produce
|
| 256 |
-
incorrect, biased, or unsafe content, and — given the benchmark results above — will
|
| 257 |
-
state false facts fluently and confidently. Evaluate it for your own use case before
|
| 258 |
-
deploying it anywhere user-facing.
|
| 259 |
|
| 260 |
---
|
| 261 |
|
|
|
|
| 123 |
|
| 124 |
---
|
| 125 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 126 |
## Evaluation
|
| 127 |
|
| 128 |
Full public benchmark suite, greedy decoding, `transformers` backend, seed 42, complete
|
|
|
|
| 179 |
|
| 180 |
## Limitations
|
| 181 |
|
| 182 |
+
- **MCQ knowledge tasks are at chance.** uzlib, MMLU-Uz and MMLU-English all sit within noise of the 0.25 baseline over ~30,000 questions, with near-zero invalid rates — correct format, wrong answer. This is missing knowledge, not parsing. Do not use it for factual QA, exams, or retrieval-free knowledge tasks. TUMLU-Uzbek (0.3286) is the only MCQ result above chance, on a 700-item sample (±3.5%).
|
| 183 |
+
- **Uzbek → English translation is weak** (BLEU 1.83, length ratio 1.229): it over-generates. English → Uzbek is usable (COMET 0.7397) but below dedicated MT systems.
|
| 184 |
+
- **Script conversion does not work** despite being trained for it — Latin→Cyrillic requests often return the input unchanged.
|
| 185 |
+
- **Cyrillic artifacts.** The Cyrillic data was machine-transliterated; loanwords and brand names can be mangled (`Facebook` → `Факебоок`) and stray Cyrillic characters leak into Latin words. Cyrillic chat is coherent, but its orthography is less reliable than Latin.
|
| 186 |
+
- **Self-identification.** Identity data predates the current name, so the model calls itself "NeuronAI 5B".
|
| 187 |
+
- **Uneven news classification:** 0.4273 on the diffuse "Oila va Jamiyat" class vs 0.8743 on Sport.
|
| 188 |
+
- **Safety.** No safety alignment, RLHF, or red-teaming; no refusal training beyond what the instruction data incidentally contains. It can produce incorrect, biased, or unsafe content and will state false facts fluently. Evaluate before any user-facing deployment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
|
| 190 |
---
|
| 191 |
|