K-Decision-9B v0.1

Korean-specialized decision model by ONYULTEA β€” first public release.

K-Decision is a lightweight decision engine that takes a state and typed questions as input and returns structured decisions with calibrated probability distributions over all options β€” all in a single forward pass. Unlike chat LLMs, it does not generate text; it predicts only the answer-symbol logits for each question (System One / Jev compatible).

Benchmarks

Benchmark Score Scale
LocalLLaMA typed-decisions (test 400 cases / 2,000 decisions, fitted) 0.818 Agent traces Β· Security Β· CS Β· Invoice (4 domains, 5 questions each)
KoBEST 5-task conversion (boolq/copa/hellaswag/sentineg/wic) 0.866 2,600 items
Korean Life-Domain Holdout 0.997 Admin(20 services) Β· Medical Β· Shopping CS Β· Life Infra Β· Education Β· Workplace Β· Agent (7 domains)
korean-jev-decision-index 0.635 64 Korean benchmark sources, 3,000 items
University Regulation Compliance 0.791 Novel task (3 regulation documents)
Decision Index 0.3 public suite Index 30.7 (raw 44.8) 140K requests, 0 errors, p50 latency 168ms
  • Trained and served on a single 24GB consumer GPU (int8 LoRA, r=32)
  • Calibration: ECE 0.001 level (domain holdout), per-type temperature fitting

Quickstart

1) Hugging Face transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "ONYULTEA/K-Decision-9B", torch_dtype=torch.bfloat16, device_map="auto")
tok = AutoTokenizer.from_pretrained("ONYULTEA/K-Decision-9B")

2) /v1/systemone server (System One / Jev compatible)

git clone https://github.com/onyultea/k-decision
python src/serve_systemone.py --merged ONYULTEA/K-Decision-9B --port 8111
// Request
{"model": "k-decision",
 "state": "Civil complaint: Strong gas smell reported (call center)",
 "questions": {
   "route":  {"type": "choice", "instructions": "Which department handles this?",
              "criteria": {"gas": "Gas Safety Division", "water": "Waterworks", "road": "Road Maintenance"}},
   "urgent": {"type": "noul", "instructions": "Is this an urgent case?"}}}

// Response β€” probability for every option
{"answers": {
   "route":  {"type": "choice", "choice": "gas",
              "probabilities": {"gas": 0.87, "water": 0.05, "road": 0.08}},
   "urgent": {"type": "noul", "noul": 0.93}}}

Question types: choice (2–26 options), noul (yes/no). Compatible with Decision Index reproduction kit and Kev clients.

Method

  1. Marker single-pass β€” A JSON skeleton {"route":β–‘,"urgent":β–‘} is appended to the prompt; the logit immediately before each marker predicts that field's answer. All fields decided in one forward pass (no decoding loop).
  2. Constrained decoding β€” Softmax restricted to legal answer symbols (A–Z / Y,N) β†’ guaranteed sum-to-1 probabilities for all options.
  3. Calibration β€” Per-type (choice/noul) temperature fitted on held-out data to optimize Brier/ECE β€” probabilities are trust scores.
  4. int8 LoRA training β€” 4-bit quantization was measured to degrade probability precision; int8 adopted instead (+3pp accuracy at same budget).

Training Data

  • Korean life-domain synthetic (~28K records): 20 government services, medical triage, shopping CS, life infrastructure (real estate/transport/telecom), education, workplace, agent tool gating β€” with honorific/casual register, typo, and slang augmentation.
  • General typed decisions: tasksource-jev-typed-decisions (CC-BY-4.0) sample, multilingual distillation (Apache-2.0, teacher-probability soft labels), tool-decision pool (CC-BY-4.0).
  • Regulation compliance task: public university regulation documents (topic routing, numeric-threshold violation, applicability).

Limitations

  • Choice up to 26 options, state up to 6,000 characters β€” exceeding limits returns Unsupported (HTTP 422, honest rejection).
  • World knowledge (KMMLU ~30%) is at 9B base level β€” fine-tuning changes expression, not knowledge.
  • High-stakes decisions (medical treatment, credentialing, hiring) require human review.
  • High probability does not guarantee correctness β€” threshold-based operation recommended.

License

Citation

