Text Generation
MLX
Safetensors
Hungarian
llama
hungarian
emese
from-scratch
base-model
apple-silicon
Instructions to use emese-tech/er with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use emese-tech/er with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # if on a CUDA device, also pip install mlx[cuda] # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("emese-tech/er") prompt = "Once upon a time in" text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- MLX LM
How to use emese-tech/er with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Generate some text mlx_lm.generate --model "emese-tech/er" --prompt "Once upon a time"
- Atomic Chat
|
Download README.md from emese-tech/er: direct link, hf CLI and curl.
- Browser
- Download file 3.7 kB
-
https://huggingface.co/emese-tech/er/resolve/main/README.md
- Command line
-
hf download hf://emese-tech/er/README.md
-
curl -L -o README.md https://huggingface.co/emese-tech/er/resolve/main/README.md
3.7 kB
| language: | |
| - hu | |
| license: mit | |
| library_name: mlx | |
| tags: | |
| - hungarian | |
| - emese | |
| - from-scratch | |
| - llama | |
| - base-model | |
| - mlx | |
| - apple-silicon | |
| pipeline_tag: text-generation | |
| # Emese-Ér (517M) | |
| **Ér** ("brook/rill" — the smallest flowing water in the family name scheme) is the edge/embedded/research | |
| tier of the [Emese](https://emese.tech) Hungarian model family. Unlike the other three tiers, Ér is | |
| **not** built on EuroLLM — it's a from-scratch Hungarian foundation model, pretrained on ~4.5B tokens of | |
| Hungarian text with a custom 32k SentencePiece tokenizer. | |
| | | | | |
| |---|---| | |
| | **Parameters** | 516.8M | | |
| | **Base** | none — from-scratch pretraining | | |
| | **Architecture** | LLaMA-style decoder (RoPE + YaRN, RMSNorm, SwiGLU, tied embeddings) | | |
| | **Hidden / layers / heads** | 1280 / 24 / 20 | | |
| | **FFN size** | 3456 | | |
| | **Vocabulary** | 32,000 (custom Hungarian SentencePiece Unigram) | | |
| | **Max context length** | **32,768 tokens** (trained at 1,024, YaRN-extended to 8,192 during CPT, RoPE scale 4.0 rated to 32,768) | | |
| | **Precision** | bfloat16 | | |
| | **License** | MIT | | |
| ## Formats in this release | |
| | Folder | Format | Notes | | |
| |---|---|---| | |
| | `er/` (this repo) | bf16, MLX-native safetensors | **not** a standard `transformers` repo — see below | | |
| | `er-mlx/` | MLX q8 | `mlx_lm`-loadable, quantized | | |
| ## ⚠️ Not `transformers`-compatible out of the box | |
| Ér predates the EuroLLM/Llama-arch pipeline used for Csermely/Patak/Folyó. Its `config.json` uses a | |
| custom schema (`d_model`, `n_layers`, `n_heads`, `d_ff` — not HF's `hidden_size`/`num_hidden_layers`/...) | |
| and its weight tensor names are custom (`embed.weight`, `layers.N.attn.wq.weight`, ...), not the standard | |
| `model.embed_tokens.weight` / `model.layers.N.self_attn.q_proj.weight` naming. **`AutoModelForCausalLM. | |
| from_pretrained` will fail on this repo.** Use the project's own `model.py` (an MLX `Emese` class) or load | |
| `er-mlx/` via `mlx_lm`, which does understand this checkpoint despite the non-standard config. | |
| ## Usage (MLX, via mlx_lm) | |
| ```python | |
| from mlx_lm import load, generate | |
| model, tok = load("er-mlx") # or "er" — both load via mlx_lm | |
| print(generate(model, tok, prompt="A magyar nyelv", max_tokens=100)) | |
| ``` | |
| ## Usage (project's own loader) | |
| ```bash | |
| python generate.py --model models-release/er/ --prompt "A magyar nyelv" | |
| ``` | |
| ## Training | |
| - **Pretraining (from scratch):** ~4.5B tokens of Hungarian text (the same corpus family documented in | |
| `corpus/cpt/README.md`: Wikipedia + HPLT web text, quality-filtered). No separate "CPT" stage — this | |
| *is* the base pretraining, there is no upstream foundation model underneath it. | |
| ## Benchmarks | |
| **Not applicable** — `emese-bench` (and its Ultimate/BlindSpot predecessors) are chat-instruction | |
| benchmarks (ChatML turns, persona/safety/instruction-following categories); Ér has no chat template or | |
| instruction-tuning, so scoring it on those benchmarks would not be a meaningful comparison against the | |
| other three tiers. During development it was evaluated on HuCoLA (Hungarian grammatical-acceptability | |
| classification) instead, not on chat-style benchmarks. | |
| - **No SFT / no DPO.** Ér ships as a **base/research model only** — it has no chat template, no persona | |
| training, no instruction-tuning. It is not conversational; treat it as a research/embedding artifact for | |
| downstream fine-tuning experiments, not an assistant. | |
| ## Limitations | |
| - Base model only — expects raw text continuation, not chat-formatted prompts. | |
| - Smallest tier by a wide margin (517M vs. 1.7B+ for the rest of the family) — limited world knowledge and | |
| reasoning capacity even relative to Csermely. | |
| - Requires custom loading code (`model.py`) for anything beyond `mlx_lm`. | |