Instructions to use TuanPhat/JIS-124M with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use TuanPhat/JIS-124M with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-classification", model="TuanPhat/JIS-124M", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("TuanPhat/JIS-124M", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
JIS-124M
JIS-124M is a 124M-parameter decision model for text and JSON. Give it a state and typed questions; it returns candidate probabilities, a selected option, or an expected rubric score without generating text.
- Compact: 124.44M parameters and a 474.7 MiB safetensors checkpoint.
- Typed decisions: supports Choice, Noul, and Score with criteria supplied at inference time.
- Local inference: runs on CPU or CUDA through Hugging Face Transformers.
Model details
| Property | JIS-124M |
|---|---|
| Backbone | GPT-2-derived, affine Pre-RMSNorm, shared candidate scorer |
| Layers / hidden size | 12 / 768 |
| Parameters | 124,440,576 |
| Context length | 1,024 tokens per state/question/candidate encoding |
| Vocabulary | 50,257 tokens |
| Release | JIS v3, selected EMA checkpoint |
JIS v3 continues JIS v2 on mixed decision datasets, including
LocalLLaMA/typed-decisions/train. Per-type calibration temperatures are included
in the configuration.
How to use
pip install "transformers==5.17.0" "torch>=2.6" "safetensors>=0.8"
import torch
from transformers import AutoModel
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModel.from_pretrained("TuanPhat/JIS-124M", trust_remote_code=True).to(device).eval()
questions = {
"team": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Charges, refunds, and invoices",
"technical": "Software errors and configuration",
},
},
"refund": {"type": "noul", "instructions": "Is the customer requesting a refund?"},
"urgency": {
"type": "score",
"instructions": "How urgent is this request?",
"criteria": ["Can wait", "Today", "Blocking the customer"],
},
}
print(model.system_one("I was charged twice. Please refund the duplicate.", questions))
| Type | Criteria | Answer |
|---|---|---|
choice |
Candidate IDs mapped to descriptions | choice, probabilities |
noul |
Optional true / false descriptions |
noul: P(true), probabilities |
score |
Ordered descriptions, lowest first | score: expected level, probabilities, legend |
Calls return answers, decisions, and usage. Questions exceeding the context
limit return no prediction. JIS scores candidates sequentially and supports text
and JSON inputs.
Performance
Typed Decisions,
full all/test: 400 cases / 2,000 decisions, scored with the official metrics.
Models were measured locally with their native SDKs and released calibration settings.
| Model | Parameters | Accuracy ↑ | KL ↓ | Brier ↓ | ECE ↓ |
|---|---|---|---|---|---|
| JIS-124M | 124M | 53.70% | 0.28328 | 0.15499 | 0.07016 |
| Laya | 421M | 36.35% | 0.57207 | 0.31545 | 0.17262 |
Speed and memory
RTX 3060, FP32 parameters, two CPU math threads; warm native calls with five questions per case. Each SDK uses the CUDA autocast precision shown below.
| Model | CUDA autocast | Median latency | p95 latency | Peak allocated GPU memory |
|---|---|---|---|---|
| JIS-124M | FP16 | 177.7 ms | 254.7 ms | 512 MiB |
| Laya | FP16 | 115.5 ms | 152.0 ms | 2,389 MiB |
Contact
Nguyen Huu Tuan Phat - tuanphatnguyenhuu@gmail.com
Citation
@misc{nguyen2026jis124m,
author = {Nguyen Huu Tuan Phat},
title = {JIS-124M: A Compact Typed Decision Model},
year = {2026},
url = {https://huggingface.co/TuanPhat/JIS-124M}
}
License
See LICENSE for JIS and GPT-2 code licenses, inherited teacher terms, and dataset attribution.
- Downloads last month
- 1
Model tree for TuanPhat/JIS-124M
Base model
openai-community/gpt2