XERON-0.1 / README.md
pistonX's picture
XERON fine-tune upload
a077ab8 verified
|
Raw
History Blame Contribute Delete
8.72 kB
---
license: apache-2.0
language:
- en
- ko
- multilingual
base_model:
- jhu-clsp/mmBERT-base
library_name: laya
tags:
- decision-model
- system-1
- non-autoregressive
- typed-decisions
- calibration
- multilingual
pipeline_tag: text-classification
---
# XERON-0.1 ๐ŸŽฏ
**XERON-0.1** is a fine-tuned **typed-decision (System 1) model** built on [convaiinnovations/laya](https://huggingface.co/convaiinnovations/laya)'s
multilingual checkpoint (backbone: `jhu-clsp/mmBERT-base`, 322M params).
It answers **typed questions over a state** โ€” `choice` / `score` / `noul` (boolean) โ€” in a **single forward pass**,
returning calibrated probabilities. It never generates text, so it cannot hallucinate and cannot emit malformed schemas.
Trained by [PIXELZX](https://huggingface.co/PIXELZX) as the first release of the XERON family
(training plan & data pipeline: https://github.com/PIXELZX0/XERON).
## โœจ What makes XERON-0.1 different
| | |
|---|---|
| **Base** | `jhu-clsp/mmBERT-base` (Laya `multilingual` subfolder) |
| **Fine-tuned on** | 148,281 sequences โ€” English typed-decisions + Korean (KLUE ynat/nli/sts) + browser/web decisions (BBC + AG News, SMS spam, phishing URLs) + web-agent actions (Mind2Web) + long-context (SCOTUS, 20 Newsgroups) |
| **Training** | RLCD โ€” strictly proper scoring rule + GRPO-style baseline; post-hoc temperature calibration. 4 epochs ยท 15,987 updates ยท ~5h on 1ร—GPU (bf16) |
| **Context** | 4,096 tokens trained (`CTX_CAP` up to 32,768 via RoPE extension) |
| **Languages** | 100+ via mmBERT (English + Korean trained explicitly) |
| **License** | Apache-2.0 |
## ๐Ÿ“Š Head-to-head: Laya vs Jev vs XERON-0.1
### A. ์‹ค์ธก ๋น„๊ต (๋™์ผ ํ‰๊ฐ€์…‹ ยท ๋™์ผ ์Šคํฌ๋ฆฝํŠธ)
ํ‰๊ฐ€์…‹ `LocalLLaMA/typed-decisions` **test** split โ€” 400 cases = 600 `choice` + 400 `score` + 400 `noul` (**1,400 decisions**).
๋™์ผํ•œ `scripts/evaluate.py` / `scripts/recompute_metrics.py`, CPU ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค, 2026-09-22. ์›๋ณธ: `eval_comparison.md`, `eval_baseline_*.json`.
| ๋ชจ๋ธ | ๋ฐฑ๋ณธ / ํŒŒ๋ผ๋ฏธํ„ฐ | choice acc | soft acc | Brier | ECE โ†“ | score MAE โ†“ | noul acc |
|---|---|---|---|---|---|---|---|
| **XERON-0.1** (ours) | mmBERT-base ยท 322M ยท fine-tuned | 0.7000 | **0.5171** | **0.4493** | **0.2143** | 0.4213 | 0.7817 |
| `laya-typed-decisions` (Convai) | ModernBERT-large ยท 421M ยท ๋ฒค๋” ํŠœ๋‹ | **0.7333** | 0.4460 | 0.4669 | 0.2380 | **0.2963** | **0.8583** |
| `laya-multilingual` (Convai) | mmBERT-base ยท 322M ยท base(๋ฏธํŠœ๋‹) | 0.2900 | 0.2758 | 0.9952 | 0.3282 | 1.0625 | 0.4983 |
| Jev (TypeSafe AI) | ๋น„๊ณต๊ฐœ ยท ํ˜ธ์ŠคํŒ… API | ์ธก์ • ๋ถˆ๊ฐ€ (์›จ์ดํŠธ ๋น„๊ณต๊ฐœ) | โ€” | โ€” | โ€” | โ€” | โ€” |
- ๋ฏธํŠœ๋‹ Laya base(0.290) โ†’ XERON-0.1(0.700) = **+41.0%p**. ํŒŒ์ธํŠœ๋‹์ด ๊ฒฐ์ •์  (Laya base๋Š” ํƒœ์Šคํฌ๋ณ„ FT ์ „์ œ๋ผ๋Š” ๊ณต๊ฐœ ์„ค๋ช…๊ณผ ์ผ์น˜).
- ๋ฒค๋”๊ฐ€ ์ด ๋ฒค์น˜๋งˆํฌ์— ์ง์ ‘ ํŠœ๋‹ํ•œ 421M ์˜์–ด ๋ชจ๋ธ ๋Œ€๋น„ ํ•˜๋“œ ๋ผ๋ฒจ **-3.3%p**, ๊ทธ๋Ÿฌ๋‚˜ **soft accuracy +7.1%p / ECE โˆ’0.024 ๋Š” XERON ์šฐ์œ„** โ†’ ํ™•๋ฅ (์‹ ๋ขฐ๋„) ํ’ˆ์งˆ์ด ๋” ์ข‹์Œ.
### B. ์ŠคํŽ™ ยท ๊ณต๊ฐœ ์ง€ํ‘œ ๋น„๊ต
Laya/Jev ์ˆ˜์น˜๋Š” ๋ฒค๋”ยท์ œ3์ž ๊ณต๊ฐœ ์ž๋ฃŒ์—์„œ ์ธ์šฉ (2026-09-22 ์กฐํšŒ). XERON ์ˆ˜์น˜๋Š” ์‹ค์ธก.
| ํ•ญ๋ชฉ | **XERON-0.1** | **Laya** (Convai) | **Jev** (TypeSafe AI) |
|---|---|---|---|
| ๋ฐฐํฌ ํ˜•ํƒœ | ์˜คํ”ˆ ์›จ์ดํŠธ (self-host) | ์˜คํ”ˆ ์›จ์ดํŠธ (self-host) | ํ˜ธ์ŠคํŒ… API (closed) |
| ๋ผ์ด์„ ์Šค | Apache-2.0 | Apache-2.0 | ์ƒ์šฉ API |
| ๋ฐฑ๋ณธ / ํŒŒ๋ผ๋ฏธํ„ฐ | mmBERT-base ยท 322M | EN 421M / multi 322M | ๋น„๊ณต๊ฐœ |
| ์ปจํ…์ŠคํŠธ | 4,096 (cap 32,768) | 512 (EN) / 1,024 (multi) | 64k |
| ์–ธ์–ด | 100+ (mmBERT), ENยทKR ํ•™์Šต | 100+ (multi ์ฒดํฌํฌ์ธํŠธ) | ๋‹ค๊ตญ์–ด (๋น„๊ณต๊ฐœ) |
| ๊ฒฐ์ • ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ | choice / score / noul | choice / score / noul | choice / score / noul |
| ํŒŒ์ธํŠœ๋‹ ํ•„์š” | โŒ (์ด๋ฏธ ํŠœ๋‹๋จ) | โœ… (base๋Š” FT ์ „์ œ) | โŒ (์ œ๋กœ์ƒท) |
| ์ •ํ™•๋„ (๊ณต๊ฐœ) | โ€” | in-task 0.753 ยท zero-shot 0.651 ยท typed-decisions 0.766 | JevBench v1.3.0 composite **74.4 (#1)** |
| ๋‚œ์ด๋„๋ณ„ (Easy/Std/Judge/Hard) | โ€” | 94.4 / 72.9 / 69.2 / 34.1 % | 100 / 99 / 94.5 / **74.1 %** |
| ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ (ECE) | 0.2143 (๋™์ผ ํ‰๊ฐ€์…‹) | in-task 0.030 ยท zero-shot 0.204 ยท multi 0.081 (๋ฒค๋”) | ๋ฏธ๊ณต๊ฐœ |
| Brier | 0.4493 (๋™์ผ ํ‰๊ฐ€์…‹) | 0.308 in-task / 0.532 zero-shot (๋ฒค๋”) | ๋ฏธ๊ณต๊ฐœ |
| ์ง€์—ฐ | 2.2 s/case (CPU, ๋กœ์ปฌ ์ธก์ •) | p50 38.4 ms (1๋ฌธํ•ญ, ๋ฒค๋”) ยท 32.8 ms (T4) | ~150 ms (์ œ3์ž 236โ€“276 ms) |
| ๋น„์šฉ | self-host (GPU ๋น„์šฉ๋งŒ) | self-host (GPU ๋น„์šฉ๋งŒ) | $0.042 / 1M input tokens |
| JevBench v1.3.0 ์ˆœ์œ„ | ๋ฏธ๋“ฑ์žฌ | #33 (54.4) | **#1 (74.4)** |
> โš ๏ธ A์™€ B๋Š” **๋‹ค๋ฅธ ํ‰๊ฐ€์…‹ยท๋‹ค๋ฅธ ํ•˜๋“œ์›จ์–ด**์ž…๋‹ˆ๋‹ค. A๋Š” ๋™์ผ ์กฐ๊ฑด ์‹ค์ธก(๋ชจ๋ธ ๊ฐ„ ์ง์ ‘ ๋น„๊ต ๊ฐ€๋Šฅ), B๋Š” ๊ณต๊ฐœ ์ž๋ฃŒ ์ธ์šฉ(์ฐธ๊ณ ์šฉ).
> Jev๋Š” ์›จ์ดํŠธ๊ฐ€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์•„ A์— ๋„ฃ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
### C. JevBench v1.3 ๋ฐฉ์‹ ํ‰๊ฐ€ (๊ณต๊ฐœ ์•„์ดํ…œ 231/534)
JevBench v1.3.0(Benchmark Heaven) ํ•˜๋„ค์Šคยท์–ด๋Œ‘ํ„ฐยท์ฑ„์  ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด ์ธก์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.
**๊ณต๊ฐœ ์•„์ดํ…œ์€ 534๊ฐœ ์ค‘ 231๊ฐœ๋ฟ**(judge tier๋Š” ์ „๋ถ€ ๋น„๊ณต๊ฐœ)์ด๋ฏ€๋กœ **๊ณต์‹ ๋ณด๋“œ ์ˆœ์œ„์™€ ์ง์ ‘ ๋น„๊ตํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.**
์ „์ฒด ๋ฐฉ๋ฒ•ยทfamily๋ณ„ ๋ถ„์„ยท์žฌํ˜„ ์ฝ”๋“œ: https://github.com/PIXELZX0/XERON/tree/main/results/jevbench-public
๋™์ผํ•œ 231๊ฐœ ๊ณต๊ฐœ ์•„์ดํ…œ์—์„œ 4๊ฐœ ์‹œ์Šคํ…œ์„ ๋น„๊ต (Jev/Laya๋Š” ๊ณต์‹ per-task ์•„ํ‹ฐํŒฉํŠธ์˜ ๊ณต๊ฐœ ์•„์ดํ…œ ๊ฒฐ๊ณผ):
| ์‹œ์Šคํ…œ | easy (48) | standard (72) | hard (111) | ์ „์ฒด (231) | Intelligence |
|---|---|---|---|---|---|
| Jev 1.13.0 (TypeSafe, API) | 1.000 | 0.986 | 0.730 | **0.866** | 82.2 |
| laya-typed-decisions (Convai, 421M, ๋ฒค๋” ํŠœ๋‹) | 0.979 | 0.653 | 0.270 | **0.537** | 38.0 |
| **XERON-0.1** (ours) | 0.875 | 0.444 | **0.306** | 0.468 | 23.3 |
| laya-multilingual (๋ฏธํŠœ๋‹ base) | 0.896 | 0.403 | 0.324 | 0.468 | 21.5 |
**์†”์งํ•œ ๊ฒฐ๋ก **
- XERON-0.1์€ **JevBench๋ฅ˜ ํƒœ์Šคํฌ(์ •์ฑ… ๋ฌธ์„œ + ๋ฃจ๋ธŒ๋ฆญ ์„ ํƒ)์—์„œ ๋ฒค๋” Laya ํŠœ๋‹ํŒ๋ณด๋‹ค ์•ฝํ•ฉ๋‹ˆ๋‹ค.** ํ•™์Šต ๋ฐ์ดํ„ฐ(KLUEยท๋ธŒ๋ผ์šฐ์ €ยทMind2WebยทSCOTUS)์™€ ๋„๋ฉ”์ธ์ด ๊ฒน์น˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
- ๋‹จ, **๋™์ผ ๋ฐฑ๋ณธ ๋ฏธํŠœ๋‹ base ๋Œ€๋น„ ํŒŒ์ธํŠœ๋‹ ํšจ๊ณผ๋Š” ๊ฒ€์ฆ**๋์Šต๋‹ˆ๋‹ค (ECE hard 0.289 โ†’ 0.211, ํ™•๋ฅ  TVD 0.573 โ†’ 0.389).
- **hard tier์—์„œ๋Š” XERON์ด ๋ฒค๋” ํŠœ๋‹ํŒ์„ ์ด๊น๋‹ˆ๋‹ค** (0.306 vs 0.270) โ€” adversarial / trap / judge_hard ๊ณ„์—ด.
- ๋ถ€๋ถ„ JevBench Score(judge tier ์—†์Œ, ์žฌ์ •๊ทœํ™”): laya-typed-decisions 37.5 ยท XERON-0.1 11.5 ยท laya-multilingual 8.8. Intelligence<50 ํŒจ๋„ํ‹ฐ `(I/50)ยฒ`๊ฐ€ XERON ์ ์ˆ˜๋ฅผ ํฌ๊ฒŒ ๊นŽ์Šต๋‹ˆ๋‹ค.
- ๋‹ค์Œ ๋‹จ๊ณ„: JevBench ์Šคํƒ€์ผ ๋ฐ์ดํ„ฐ(๊ณต๊ฐœ 231๊ฑด ๋˜๋Š” HF `Praveenrajus/jev-bench` 166k rows)๋กœ ์ถ”๊ฐ€ ํŒŒ์ธํŠœ๋‹ ํ›„ ์žฌํ‰๊ฐ€.
**์ฝ๋Š” ๋ฒ•**
- Jev = ์ œ๋กœ์ƒท ๊ฐ•์ž (ํ•˜๋“œ ๋‚œ์ด๋„ 74.1%).
- Laya / XERON = ์˜คํ”ˆ ์›จ์ดํŠธ, **ํŒŒ์ธํŠœ๋‹ ํ›„ ์ž๊ธฐ ๋„๋ฉ”์ธ์—์„œ ๊ฐ•ํ•ด์ง€๋Š”** ์ง„์˜.
- XERON-0.1์€ Laya multilingual๊ณผ ๊ฐ™์€ ๋ฐฑ๋ณธ + ํ•œ๊ตญ์–ดยท๋ธŒ๋ผ์šฐ์ €ยท์›น ์—์ด์ „ํŠธยท์žฅ๋ฌธ ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ ํ•™์ŠตํŒ.
## ๐Ÿš€ ์‚ฌ์šฉ๋ฒ•
```bash
pip install laya
```
```python
import laya
agent = laya.load("PIXELZX/XERON-0.1")
state = "Customer email: 'I was charged twice, please refund immediately.' tier=premium, sla=4h"
questions = {
"intent": {"type": "choice", "options": ["billing", "technical", "cancellation", "other"]},
"urgency": {"type": "score", "levels": ["0 โ€” no time pressure", "1 โ€” routine", "2 โ€” elevated", "3 โ€” critical"]},
"needs_refund": {"type": "noul"},
}
res = agent.predict(state, questions)
print(res["answers"])
```
Returned per question: selected key / expected level + full probability distribution + calibrated confidence.
## ๐Ÿ“ˆ ํ‰๊ฐ€ ์žฌํ˜„
```bash
python scripts/evaluate.py \
--model PIXELZX/XERON-0.1 \
--dataset LocalLLaMA/typed-decisions --split test \
--device cpu --output eval_results.json
python scripts/recompute_metrics.py eval_results.json # score MAE / ํƒ€์ž…๋ณ„ ์ •ํ™•๋„
```
`eval_results.json` (per-decision predictions ํฌํ•จ)์ด ์ด ์ €์žฅ์†Œ์— ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
## โš ๏ธ ํ•œ๊ณ„
- 4,096 ํ† ํฐ ํ•™์Šต โ€” ์ดˆ์žฅ๋ฌธ์€ `CTX_CAP` ํ™•์žฅ ํ›„ ์žฌํ•™์Šต ํ•„์š”.
- ํ‰๊ฐ€๋Š” ์˜์–ด typed-decisions split ์ค‘์‹ฌ. ํ•œ๊ตญ์–ด/๋ธŒ๋ผ์šฐ์ €/์›น ์—์ด์ „ํŠธ ํŠธ๋ž™์€ ๋ณ„๋„ ๋ฒค์น˜๋งˆํฌ ๋ฏธ๊ณต๊ฐœ.
- `score` ํƒ€์ž…์€ ์ˆœ์„œํ˜•(ordinal) rubric ์ „์šฉ.
## Citation
```bibtex
@misc{xeron01,
title = {XERON-0.1: a fine-tuned multilingual typed-decision model},
author = {PIXELZX},
year = {2026},
url = {https://huggingface.co/PIXELZX/XERON-0.1}
}
```
Built on [Laya](https://huggingface.co/convaiinnovations/laya) by Convai Innovations (Apache-2.0) and `jhu-clsp/mmBERT-base`.