Text Generation
Transformers
Safetensors
English
ivme
language-model
transformer
rope
swiglu
muon
from-scratch
tiny
small
decoder-only
custom_code
Instructions to use IvmeLabs/Ivme-Conversate-v2-Base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use IvmeLabs/Ivme-Conversate-v2-Base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="IvmeLabs/Ivme-Conversate-v2-Base", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("IvmeLabs/Ivme-Conversate-v2-Base", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use IvmeLabs/Ivme-Conversate-v2-Base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "IvmeLabs/Ivme-Conversate-v2-Base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IvmeLabs/Ivme-Conversate-v2-Base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/IvmeLabs/Ivme-Conversate-v2-Base
- SGLang
How to use IvmeLabs/Ivme-Conversate-v2-Base 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 "IvmeLabs/Ivme-Conversate-v2-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IvmeLabs/Ivme-Conversate-v2-Base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "IvmeLabs/Ivme-Conversate-v2-Base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IvmeLabs/Ivme-Conversate-v2-Base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use IvmeLabs/Ivme-Conversate-v2-Base with Docker Model Runner:
docker model run hf.co/IvmeLabs/Ivme-Conversate-v2-Base
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,14 +1,189 @@
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
datasets:
|
| 4 |
- HuggingFaceFW/fineweb-edu
|
| 5 |
- HuggingFaceTB/smollm-corpus
|
| 6 |
- SimpleStories/SimpleStories
|
| 7 |
- HuggingFaceTB/finemath
|
| 8 |
- mlfoundations/dclm-baseline-1.0
|
| 9 |
-
|
| 10 |
-
- en
|
| 11 |
---
|
| 12 |
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
|
|
|
|
|
| 1 |
---
|
| 2 |
license: apache-2.0
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
tags:
|
| 6 |
+
- language-model
|
| 7 |
+
- transformer
|
| 8 |
+
- rope
|
| 9 |
+
- swiglu
|
| 10 |
+
- muon
|
| 11 |
+
- from-scratch
|
| 12 |
+
- tiny
|
| 13 |
+
- small
|
| 14 |
+
- decoder-only
|
| 15 |
datasets:
|
| 16 |
- HuggingFaceFW/fineweb-edu
|
| 17 |
- HuggingFaceTB/smollm-corpus
|
| 18 |
- SimpleStories/SimpleStories
|
| 19 |
- HuggingFaceTB/finemath
|
| 20 |
- mlfoundations/dclm-baseline-1.0
|
| 21 |
+
pipeline_tag: text-generation
|
|
|
|
| 22 |
---
|
| 23 |
|
| 24 |
+
# İvme-Conversate-v2-Base (Codenamed Apple 2)
|
| 25 |
+
|
| 26 |
+

|
| 27 |
+
|
| 28 |
+
**İvme** (Turkish: *acceleration*) is a series of stupidly small language models built to punch above their weight. This is the second release: a 24M parameter decoder-only base model trained from scratch, this time with a much heavier training diet.
|
| 29 |
+
|
| 30 |
+
v1 produced grammatically correct sentences that did not really say anything when strung together, fluent without being about anything. v2 keeps almost the exact same architecture as v1 on purpose, and instead fixes the two things that actually mattered: far more training data, and a data mix weighted toward material that teaches a model to stay on topic across sentences.
|
| 31 |
+
|
| 32 |
+
---
|
| 33 |
+
|
| 34 |
+
## Model Details
|
| 35 |
+
|
| 36 |
+
| Parameter | Value |
|
| 37 |
+
|---|---|
|
| 38 |
+
| Architecture | Decoder-only transformer, dense (no loops, no exotic recurrence) |
|
| 39 |
+
| Parameters | 23,846,784 |
|
| 40 |
+
| Layers | 10 |
|
| 41 |
+
| Hidden dim | 384 |
|
| 42 |
+
| FFN dim | SwiGLU |
|
| 43 |
+
| Attention heads | 6, full attention (no GQA) |
|
| 44 |
+
| Context length | 1024 tokens |
|
| 45 |
+
| Vocab size | 16,000 (custom BPE) |
|
| 46 |
+
| Positional encoding | RoPE (θ=10,000) |
|
| 47 |
+
| Normalization | RMSNorm (pre-norm) |
|
| 48 |
+
| Embeddings | Tied input/output |
|
| 49 |
+
| Biases | None |
|
| 50 |
+
|
| 51 |
+
Nearly every setting above matches v1 on purpose. The point of v2 was to isolate the improvement to data and training, not to a bigger model.
|
| 52 |
+
|
| 53 |
+
---
|
| 54 |
+
|
| 55 |
+
## Benchmarks
|
| 56 |
+
|
| 57 |
+
Benchmarks were run with a custom harness this time. We won't put İvme-Conversate-v2 to leaderboards for now until we verify our benchmark produces real results.
|
| 58 |
+
|
| 59 |
+
| Benchmark | v1 | v2 |
|
| 60 |
+
|---|---|---|
|
| 61 |
+
| WikiText-2 (byte perplexity) ↓ | 2.96 | **2.50** |
|
| 62 |
+
| BLiMP (macro-average) ↑ | 61.40% | **73.19%** |
|
| 63 |
+
| ARC-Easy ↑ | 30.85% | **43.14%** |
|
| 64 |
+
|
| 65 |
+
Every metric improved, and the ARC-Easy jump in particular is bigger than you would expect from data and training changes alone at this parameter count.
|
| 66 |
+
|
| 67 |
+
### BLiMP paradigm breakdown
|
| 68 |
+
|
| 69 |
+
Strong on core agreement paradigms:
|
| 70 |
+
|
| 71 |
+
| Paradigm | Accuracy |
|
| 72 |
+
|---|---|
|
| 73 |
+
| existential_there_quantifiers_1 | 99.10% |
|
| 74 |
+
| anaphor_number_agreement | 98.30% |
|
| 75 |
+
| sentential_negation_npi_licensor_present | 98.10% |
|
| 76 |
+
| determiner_noun_agreement_1 | 96.60% |
|
| 77 |
+
| determiner_noun_agreement_2 | 95.40% |
|
| 78 |
+
| anaphor_gender_agreement | 90.70% |
|
| 79 |
+
|
| 80 |
+
Weaker on long-distance dependencies and island constraints, a known hard case for small models:
|
| 81 |
+
|
| 82 |
+
| Paradigm | Accuracy |
|
| 83 |
+
|---|---|
|
| 84 |
+
| existential_there_quantifiers_2 | 18.90% |
|
| 85 |
+
| left_branch_island_echo_question | 27.80% |
|
| 86 |
+
| sentential_subject_island | 33.80% |
|
| 87 |
+
| only_npi_scope | 42.60% |
|
| 88 |
+
| complex_NP_island | 50.30% |
|
| 89 |
+
|
| 90 |
+
This pattern, strong local agreement paired with weaker long-distance syntax, is typical for models at this scale.
|
| 91 |
+
|
| 92 |
+
---
|
| 93 |
+
|
| 94 |
+
## Does it actually make more sense now?
|
| 95 |
+
|
| 96 |
+
None of the benchmarks above directly test whether the model's writing holds together as connected text, which was v1's real problem. Sample output, EMA weights, temperature 0.8, top_k 50:
|
| 97 |
+
|
| 98 |
+
**Prompt:** "Once upon a time, there was a"
|
| 99 |
+
|
| 100 |
+
> Once upon a time, there was a man named Peter who lived in a beautiful country called Ireland. His father was a wise old man who was known for his knowledge of geometry. One day, a young girl named Alice came to visit Peter in Ireland. As they walked together, Alice met a boy named Leo, who had big shoes and a big hat. Alice asked him, "What are you doing with that, dear?" Peter told Alice about a time when he was a boy. He was still trying to understand how things worked. One day, a clever fox came to Peter and asked him how he could have fun. Peter smiled and said, "That's because he learned to ride an imaginary plane!" Alice watched as Peter explained how he learned how to climb trees and follow a river. "You've come to know that, Peter," she said, and Emmanuel smiled. They sat down together and talked about their favorite things, like building a bridge to reach a friend and helping a neighbor.
|
| 101 |
+
|
| 102 |
+
There is an actual through line here. Peter gets introduced with a name and a place, Alice arrives and has a real interaction with him, a fox shows up mid story and gets a response, and the ending calls back to the "learning" theme set up in the first sentence. It is not perfectly logical throughout, but it tracks entities and builds toward something across sentences, which is exactly what v1 could not do.
|
| 103 |
+
|
| 104 |
+
---
|
| 105 |
+
|
| 106 |
+
## Training
|
| 107 |
+
|
| 108 |
+
### Data Mix (~12.85B tokens, roughly 8 to 9x more than v1's 1.57B)
|
| 109 |
+
|
| 110 |
+
v1 was trained Chinchilla-optimal. v2 deliberately overtrains well past that point, since the model is small and cheap to run regardless.
|
| 111 |
+
|
| 112 |
+
| Source | Share |
|
| 113 |
+
|---|---|
|
| 114 |
+
| HuggingFaceFW/fineweb-edu | 50% |
|
| 115 |
+
| HuggingFaceTB/smollm-corpus (cosmopedia-v2) | 27% |
|
| 116 |
+
| mlfoundations/dclm-baseline-1.0 | 8% |
|
| 117 |
+
| SimpleStories/SimpleStories | 5% |
|
| 118 |
+
| HuggingFaceTB/finemath (finemath-3plus) | 5% |
|
| 119 |
+
|
| 120 |
+
Python-Edu was originally planned as a fifth source, but the actual code text lives behind a gated dataset with no practical way to align it against the sampled subset at this scale, so it was dropped and its share redistributed across the rest.
|
| 121 |
+
|
| 122 |
+
### Hyperparameters
|
| 123 |
+
|
| 124 |
+
| Setting | Value |
|
| 125 |
+
|---|---|
|
| 126 |
+
| Optimizer | Muon (body weights) + AdamW (embeddings, norms) |
|
| 127 |
+
| Muon lr | 0.02 |
|
| 128 |
+
| AdamW lr | 3e-4 |
|
| 129 |
+
| LR schedule | Warmup-Stable-Decay (WSD) |
|
| 130 |
+
| Weight decay | 0.1 |
|
| 131 |
+
| Gradient clipping | 1.0 |
|
| 132 |
+
| Batch size | 192 sequences x 1024 tokens (196,608 tokens/step) |
|
| 133 |
+
| Total steps | 65,376 |
|
| 134 |
+
| Precision | bfloat16 |
|
| 135 |
+
| Attention | PyTorch scaled_dot_product_attention (Flash Attention backend) |
|
| 136 |
+
| Compilation | torch.compile, roughly 2x throughput over eager |
|
| 137 |
+
| Final weights | EMA (β=0.999) of training trajectory |
|
| 138 |
+
|
| 139 |
+
### Hardware
|
| 140 |
+
|
| 141 |
+
Trained on a single NVIDIA RTX PRO 6000 Blackwell (96GB) in approximately **4.75 hours**.
|
| 142 |
+
|
| 143 |
+
---
|
| 144 |
+
|
| 145 |
+
## Tokenizer
|
| 146 |
+
|
| 147 |
+
Custom byte-level BPE tokenizer trained from scratch on a sample of the pretraining mix. Vocab size 16,000.
|
| 148 |
+
|
| 149 |
+
---
|
| 150 |
+
|
| 151 |
+
## Limitations
|
| 152 |
+
|
| 153 |
+
- Base model only, not instruction tuned, will not follow instructions or answer questions
|
| 154 |
+
- English only
|
| 155 |
+
- 1024 token context window
|
| 156 |
+
- Weaker on long-distance syntactic dependencies than on local agreement, see BLiMP breakdown above
|
| 157 |
+
- No code data in the training mix (Python-Edu was dropped, see above)
|
| 158 |
+
|
| 159 |
+
---
|
| 160 |
+
|
| 161 |
+
## What's Next
|
| 162 |
+
|
| 163 |
+
Still on the table for a future version: distillation from a larger teacher model, and a return to the more experimental İvmetron architecture once time allows for the kind of patient debugging a genuinely novel design needs.
|
| 164 |
+
|
| 165 |
+
You can check our other upcoming models on our organization card!
|
| 166 |
+
|
| 167 |
+
---
|
| 168 |
+
|
| 169 |
+
## Citation
|
| 170 |
+
|
| 171 |
+
```bibtex
|
| 172 |
+
@misc{ivme-conversate-v2-24m,
|
| 173 |
+
author = {IvmeLabs},
|
| 174 |
+
title = {İvme-Conversate-v2-Base},
|
| 175 |
+
year = {2026},
|
| 176 |
+
publisher = {Hugging Face},
|
| 177 |
+
url = {https://huggingface.co/IvmeLabs/Ivme-Conversate-v2-24M-Base}
|
| 178 |
+
}
|
| 179 |
+
```
|
| 180 |
+
|
| 181 |
+
---
|
| 182 |
+
|
| 183 |
+
## Credits
|
| 184 |
+
|
| 185 |
+
The apple photo by <a href="https://unsplash.com/@cenali?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Matheus Cenali</a> on <a href="https://unsplash.com/photos/bunch-of-red-apples-wXuzS9xR49M?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
|
| 186 |
+
|
| 187 |
+
---
|
| 188 |
|
| 189 |
+
*Built by IvmeLabs. Small models, deliberate choices.*
|