Multiple Choice
PEFT
Safetensors
English
gev
decision-model
lora
pointer-head
calibration
Eval Results (legacy)
Instructions to use onatm/gev-e2b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use onatm/gev-e2b with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
|
Download README.md from onatm/gev-e2b: direct link, hf CLI and curl.
- Browser
- Download file 5.47 kB
-
https://huggingface.co/onatm/gev-e2b/resolve/main/README.md
- Command line
-
hf download hf://onatm/gev-e2b/README.md
-
curl -L -o README.md https://huggingface.co/onatm/gev-e2b/resolve/main/README.md
5.47 kB
| language: en | |
| base_model: google/gemma-4-E2B | |
| base_model_relation: adapter | |
| library_name: peft | |
| license: apache-2.0 | |
| tags: [gev, decision-model, lora, pointer-head, multiple-choice, calibration] | |
| datasets: [jaredpalmer/kev-suites] | |
| metrics: [accuracy, brier_score, expected_calibration_error] | |
| model-index: | |
| - name: gev-e2b | |
| results: | |
| - task: { type: text-classification, name: typed decision (choice / noul / score) } | |
| dataset: { type: jaredpalmer/kev-suites, name: "decision-v7/test (clean questions)" } | |
| metrics: | |
| - { type: accuracy, value: 0.8292 } | |
| - { type: brier_score, value: 0.2336, name: "Brier (as served)" } | |
| - { type: expected_calibration_error, value: 0.0170, name: "ECE (as served)" } | |
| - task: { type: text-classification, name: typed decision (choice / noul / score) } | |
| dataset: { type: jaredpalmer/kev-suites, name: "transfer-v4/test (clean questions)" } | |
| metrics: | |
| - { type: accuracy, value: 0.6250 } | |
| - { type: brier_score, value: 0.4491, name: "Brier (as served)" } | |
| - { type: expected_calibration_error, value: 0.0571, name: "ECE (as served)" } | |
| # gev-e2b — Gemma 4 E2B decision model | |
| **State and typed questions in; one answer and a probability distribution per question out.** Gev scores the supplied options rather than generating text. It combines a LoRA adapter on [`google/gemma-4-E2B`](https://huggingface.co/google/gemma-4-E2B) with a separately trained pointer head. | |
| The pointer head (`pointer.safetensors`) is required: loading the PEFT adapter alone does not produce Gev decisions. The Gev package loads the base model, adapter, pointer head, tokenizer markers, and serving temperature. Its [source repository](https://github.com/onatm/gev) is currently private; access to it is needed to run inference. | |
| - **Trained-source test:** 82.9% accuracy on 1,200 clean questions. | |
| - **New-source test:** 62.5% accuracy on 656 clean questions. | |
| ## Use | |
| With access to the Gev source, run `uv sync --locked` in its checkout (add `--extra mlx` on Apple Silicon). Save this as `request.json`: | |
| ```json | |
| {"state":"Order #1 arrived damaged.","questions":{"route":{"type":"choice","instructions":"Which team handles this?","criteria":{"billing":"Payments","support":"Product issues"}}}} | |
| ``` | |
| ```bash | |
| uv run gev predict onatm/gev-e2b --input request.json | |
| ``` | |
| The response includes `questions.route.answer`, `questions.route.probabilities` (one per option), and the serving temperature. Choice, yes/no (`noul`), and ordinal (`score`) questions are supported. A Hugging Face text-generation or PEFT-only pipeline cannot serve this model. | |
| ## Evaluation | |
| Clean-question scores from the saved reports. Accuracy is at raw T=1 (temperature scaling does not change the winning answer); Brier and ECE are lower-is-better. A dash means calibrated metrics were not recorded for that split. | |
| <!-- gev:eval --> | |
| The served columns use the saved temperature **T=1.6245**. | |
| | Suite / split | Clean n | Accuracy | Brier raw | Brier served | ECE raw | ECE served | | |
| | --- | ---: | ---: | ---: | ---: | ---: | ---: | | |
| | decision-v7/development | 1,264 | 0.7975 | 0.2847 | - | 0.0628 | - | | |
| | transfer-v4/development | 656 | 0.6113 | 0.4990 | 0.4735 | 0.1163 | 0.0522 | | |
| | decision-v7/test | 1,200 | 0.8292 | 0.2457 | 0.2336 | 0.0661 | 0.0170 | | |
| | transfer-v4/test | 656 | 0.6250 | 0.4680 | 0.4491 | 0.1136 | 0.0571 | | |
| <!-- /gev:eval --> | |
| `decision-v7` contains held-out questions from the training source families; `transfer-v4` contains new sources and held-out policy structures. Development was for model selection; these reports describe seed 0. Temperature was fitted on the separate `decision-v7/calibration` split, not on either test split. | |
| The decision-v7 test report predates the temperature fit. Its served metrics were computed afterward from saved raw logits, without rerunning inference or fitting on test. | |
| ## Known limits | |
| This is one seed, not a multi-seed study. The new-source test is substantially harder than the trained-source test; evaluate on your own decisions before use. | |
| - For changed-answer contrastive pairs, both answers were correct in 12/64 pairs. | |
| - With a none-of-the-above option present, 14/36 questions were correct. | |
| ## Model and provenance | |
| - Base: `google/gemma-4-E2B` at revision `d29ff6b45f081a49ee2733a859c9c9c2d95d1a6f`; frozen base weights are not in this repo. | |
| - Architecture: LoRA rank 16, alpha 32 on the text decoder and a 256-wide pointer head. Each question is scored independently. | |
| - Recipe: seed 0, 2 epochs, 12,576 training records, 3,144 steps, MLX/BF16. The checkpoint stores the fitted temperature in `gev.json`. | |
| - Training data SHA-256: `7ed5254b5cb5291baefaceb09edf7e13110258211518c8038f4a12c11bd628ad`; each saved evaluation report also records its split's SHA-256. | |
| - Training suite: [jaredpalmer/kev-suites](https://huggingface.co/datasets/jaredpalmer/kev-suites) (`decision-v7`, pinned and verified by hash). | |
| Training uses option permutation, none-of-the-above and distractor augmentation, and contrastive pairs. The architecture follows [Jev's Architecture Unmasked](https://archerhume.com/posts/jevs-architecture-unmasked); the data and evaluation protocol are adapted from [Kev](https://github.com/jaredpalmer/kev). The detailed run reports and code are in the private Gev repository. | |
| ## License | |
| The adapter and pointer head are apache-2.0; check the separately loaded base model and dataset licenses as well. | |