@software{kdecision2026,
  title = {K-Decision-9B: Korean-specialized decision model},
  author = {ONYULTEA},
  year = {2026},
  url = {https://huggingface.co/ONYULTEA/K-Decision-9B}
}

K-Decision-9B v0.1 (ν•œκ΅­μ–΄)

ONYULTEA ν•œκ΅­ νŠΉν™” λ””μ‹œμ „ λͺ¨λΈ β€” 첫 곡개 릴리슀.

K-Decision은 μƒνƒœ(state)와 νƒ€μ΄ν•‘λ“œ 질문(typed questions)을 μž…λ ₯λ°›μ•„, λͺ¨λ“  μ˜΅μ…˜μ— 걸쳐 λ³΄μ •λœ ν™•λ₯  뢄포λ₯Ό 뢙인 ꡬ쑰화 결정을 단일 forward 패슀둜 λ°˜ν™˜ν•˜λŠ” κ²½λŸ‰ μ˜μ‚¬κ²°μ • μ—”μ§„μž…λ‹ˆλ‹€. 일반 μ±— LLMκ³Ό 달리 ν…μŠ€νŠΈλ₯Ό μƒμ„±ν•˜μ§€ μ•Šκ³ , 각 질문의 μ •λ‹΅ 심볼 λ‘œμ§“λ§Œ μ˜ˆμΈ‘ν•©λ‹ˆλ‹€ (System One / Jev ν˜Έν™˜).

μ„±λŠ₯

벀치마크 점수 규λͺ¨
LocalLLaMA typed-decisions (2,000κ²°μ •, fitted) 0.818 μ—μ΄μ „νŠΈ νŠΈλ ˆμ΄μŠ€Β·λ³΄μ•ˆΒ·CS·인보이슀 4도메인
KoBEST 5νƒœμŠ€ν¬ λ³€ν™˜ 0.866 2,600λ¬Έν•­
ν•œκ΅­ μƒν™œ 도메인 ν™€λ“œμ•„μ›ƒ 0.997 ν–‰μ •Β·μ˜λ£ŒΒ·μ‡Όν•‘CSΒ·μƒν™œμΈν”„λΌΒ·κ΅μœ‘Β·μ§μž₯Β·μ—μ΄μ „νŠΈ 7도메인
korean-jev-decision-index 0.635 64개 ν•œκ΅­ 벀치마크 μ†ŒμŠ€ 3,000λ¬Έν•­
λŒ€ν•™ κ·œμ • μ€€κ±° νŒλ‹¨ 0.791 κ·œμ • 3μ’… 기반 μ‹ κ·œ νƒœμŠ€ν¬
Decision Index 0.3 곡개 μŠ€μœ„νŠΈ μ§€μˆ˜ 30.7 14만 μš”μ²­, μ—λŸ¬ 0, μ§€μ—° p50 168ms
  • ν•™μŠ΅Β·μ„œλΉ™ λͺ¨λ‘ 단일 24GB μ†ŒλΉ„μž GPU (int8 LoRA, r=32)
  • ν™•λ₯  보정: ECE 0.001 μˆ˜μ€€, νƒ€μž…λ³„ μ˜¨λ„ ν”ΌνŒ…

λΉ λ₯Έ μ‹œμž‘

ν—ˆκΉ…νŽ˜μ΄μŠ€ transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

model = AutoModelForCausalLM.from_pretrained(
    "ONYULTEA/K-Decision-9B", torch_dtype=torch.bfloat16, device_map="auto")
tok = AutoTokenizer.from_pretrained("ONYULTEA/K-Decision-9B")

/v1/systemone μ„œλ²„

git clone https://github.com/onyultea/k-decision
python src/serve_systemone.py --merged ONYULTEA/K-Decision-9B --port 8111

질문 νƒ€μž…: choice(2~26μ˜΅μ…˜), noul(예/μ•„λ‹ˆμ˜€). Decision Index ν‚·Β·Kev ν΄λΌμ΄μ–ΈνŠΈ ν˜Έν™˜.

μž‘λ™ 원리

  1. 마컀 λ‹¨μΌνŒ¨μŠ€ β€” JSON μŠ€ν‚¬λ ˆν†€μ˜ 마컀(β–‘) 직전 λ‘œμ§“μ΄ ν•΄λ‹Ή ν•„λ“œ 결정을 예츑, N개 ν•„λ“œ 1회 forward λ™μ‹œ κ²°μ •
  2. μ œμ•½ λ””μ½”λ”© β€” 합법 심볼(A~Z / Y,N)만으둜 softmax, 합계 1 보μž₯
  3. μΊ˜λ¦¬λΈŒλ ˆμ΄μ…˜ β€” choice/noul 각각 μ˜¨λ„ ν”ΌνŒ…, Brier/ECE μ΅œμ ν™”
  4. int8 LoRA β€” 4λΉ„νŠΈ μ–‘μžκ°€ ν™•λ₯  정밀도λ₯Ό 해침을 μ‹€μΈ‘ 확인, int8 채택

ν•œκ³„

  • choice μ΅œλŒ€ 26μ˜΅μ…˜, state μ΅œλŒ€ 6,000자 β€” 초과 μ‹œ 정직 κ±°λΆ€
  • 세계 지식(KMMLU ~30%)은 9B 베이슀 μˆ˜μ€€ β€” νŒŒμΈνŠœλ‹μ€ λ°œν˜„μ„ λ°”κΎΈμ§€ 지식을 λ§Œλ“€μ§€ μ•ŠμŒ
  • κ³ μœ„ν—˜ μ˜μ‚¬κ²°μ •μ—λŠ” 인간 κ²€ν†  ν•„μˆ˜

Β© 2026 ONYULTEA Β· https://onyultea.kr

Downloads last month
66
Safetensors
Model size
9B params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for ONYULTEA/K-Decision-9B

Finetuned
Qwen/Qwen3.5-9B
Finetuned
(1,294)
this model

Space using ONYULTEA/K-Decision-9B 1

Evaluation results

  • accuracy (fitted) on LocalLLaMA/typed-decisions (test, 400 cases / 2,000 decisions)
    self-reported
    0.818
  • accuracy on skt/kobest_v1 (5-task conversion, 2,600 items)
    self-reported
    0.866
  • accuracy on bzantium/korean-jev-decision-index (3,000 items)
    self-reported
    0.635