Instructions to use kumarabd1996/agent-task-classifier with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Laya
How to use kumarabd1996/agent-task-classifier with Laya:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
laya loop-taxonomy v2: nine labels incl. plan (47/54 held out, plan 11/13)
Browse files- README.md +45 -97
- model.safetensors +1 -1
- questions.json +9 -11
- rl_agent_config.json +51 -51
- train_report.json +43 -43
README.md
CHANGED
|
@@ -14,7 +14,7 @@ pipeline_tag: text-classification
|
|
| 14 |
|
| 15 |
# agent-task-classifier
|
| 16 |
|
| 17 |
-
*(laya loop-taxonomy
|
| 18 |
|
| 19 |
A fine-tuned [laya](https://huggingface.co/convaiinnovations/laya) checkpoint that classifies a
|
| 20 |
user request to a personal-assistant agent by **the agent-loop shape it demands** — the skeleton
|
|
@@ -23,25 +23,32 @@ of the high-level process required to fulfil it — rather than by topic.
|
|
| 23 |
Same interface as every laya checkpoint: text in, one typed `choice` decision out, one forward
|
| 24 |
pass, no generation. English, ~0.3 s/query on CPU.
|
| 25 |
|
| 26 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
| label | the loop it demands |
|
| 29 |
|---|---|
|
| 30 |
-
| `conversation` |
|
| 31 |
-
| `diagnose` | find the cause of a specific malfunction or anomaly |
|
| 32 |
-
| `research` | assemble understanding from investigation (multi-source, synthesis) |
|
| 33 |
-
| `arrange` | commit a real-world arrangement — book, reserve, schedule, hire |
|
| 34 |
-
| `acquire` | obtain a purchasable good, and verify it arrived |
|
| 35 |
-
| `execute` | complete a known, externally-defined procedure (renew, file, claim) |
|
| 36 |
-
| `make` | produce an artifact judged against a standard (tests, spec, taste) |
|
| 37 |
-
| `tend` | review/maintain a standing concern (budget, health, home, wardrobe) |
|
| 38 |
-
| `learn` | build the user's own ability over sessions (practice, tutoring) |
|
| 39 |
| `companion` | inner-life support with no outcome in the world (reflection, therapy) |
|
| 40 |
-
| `
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
|
| 42 |
Boundary rule: two requests share a label iff they demand the same loop skeleton — same phases,
|
| 43 |
-
same iteration driver, same exit criterion. Topic is irrelevant
|
| 44 |
-
|
|
|
|
|
|
|
|
|
|
| 45 |
|
| 46 |
## Usage
|
| 47 |
|
|
@@ -49,103 +56,44 @@ wardrobe, memories; `make` spans code, letters, meal plans).
|
|
| 49 |
import laya
|
| 50 |
|
| 51 |
agent = laya.load("kumarabd1996/agent-task-classifier", device="cpu")
|
| 52 |
-
questions =
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
"instructions": "What does this request (or the request it continues) demand?",
|
| 56 |
-
"criteria": { ... }, # shipped as questions.json in this repo
|
| 57 |
-
}
|
| 58 |
-
}
|
| 59 |
-
out = agent.predict("the user's message", questions)
|
| 60 |
-
out["answers"]["loop"]["choice"] # e.g. "arrange"
|
| 61 |
out["answers"]["loop"]["probabilities"] # calibrated (temperatures fitted at train time)
|
| 62 |
```
|
| 63 |
|
| 64 |
Continuations: pass the request being continued in the state, the format the model was trained on:
|
| 65 |
|
| 66 |
```
|
| 67 |
-
Earlier request:
|
| 68 |
-
New request:
|
| 69 |
```
|
| 70 |
|
| 71 |
-
##
|
| 72 |
|
| 73 |
-
|
| 74 |
-
|
| 75 |
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
# {"label":"arrange","probabilities":{...}}
|
| 81 |
-
```
|
| 82 |
|
| 83 |
-
`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 84 |
|
| 85 |
## Training
|
| 86 |
|
| 87 |
-
-
|
| 88 |
-
|
| 89 |
-
en-US slices (~920, acquire/arrange/conversation), OASST2 prompts + continuations (~1,060,
|
| 90 |
-
teacher-labeled), synthetic items (~2,315) covering all eleven shapes (labels by construction,
|
| 91 |
-
incl. 34 hand-written boundary cases), and 1,056 continuation-form items
|
| 92 |
-
(`Earlier request: … / New request: …`). Per-class caps keep the largest class ≤ ~28%.
|
| 93 |
-
Released as a dataset: `kumarabd1996/agent-task-classifier-dataset`.
|
| 94 |
-
- **Hyperparameters**: 4 epochs, effective batch 64 (micro 4 × accum 16), encoder lr 2.5e-5 /
|
| 95 |
-
head lr 1e-4, RLCD objective (default), option-order augmentation, max-len 256.
|
| 96 |
-
- **Hardware**: one Mac, CPU only (~2 hours). A frozen-encoder variant failed to learn the
|
| 97 |
-
taxonomy (37% in-distribution); encoder adaptation is required — matching laya's own findings.
|
| 98 |
-
- Temperatures fitted automatically on a held-out calibration slice (choice temperature ≈ 3.82).
|
| 99 |
-
|
| 100 |
-
## Evaluation
|
| 101 |
-
|
| 102 |
-
Boundary drills: 24 held-out hand-written cases targeting the taxonomy's hard boundaries
|
| 103 |
-
(info-vs-procedure, understanding-vs-commitment, urgency-vs-worry, artifact-vs-investigation).
|
| 104 |
-
|
| 105 |
-
| | accuracy | ECE | mean confidence |
|
| 106 |
-
|---|---|---|---|
|
| 107 |
-
| base `convaiinnovations/laya` (zero-shot) | 0.29 (7/24) | 0.54 | 0.83 (miscalibrated) |
|
| 108 |
-
| **this checkpoint** | **0.83 (20/24)** | **0.13** | 0.96 |
|
| 109 |
-
|
| 110 |
-
The 4 remaining misses, all at genuine boundaries: "Is Bali worth visiting in December?"
|
| 111 |
-
(research, predicted arrange), "What does renewing a passport require?" (conversation,
|
| 112 |
-
predicted execute), "Why have I been so tired lately?" (diagnose, predicted conversation),
|
| 113 |
-
"Sign me up for the best EV lease deal you find." (arrange, predicted conversation).
|
| 114 |
|
| 115 |
## Limitations
|
| 116 |
|
| 117 |
-
-
|
| 118 |
-
-
|
| 119 |
-
|
| 120 |
-
-
|
| 121 |
-
- Not a safety classifier — do not use for guardrails or moderation.
|
| 122 |
-
|
| 123 |
-
## Related work
|
| 124 |
-
|
| 125 |
-
Small-model routing exists on two other axes, both public on the Hub:
|
| 126 |
-
|
| 127 |
-
- **Capability buckets** — e.g. [ai-systems/agent-task-classifier](https://huggingface.co/ai-systems/agent-task-classifier),
|
| 128 |
-
a TF-IDF reference model over tool/subsystem categories (browser, retrieval, verification, …).
|
| 129 |
-
It answers *which capability a task needs*.
|
| 130 |
-
- **Model-choice routing** — e.g. [subhash4face/agentic-ai-routing-task-classifier](https://huggingface.co/subhash4face/agentic-ai-routing-task-classifier),
|
| 131 |
-
a DeBERTa fine-tune over LLM task types (QA, coding, summarization, long-context, …).
|
| 132 |
-
It answers *which model should handle a prompt*.
|
| 133 |
-
|
| 134 |
-
This model answers a third question: **which execution loop the task demands** — the only one of the
|
| 135 |
-
three that decides how the agent's own work should proceed (phases, iteration driver, exit
|
| 136 |
-
criteria) rather than which resource to engage. Capability and loop are orthogonal — a `diagnose`
|
| 137 |
-
task may need retrieval tools, a `conversation` task may need none — and in an agent harness the
|
| 138 |
-
loop decision is the routing decision that determines everything downstream.
|
| 139 |
-
|
| 140 |
-
## Training data provenance
|
| 141 |
-
|
| 142 |
-
MultiWOZ 2.1 (research use, MIT-licensed distribution) · MASSIVE en-US (CC-BY-4.0, Amazon) ·
|
| 143 |
-
OASST2 (Apache-2.0, OpenAssistant) · synthetic/generated items (Apache-2.0 with this release).
|
| 144 |
-
No user/private data was used in training.
|
| 145 |
-
|
| 146 |
-
## Files
|
| 147 |
-
|
| 148 |
-
`model.safetensors` (weights, incl. encoder) · `encoder/config.json` · `tokenizer/` ·
|
| 149 |
-
`questions.json` (the taxonomy question, ready to pass to `predict`) ·
|
| 150 |
-
`rl_agent_config.json` (fitted temperatures, training config) · `train_report.json`
|
| 151 |
-
(before/after metrics).
|
|
|
|
| 14 |
|
| 15 |
# agent-task-classifier
|
| 16 |
|
| 17 |
+
*(laya loop-taxonomy v2 — nine labels)*
|
| 18 |
|
| 19 |
A fine-tuned [laya](https://huggingface.co/convaiinnovations/laya) checkpoint that classifies a
|
| 20 |
user request to a personal-assistant agent by **the agent-loop shape it demands** — the skeleton
|
|
|
|
| 23 |
Same interface as every laya checkpoint: text in, one typed `choice` decision out, one forward
|
| 24 |
pass, no generation. English, ~0.3 s/query on CPU.
|
| 25 |
|
| 26 |
+
**v2 changes the label set** (v1 had eleven labels; `git` history keeps it). v1 → v2:
|
| 27 |
+
`make`→`produce`; `react`→`stabilize`; `arrange`, `acquire`, `execute`→`transact`;
|
| 28 |
+
`tend`→`conversation` (reviewing a standing concern is a lookup; the wake that raises it is a
|
| 29 |
+
trigger, not a request); **`plan` is new** — setting up or changing a person's own goals, routines,
|
| 30 |
+
budgets and trackers.
|
| 31 |
+
|
| 32 |
+
## The nine labels
|
| 33 |
|
| 34 |
| label | the loop it demands |
|
| 35 |
|---|---|
|
| 36 |
+
| `conversation` | questions, quick asks, lookups, a reported measurement, a single reminder, chatter — the default, safe fallback |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
| `companion` | inner-life support with no outcome in the world (reflection, therapy) |
|
| 38 |
+
| `learn` | build the user's own ability over sessions (practice, tutoring) |
|
| 39 |
+
| `diagnose` | find the cause of a specific malfunction or anomaly, including in the user's own data |
|
| 40 |
+
| `research` | assemble understanding from investigation (multi-source, comparison, synthesis) |
|
| 41 |
+
| `produce` | make an artifact judged against a standard (document, spreadsheet, script, letter) |
|
| 42 |
+
| `transact` | a commitment or possession in the world: book, buy, pay, transfer, or complete a procedure |
|
| 43 |
+
| `stabilize` | urgent or deteriorating situation — act before full understanding |
|
| 44 |
+
| `plan` | set up or change the person's own standing structure: a goal, routine, budget/limit, or tracker |
|
| 45 |
|
| 46 |
Boundary rule: two requests share a label iff they demand the same loop skeleton — same phases,
|
| 47 |
+
same iteration driver, same exit criterion. Topic is irrelevant. Labels are checked in the order
|
| 48 |
+
`stabilize`, `transact`, `plan`, `produce`, `diagnose`, `research`, `learn`, `companion`,
|
| 49 |
+
`conversation`; the first match wins. `plan` is *not* a single reminder ("remind me to call Sam"),
|
| 50 |
+
a lookup ("how much did I spend on dining"), a reported measurement ("I weighed 82 kg"), a document
|
| 51 |
+
to write ("build me a budget spreadsheet") or a payment ("transfer $500 to savings").
|
| 52 |
|
| 53 |
## Usage
|
| 54 |
|
|
|
|
| 56 |
import laya
|
| 57 |
|
| 58 |
agent = laya.load("kumarabd1996/agent-task-classifier", device="cpu")
|
| 59 |
+
questions = json.load(open(hf_hub_download("kumarabd1996/agent-task-classifier", "questions.json")))
|
| 60 |
+
out = agent.predict("I want to keep my dining spending under $200 a month", questions)
|
| 61 |
+
out["answers"]["loop"]["choice"] # "plan"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
out["answers"]["loop"]["probabilities"] # calibrated (temperatures fitted at train time)
|
| 63 |
```
|
| 64 |
|
| 65 |
Continuations: pass the request being continued in the state, the format the model was trained on:
|
| 66 |
|
| 67 |
```
|
| 68 |
+
Earlier request: I want to keep my dining spending under $200 a month
|
| 69 |
+
New request: All
|
| 70 |
```
|
| 71 |
|
| 72 |
+
## Evaluation (held out, never trained on)
|
| 73 |
|
| 74 |
+
54 items: the 24 taxonomy boundary drills (relabelled to v2) plus 30 hand-written personal-records
|
| 75 |
+
and finance cases.
|
| 76 |
|
| 77 |
+
| | accuracy | mean confidence | ECE |
|
| 78 |
+
|---|---|---|---|
|
| 79 |
+
| untuned laya | 24.1% (13/54) | 0.31 | 0.19 |
|
| 80 |
+
| **this model** | **87.0% (47/54)** | 0.96 | 0.09 |
|
|
|
|
|
|
|
| 81 |
|
| 82 |
+
`plan`: 11/13. Nothing outside `plan` was predicted as `plan`. The two misses were implicit
|
| 83 |
+
phrasings ("Don't let me overspend on clothes this quarter", "I keep meaning to exercise more, can
|
| 84 |
+
you help me actually do it?"). Remaining misses are older boundary drills (an implied purchase,
|
| 85 |
+
"is X worth it?" as research, a money transfer) and the model is confident when it is wrong (~0.95),
|
| 86 |
+
so a confidence floor does not catch them. 54 items is a small sample: treat the numbers as a
|
| 87 |
+
smoke test, not a benchmark.
|
| 88 |
|
| 89 |
## Training
|
| 90 |
|
| 91 |
+
Full fine-tune of laya on 4,754 examples (400 held back to fit calibration temperatures), 4 epochs,
|
| 92 |
+
effective batch 64. Data: [kumarabd1996/agent-task-classifier-dataset](https://huggingface.co/datasets/kumarabd1996/agent-task-classifier-dataset).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
|
| 94 |
## Limitations
|
| 95 |
|
| 96 |
+
- English only; nine fixed labels; out-of-taxonomy requests resolve to `conversation`.
|
| 97 |
+
- Much of the training data is synthetic, so template phrasing biases it; implicit or indirect
|
| 98 |
+
requests ("I keep meaning to…") are the weak spot.
|
| 99 |
+
- Calibrated on a small held-out slice; probabilities are not reliable above ~0.9.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
model.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
size 842609220
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:fca19e77f4f6462c84d0adc568e2982d6e3a290e1f778334320c891aad8a5c09
|
| 3 |
size 842609220
|
questions.json
CHANGED
|
@@ -3,17 +3,15 @@
|
|
| 3 |
"type": "choice",
|
| 4 |
"instructions": "What does this request (or the request it continues) demand?",
|
| 5 |
"criteria": {
|
| 6 |
-
"
|
| 7 |
-
"
|
| 8 |
-
"
|
| 9 |
-
"
|
| 10 |
-
"
|
| 11 |
-
"
|
| 12 |
-
"
|
| 13 |
-
"
|
| 14 |
-
"
|
| 15 |
-
"companion": "Inner-life support with no outcome in the world \u2014 explicitly reflective or support-seeking.",
|
| 16 |
-
"conversation": "Nothing above fits \u2014 questions, quick asks, lookups, chatter, micro-tasks."
|
| 17 |
}
|
| 18 |
}
|
| 19 |
}
|
|
|
|
| 3 |
"type": "choice",
|
| 4 |
"instructions": "What does this request (or the request it continues) demand?",
|
| 5 |
"criteria": {
|
| 6 |
+
"stabilize": "Urgent or deteriorating situation where delay has real consequences (safety, health, money, a missed critical window) and a cheap, reversible action plausibly stops the worsening.",
|
| 7 |
+
"transact": "The outcome is a commitment or possession in the world: a booking, reservation, purchase, payment, transfer, or a named procedure completed to acceptance.",
|
| 8 |
+
"plan": "The outcome is the person's own standing structure, set up or changed in their personal records: a goal, a routine, a budget or spending limit, a tracker. Reversible, nobody else involved.",
|
| 9 |
+
"produce": "The outcome is an artifact the assistant produces, judged against a standard (tests, a spec, taste): a document, spreadsheet, script, letter.",
|
| 10 |
+
"diagnose": "The outcome is the cause of a specific malfunction or anomaly, including causes in the person's own data.",
|
| 11 |
+
"research": "The outcome is understanding assembled from investigation: multi-source, current, comparison or synthesis-shaped.",
|
| 12 |
+
"learn": "The outcome is the person's own ability, built over sessions: practice, tutoring, review.",
|
| 13 |
+
"companion": "Inner-life support with no outcome in the world: explicitly reflective or support-seeking.",
|
| 14 |
+
"conversation": "None of the above: questions, quick asks, lookups, reports of a measurement, a single reminder or note, chatter."
|
|
|
|
|
|
|
| 15 |
}
|
| 16 |
}
|
| 17 |
}
|
rl_agent_config.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
| 11 |
"amp_dtype": "bf16",
|
| 12 |
"model_name": "rl-agent",
|
| 13 |
"temperature": [
|
| 14 |
-
3.
|
| 15 |
1.0,
|
| 16 |
1.0
|
| 17 |
],
|
|
@@ -23,8 +23,8 @@
|
|
| 23 |
"fine_tuned_from_checkpoint": true,
|
| 24 |
"laya_train": {
|
| 25 |
"epochs": 4,
|
| 26 |
-
"micro_batch":
|
| 27 |
-
"grad_accum":
|
| 28 |
"encoder_lr": 2.5e-05,
|
| 29 |
"head_lr": 0.0001,
|
| 30 |
"min_lr": 1e-06,
|
|
@@ -55,17 +55,17 @@
|
|
| 55 |
"label_column": "label",
|
| 56 |
"question_id": "label",
|
| 57 |
"instructions": null,
|
| 58 |
-
"eval_data": "
|
| 59 |
"target_error": 0.1,
|
| 60 |
"min_abstain_n": 10
|
| 61 |
},
|
| 62 |
"laya_train_calibration": {
|
| 63 |
"choice": {
|
| 64 |
"items": 400,
|
| 65 |
-
"temperature": 3.
|
| 66 |
"issues": [],
|
| 67 |
-
"accuracy": 0.
|
| 68 |
-
"mean_confidence": 0.
|
| 69 |
},
|
| 70 |
"score": {
|
| 71 |
"items": 0,
|
|
@@ -79,66 +79,66 @@
|
|
| 79 |
}
|
| 80 |
},
|
| 81 |
"train_report": {
|
| 82 |
-
"eval_source": "
|
| 83 |
"eval_mode": "held_out",
|
| 84 |
"is_held_out": true,
|
| 85 |
-
"eval_items":
|
| 86 |
"note": "Metrics reflect independent held-out evaluation.",
|
| 87 |
"before": {
|
| 88 |
-
"items":
|
| 89 |
-
"loss":
|
| 90 |
-
"accuracy": 0.
|
| 91 |
-
"mean_confidence": 0.
|
| 92 |
-
"ece": 0.
|
| 93 |
-
"brier":
|
| 94 |
-
"brier_top1": 0.
|
| 95 |
"by_type": {
|
| 96 |
"choice": {
|
| 97 |
-
"items":
|
| 98 |
-
"loss":
|
| 99 |
-
"accuracy": 0.
|
| 100 |
-
"mean_confidence": 0.
|
| 101 |
-
"ece": 0.
|
| 102 |
-
"brier":
|
| 103 |
-
"brier_top1": 0.
|
| 104 |
}
|
| 105 |
}
|
| 106 |
},
|
| 107 |
"after": {
|
| 108 |
-
"items":
|
| 109 |
-
"loss": 0.
|
| 110 |
-
"accuracy": 0.
|
| 111 |
-
"mean_confidence": 0.
|
| 112 |
-
"ece": 0.
|
| 113 |
-
"brier": 0.
|
| 114 |
-
"brier_top1": 0.
|
| 115 |
"by_type": {
|
| 116 |
"choice": {
|
| 117 |
-
"items":
|
| 118 |
-
"loss": 0.
|
| 119 |
-
"accuracy": 0.
|
| 120 |
-
"mean_confidence": 0.
|
| 121 |
-
"ece": 0.
|
| 122 |
-
"brier": 0.
|
| 123 |
-
"brier_top1": 0.
|
| 124 |
}
|
| 125 |
}
|
| 126 |
},
|
| 127 |
"comparison": {
|
| 128 |
-
"delta_accuracy": 0.
|
| 129 |
-
"delta_loss": -
|
| 130 |
-
"delta_ece": -0.
|
| 131 |
-
"delta_brier": -0.
|
| 132 |
-
"delta_brier_top1": -0.
|
| 133 |
-
"delta_mean_confidence": 0.
|
| 134 |
},
|
| 135 |
"calibration": {
|
| 136 |
"choice": {
|
| 137 |
"items": 400,
|
| 138 |
-
"temperature": 3.
|
| 139 |
"issues": [],
|
| 140 |
-
"accuracy": 0.
|
| 141 |
-
"mean_confidence": 0.
|
| 142 |
},
|
| 143 |
"score": {
|
| 144 |
"items": 0,
|
|
@@ -152,12 +152,12 @@
|
|
| 152 |
}
|
| 153 |
},
|
| 154 |
"abstention_thresholds": {
|
| 155 |
-
"choice:
|
| 156 |
},
|
| 157 |
"training": {
|
| 158 |
"epochs": 4,
|
| 159 |
-
"micro_batch":
|
| 160 |
-
"grad_accum":
|
| 161 |
"encoder_lr": 2.5e-05,
|
| 162 |
"head_lr": 0.0001,
|
| 163 |
"min_lr": 1e-06,
|
|
@@ -188,13 +188,13 @@
|
|
| 188 |
"label_column": "label",
|
| 189 |
"question_id": "label",
|
| 190 |
"instructions": null,
|
| 191 |
-
"eval_data": "
|
| 192 |
"target_error": 0.1,
|
| 193 |
"min_abstain_n": 10
|
| 194 |
}
|
| 195 |
},
|
| 196 |
"abstention_thresholds": {
|
| 197 |
-
"choice:
|
| 198 |
}
|
| 199 |
},
|
| 200 |
"fine_tuned": true
|
|
|
|
| 11 |
"amp_dtype": "bf16",
|
| 12 |
"model_name": "rl-agent",
|
| 13 |
"temperature": [
|
| 14 |
+
3.9046413898468018,
|
| 15 |
1.0,
|
| 16 |
1.0
|
| 17 |
],
|
|
|
|
| 23 |
"fine_tuned_from_checkpoint": true,
|
| 24 |
"laya_train": {
|
| 25 |
"epochs": 4,
|
| 26 |
+
"micro_batch": 2,
|
| 27 |
+
"grad_accum": 32,
|
| 28 |
"encoder_lr": 2.5e-05,
|
| 29 |
"head_lr": 0.0001,
|
| 30 |
"min_lr": 1e-06,
|
|
|
|
| 55 |
"label_column": "label",
|
| 56 |
"question_id": "label",
|
| 57 |
"instructions": null,
|
| 58 |
+
"eval_data": "corpus_v2/eval.jsonl",
|
| 59 |
"target_error": 0.1,
|
| 60 |
"min_abstain_n": 10
|
| 61 |
},
|
| 62 |
"laya_train_calibration": {
|
| 63 |
"choice": {
|
| 64 |
"items": 400,
|
| 65 |
+
"temperature": 3.9046413898468018,
|
| 66 |
"issues": [],
|
| 67 |
+
"accuracy": 0.9575,
|
| 68 |
+
"mean_confidence": 0.9617928987797445
|
| 69 |
},
|
| 70 |
"score": {
|
| 71 |
"items": 0,
|
|
|
|
| 79 |
}
|
| 80 |
},
|
| 81 |
"train_report": {
|
| 82 |
+
"eval_source": "corpus_v2/eval.jsonl",
|
| 83 |
"eval_mode": "held_out",
|
| 84 |
"is_held_out": true,
|
| 85 |
+
"eval_items": 54,
|
| 86 |
"note": "Metrics reflect independent held-out evaluation.",
|
| 87 |
"before": {
|
| 88 |
+
"items": 54,
|
| 89 |
+
"loss": 1.8596,
|
| 90 |
+
"accuracy": 0.2407,
|
| 91 |
+
"mean_confidence": 0.3148,
|
| 92 |
+
"ece": 0.1869,
|
| 93 |
+
"brier": 0.7831,
|
| 94 |
+
"brier_top1": 0.1308,
|
| 95 |
"by_type": {
|
| 96 |
"choice": {
|
| 97 |
+
"items": 54,
|
| 98 |
+
"loss": 1.8596,
|
| 99 |
+
"accuracy": 0.2407,
|
| 100 |
+
"mean_confidence": 0.3148,
|
| 101 |
+
"ece": 0.1869,
|
| 102 |
+
"brier": 0.7831,
|
| 103 |
+
"brier_top1": 0.1308
|
| 104 |
}
|
| 105 |
}
|
| 106 |
},
|
| 107 |
"after": {
|
| 108 |
+
"items": 54,
|
| 109 |
+
"loss": 0.6661,
|
| 110 |
+
"accuracy": 0.8704,
|
| 111 |
+
"mean_confidence": 0.9589,
|
| 112 |
+
"ece": 0.0886,
|
| 113 |
+
"brier": 0.2397,
|
| 114 |
+
"brier_top1": 0.1096,
|
| 115 |
"by_type": {
|
| 116 |
"choice": {
|
| 117 |
+
"items": 54,
|
| 118 |
+
"loss": 0.6661,
|
| 119 |
+
"accuracy": 0.8704,
|
| 120 |
+
"mean_confidence": 0.9589,
|
| 121 |
+
"ece": 0.0886,
|
| 122 |
+
"brier": 0.2397,
|
| 123 |
+
"brier_top1": 0.1096
|
| 124 |
}
|
| 125 |
}
|
| 126 |
},
|
| 127 |
"comparison": {
|
| 128 |
+
"delta_accuracy": 0.6297,
|
| 129 |
+
"delta_loss": -1.1935,
|
| 130 |
+
"delta_ece": -0.0983,
|
| 131 |
+
"delta_brier": -0.5434,
|
| 132 |
+
"delta_brier_top1": -0.0212,
|
| 133 |
+
"delta_mean_confidence": 0.6441
|
| 134 |
},
|
| 135 |
"calibration": {
|
| 136 |
"choice": {
|
| 137 |
"items": 400,
|
| 138 |
+
"temperature": 3.9046413898468018,
|
| 139 |
"issues": [],
|
| 140 |
+
"accuracy": 0.9575,
|
| 141 |
+
"mean_confidence": 0.9617928987797445
|
| 142 |
},
|
| 143 |
"score": {
|
| 144 |
"items": 0,
|
|
|
|
| 152 |
}
|
| 153 |
},
|
| 154 |
"abstention_thresholds": {
|
| 155 |
+
"choice:6-10": 0.5204
|
| 156 |
},
|
| 157 |
"training": {
|
| 158 |
"epochs": 4,
|
| 159 |
+
"micro_batch": 2,
|
| 160 |
+
"grad_accum": 32,
|
| 161 |
"encoder_lr": 2.5e-05,
|
| 162 |
"head_lr": 0.0001,
|
| 163 |
"min_lr": 1e-06,
|
|
|
|
| 188 |
"label_column": "label",
|
| 189 |
"question_id": "label",
|
| 190 |
"instructions": null,
|
| 191 |
+
"eval_data": "corpus_v2/eval.jsonl",
|
| 192 |
"target_error": 0.1,
|
| 193 |
"min_abstain_n": 10
|
| 194 |
}
|
| 195 |
},
|
| 196 |
"abstention_thresholds": {
|
| 197 |
+
"choice:6-10": 0.5204
|
| 198 |
}
|
| 199 |
},
|
| 200 |
"fine_tuned": true
|
train_report.json
CHANGED
|
@@ -1,64 +1,64 @@
|
|
| 1 |
{
|
| 2 |
-
"eval_source": "
|
| 3 |
"eval_mode": "held_out",
|
| 4 |
"is_held_out": true,
|
| 5 |
-
"eval_items":
|
| 6 |
"note": "Metrics reflect independent held-out evaluation.",
|
| 7 |
"before": {
|
| 8 |
-
"items":
|
| 9 |
-
"loss":
|
| 10 |
-
"accuracy": 0.
|
| 11 |
-
"mean_confidence": 0.
|
| 12 |
-
"ece": 0.
|
| 13 |
-
"brier":
|
| 14 |
-
"brier_top1": 0.
|
| 15 |
"by_type": {
|
| 16 |
"choice": {
|
| 17 |
-
"items":
|
| 18 |
-
"loss":
|
| 19 |
-
"accuracy": 0.
|
| 20 |
-
"mean_confidence": 0.
|
| 21 |
-
"ece": 0.
|
| 22 |
-
"brier":
|
| 23 |
-
"brier_top1": 0.
|
| 24 |
}
|
| 25 |
}
|
| 26 |
},
|
| 27 |
"after": {
|
| 28 |
-
"items":
|
| 29 |
-
"loss": 0.
|
| 30 |
-
"accuracy": 0.
|
| 31 |
-
"mean_confidence": 0.
|
| 32 |
-
"ece": 0.
|
| 33 |
-
"brier": 0.
|
| 34 |
-
"brier_top1": 0.
|
| 35 |
"by_type": {
|
| 36 |
"choice": {
|
| 37 |
-
"items":
|
| 38 |
-
"loss": 0.
|
| 39 |
-
"accuracy": 0.
|
| 40 |
-
"mean_confidence": 0.
|
| 41 |
-
"ece": 0.
|
| 42 |
-
"brier": 0.
|
| 43 |
-
"brier_top1": 0.
|
| 44 |
}
|
| 45 |
}
|
| 46 |
},
|
| 47 |
"comparison": {
|
| 48 |
-
"delta_accuracy": 0.
|
| 49 |
-
"delta_loss": -
|
| 50 |
-
"delta_ece": -0.
|
| 51 |
-
"delta_brier": -0.
|
| 52 |
-
"delta_brier_top1": -0.
|
| 53 |
-
"delta_mean_confidence": 0.
|
| 54 |
},
|
| 55 |
"calibration": {
|
| 56 |
"choice": {
|
| 57 |
"items": 400,
|
| 58 |
-
"temperature": 3.
|
| 59 |
"issues": [],
|
| 60 |
-
"accuracy": 0.
|
| 61 |
-
"mean_confidence": 0.
|
| 62 |
},
|
| 63 |
"score": {
|
| 64 |
"items": 0,
|
|
@@ -72,12 +72,12 @@
|
|
| 72 |
}
|
| 73 |
},
|
| 74 |
"abstention_thresholds": {
|
| 75 |
-
"choice:
|
| 76 |
},
|
| 77 |
"training": {
|
| 78 |
"epochs": 4,
|
| 79 |
-
"micro_batch":
|
| 80 |
-
"grad_accum":
|
| 81 |
"encoder_lr": 2.5e-05,
|
| 82 |
"head_lr": 0.0001,
|
| 83 |
"min_lr": 1e-06,
|
|
@@ -108,7 +108,7 @@
|
|
| 108 |
"label_column": "label",
|
| 109 |
"question_id": "label",
|
| 110 |
"instructions": null,
|
| 111 |
-
"eval_data": "
|
| 112 |
"target_error": 0.1,
|
| 113 |
"min_abstain_n": 10
|
| 114 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"eval_source": "corpus_v2/eval.jsonl",
|
| 3 |
"eval_mode": "held_out",
|
| 4 |
"is_held_out": true,
|
| 5 |
+
"eval_items": 54,
|
| 6 |
"note": "Metrics reflect independent held-out evaluation.",
|
| 7 |
"before": {
|
| 8 |
+
"items": 54,
|
| 9 |
+
"loss": 1.8596,
|
| 10 |
+
"accuracy": 0.2407,
|
| 11 |
+
"mean_confidence": 0.3148,
|
| 12 |
+
"ece": 0.1869,
|
| 13 |
+
"brier": 0.7831,
|
| 14 |
+
"brier_top1": 0.1308,
|
| 15 |
"by_type": {
|
| 16 |
"choice": {
|
| 17 |
+
"items": 54,
|
| 18 |
+
"loss": 1.8596,
|
| 19 |
+
"accuracy": 0.2407,
|
| 20 |
+
"mean_confidence": 0.3148,
|
| 21 |
+
"ece": 0.1869,
|
| 22 |
+
"brier": 0.7831,
|
| 23 |
+
"brier_top1": 0.1308
|
| 24 |
}
|
| 25 |
}
|
| 26 |
},
|
| 27 |
"after": {
|
| 28 |
+
"items": 54,
|
| 29 |
+
"loss": 0.6661,
|
| 30 |
+
"accuracy": 0.8704,
|
| 31 |
+
"mean_confidence": 0.9589,
|
| 32 |
+
"ece": 0.0886,
|
| 33 |
+
"brier": 0.2397,
|
| 34 |
+
"brier_top1": 0.1096,
|
| 35 |
"by_type": {
|
| 36 |
"choice": {
|
| 37 |
+
"items": 54,
|
| 38 |
+
"loss": 0.6661,
|
| 39 |
+
"accuracy": 0.8704,
|
| 40 |
+
"mean_confidence": 0.9589,
|
| 41 |
+
"ece": 0.0886,
|
| 42 |
+
"brier": 0.2397,
|
| 43 |
+
"brier_top1": 0.1096
|
| 44 |
}
|
| 45 |
}
|
| 46 |
},
|
| 47 |
"comparison": {
|
| 48 |
+
"delta_accuracy": 0.6297,
|
| 49 |
+
"delta_loss": -1.1935,
|
| 50 |
+
"delta_ece": -0.0983,
|
| 51 |
+
"delta_brier": -0.5434,
|
| 52 |
+
"delta_brier_top1": -0.0212,
|
| 53 |
+
"delta_mean_confidence": 0.6441
|
| 54 |
},
|
| 55 |
"calibration": {
|
| 56 |
"choice": {
|
| 57 |
"items": 400,
|
| 58 |
+
"temperature": 3.9046413898468018,
|
| 59 |
"issues": [],
|
| 60 |
+
"accuracy": 0.9575,
|
| 61 |
+
"mean_confidence": 0.9617928987797445
|
| 62 |
},
|
| 63 |
"score": {
|
| 64 |
"items": 0,
|
|
|
|
| 72 |
}
|
| 73 |
},
|
| 74 |
"abstention_thresholds": {
|
| 75 |
+
"choice:6-10": 0.5204
|
| 76 |
},
|
| 77 |
"training": {
|
| 78 |
"epochs": 4,
|
| 79 |
+
"micro_batch": 2,
|
| 80 |
+
"grad_accum": 32,
|
| 81 |
"encoder_lr": 2.5e-05,
|
| 82 |
"head_lr": 0.0001,
|
| 83 |
"min_lr": 1e-06,
|
|
|
|
| 108 |
"label_column": "label",
|
| 109 |
"question_id": "label",
|
| 110 |
"instructions": null,
|
| 111 |
+
"eval_data": "corpus_v2/eval.jsonl",
|
| 112 |
"target_error": 0.1,
|
| 113 |
"min_abstain_n": 10
|
| 114 |
}
|