rdaum commited on
Commit
3eefc3a
·
verified ·
1 Parent(s): ad22086

Remove internal experiment terminology and clarify model usage

Browse files
Files changed (3) hide show
  1. README.md +22 -31
  2. adapter/README.md +3 -3
  3. nvfp4/adapter/README.md +3 -3
README.md CHANGED
@@ -39,8 +39,8 @@ Supply context, a question, and the allowed answers. The model scores those answ
39
  Use it for workflow routing, tool-call validation, evidence checks, rubric scoring, and action selection.
40
  Questions and answer meanings are supplied at request time, rather than fixed to a single classification task.
41
 
42
- The model was fine-tuned with PyTorch and evaluated using [Eider](https://github.com/rdaum/eider), optimized for DGX Spark.
43
- The GGUF also works with llama.cpp's native decision endpoint. Use the [Dory support PR](https://github.com/ggml-org/llama.cpp/pull/30306) branch or an upstream version that includes it once merged.
44
 
45
  ## Model and formats
46
 
@@ -50,7 +50,7 @@ The GGUF also works with llama.cpp's native decision endpoint. Use the [Dory sup
50
  | Adaptation | Rank-8 LoRA, merged into the supplied weights |
51
  | Recurrent computation | Two internal loops per inference |
52
  | Outputs | Binary probability, named-choice distribution, or ordered-score distribution |
53
- | Probability calibration | No fitted calibration profile |
54
  | Licence | [OpenMDW-1.1](LICENSE) |
55
 
56
  | Format | Files | Use |
@@ -61,8 +61,8 @@ The GGUF also works with llama.cpp's native decision endpoint. Use the [Dory sup
61
  | LoRA adapter | [`adapter/`](adapter/README.md) | Standalone adaptation for the original NVIDIA BF16 checkpoint. |
62
 
63
  All formats contain the same fine-tuned model. NVFP4 and Q8_0 are quantized from the merged BF16 weights.
64
- The adapter uses the supplied Python loader's tensor format, not PEFT format.
65
- Apply it only to the original NVIDIA checkpoint; the release weights already include it.
66
 
67
  ## How typed decisions work
68
 
@@ -100,10 +100,10 @@ Source datasets are not redistributed here.
100
 
101
  | Area | Source | Training task |
102
  |---|---|---|
103
- | General decisions | [Open-Jev](https://huggingface.co/datasets/ZefanCai/Open-Jev), `release-v2-redistributable` | Control, workflow, reasoning, and game questions with supplied target distributions. |
104
  | General decisions | [Jev Distill Corpus v3](https://huggingface.co/datasets/SargeDev/jev-distill-corpus-v3), `yuri_v3` subset | Diverse typed questions with supplied probability targets. |
105
  | General decisions | [Procedural Typed Decisions](https://huggingface.co/datasets/tasksource/procedural-typed-decisions) | Rule-based retrieval, arithmetic, routing, state tracking, and planning. |
106
- | Inference and controls | [Open-Jev-v1.1](https://huggingface.co/datasets/ZefanCai/Open-Jev-v1.1), `community-hard-mix-v2-redistributable` | WANLI-derived inference and controlled tool, document, support, and rubric scenarios. |
107
  | Tools | [ToolACE](https://huggingface.co/datasets/Team-ACE/ToolACE) | Assess reference tool calls and variants with invalid arguments. |
108
  | Evidence grounding | [RAGTruth](https://github.com/ParticleMedia/RAGTruth) | Judge response support using documents and human span annotations. |
109
  | Reading | [RACE](https://huggingface.co/datasets/ehovy/race) | Select answers to reading-comprehension questions. |
@@ -114,10 +114,10 @@ Source datasets are not redistributed here.
114
  | Board games | [Competitive Game Dataset](https://huggingface.co/datasets/yyyyyyjjjjzzz/competitive-game-dataset), Connect Four | Select solver-labelled moves, preserving ties between optimal actions. |
115
  | Interactive tasks | [ScienceWorld gold paths](https://github.com/allenai/ScienceWorld/tree/e8216d6044e8e39be9fcb185e3b2dfb602584b52/goldpaths) | Select among 17 operation types from the goal, room, inventory, and past results. |
116
  | State tracking | [SCONE](https://nlp.stanford.edu/projects/scone/), Alchemy and Tangrams | Infer final world states from instruction sequences. |
117
- | Planning | Independent Eider generators motivated by [PlanBench](https://github.com/karthikv792/LLMs-Planning/tree/main/plan-bench) | Assess legality and choose optimal moves in block stacking and package delivery. |
118
  | Human judgements | [NVIDIA HelpSteer2](https://huggingface.co/datasets/nvidia/HelpSteer2) | Learn correctness, helpfulness, coherence, and preference distributions from human ratings. |
119
 
120
- Planning examples use independently generated problems and search-derived targets, not published PlanBench instances or generator code.
121
  Training and evaluation keep related source groups together, such as episodes, games, documents, conversations, and equivalent planning problems.
122
  Public test examples are excluded from training.
123
 
@@ -134,28 +134,28 @@ NVFP4 uses packed E2M1 weights with E4M3 block scales and an F32 tensor scale in
134
  Both comparisons use the same 512 questions, two recurrent loops, the same typed-decision prompts, and no probability calibration.
135
  Within each comparison, base Dory and the fine-tune use the same quantization and runtime.
136
 
137
- ### Eider — NVFP4
138
- The 512-question test set was scored after checkpoint selection on a separate 1,024-question validation set.
 
139
 
140
  Base Dory is the original NVIDIA BF16 model quantized with the same NVFP4 recipe used for this fine-tune.
141
- Both models use the same questions, typed-decision prompt, answer labels, two loops, and inference settings.
142
- This comparison measures the effect of fine-tuning within this decision interface, rather than Dory’s performance with other prompting methods.
143
  [Comparison results and hashes](evaluation/base-comparison.json) record the matched setup.
144
 
145
- | Test task | Questions | Base Dory accuracy | Typed Decisions accuracy | Base Brier ↓ | Typed Decisions Brier ↓ |
146
  |---|---:|---:|---:|---:|---:|
147
  | SCONE state tracking | 192 | 29.69% | 75.52% | 1.0003 | 0.3779 |
148
  | Block-stacking and delivery planning | 192 | 42.71% | 92.19% | 0.6045 | 0.1909 |
149
  | HelpSteer2 human judgements | 128 | 47.66% | 50.78% | 0.3385 | 0.2290 |
150
  | **Combined** | 512 | 39.06% | 75.59% | 0.6865 | 0.2706 |
151
 
152
- ### llama.cpp — Q8_0
153
 
154
  The native `/v1/systemone` endpoint scored both models with Q8_0 weights.
155
  All 512 questions use identical prompt tokens and answer labels across both runtimes.
156
  This measures fine-tuning under llama.cpp; differences from the NVFP4 table can reflect both quantization and runtime arithmetic.
157
 
158
- | Test task | Questions | Base Dory accuracy | Typed Decisions accuracy | Base Brier ↓ | Typed Decisions Brier ↓ |
159
  |---|---:|---:|---:|---:|---:|
160
  | SCONE state tracking | 192 | 31.77% | 76.04% | 0.8954 | 0.3967 |
161
  | Block-stacking and delivery planning | 192 | 38.02% | 96.88% | 0.6506 | 0.1405 |
@@ -168,10 +168,7 @@ Accuracy counts any answer tied for the highest target probability as correct.
168
  Brier error compares the complete predicted and target distributions.
169
  These are adapted decision tasks, not scores under the source datasets' original benchmark protocols.
170
 
171
- Additional reused development sets scored 79.35% on 2,048 questions and 65.17% on 89 general questions.
172
- They are not independent final tests. [Full evaluation records](evaluation/nvfp4-comparison.json) contain the per-source results and checkpoint comparisons.
173
- The merged BF16 weights have not received a separate full accuracy evaluation.
174
-
175
 
176
  ## Limitations
177
 
@@ -186,9 +183,8 @@ Changing the prompt, label mapping, loop count, or quantization can change the r
186
 
187
  ## Use the GGUF with llama.cpp
188
 
189
- The GGUF works with llama.cpp's native `/v1/systemone` decision endpoint. It can serve decisions directly, without an Eider server.
190
- **Dory architecture support is still in NVIDIA's unmerged [llama.cpp PR #30306](https://github.com/ggml-org/llama.cpp/pull/30306).**
191
- Use that branch until architecture support reaches upstream. This requirement also applies to ordinary generation.
192
 
193
  ### Download
194
 
@@ -228,7 +224,7 @@ cmake --build llama.cpp-dory/build --target llama-server -j 6
228
  ./llama.cpp-dory/build/bin/llama-server \
229
  --model ./dory-decisions/dory-decisions-Q8_0.gguf \
230
  --alias dory-decisions \
231
- --host 127.0.0.1 --port 18091 \
232
  --ctx-size 4096 --gpu-layers all
233
  ```
234
 
@@ -238,15 +234,13 @@ Omit that option for CPU-only use. Adjust `--ctx-size` for your workload and ava
238
  ### Ask a typed question
239
 
240
  ```sh
241
- curl http://127.0.0.1:18091/v1/systemone \
242
  -H 'Content-Type: application/json' \
243
  -d '{"state":"The key is red.","questions":{"colour":{"type":"choice","instructions":"What colour is the key?","criteria":{"red":"Red","blue":"Blue"}}}}'
244
  ```
245
 
246
  The endpoint returns answer probabilities with zero generated tokens.
247
- The GGUF provides a named `systemone` prompt template and selects llama.cpp's existing `granite-switch` decision convention.
248
- This metadata selects the answer-label convention; the model architecture remains Dory.
249
- The normal chat template is also retained.
250
 
251
  | Question type | Supported input |
252
  |---|---|
@@ -254,15 +248,12 @@ The normal chat template is also retained.
254
  | `noul` | True/false, with optional text descriptions; defaults are `Yes` and `No`. |
255
  | `score` | 2–10 ordered text descriptions. |
256
 
257
- This llama.cpp convention supports 10 score levels; Eider supports 64.
258
- The tested server rejects excess score levels with HTTP 400. Template validation failures can return HTTP 500.
259
  The template accepts text, JSON states, and plain text chat. Serialize tool-call history as state text.
260
  Image and audio inputs are unsupported.
261
 
262
  ## Attribution and provenance
263
 
264
  NVIDIA supplies the base model; the linked dataset authors supply the training sources.
265
- [Eider](https://github.com/rdaum/eider) supplies the evaluated inference implementation.
266
  This is an independent derivative under [OpenMDW-1.1](LICENSE); see [NOTICE](NOTICE).
267
 
268
  [BF16 provenance](provenance.json), [NVFP4 provenance](nvfp4/provenance.json), and [file hashes](formats.json) identify the source weights and adapter.
 
39
  Use it for workflow routing, tool-call validation, evidence checks, rubric scoring, and action selection.
40
  Questions and answer meanings are supplied at request time, rather than fixed to a single classification task.
41
 
42
+ The model was fine-tuned with PyTorch. It has been evaluated with [Eider](https://github.com/rdaum/eider), an inference server optimized for DGX Spark, and llama.cpp.
43
+ The GGUF supports llama.cpp's native decision endpoint in builds that include [Dory support](https://github.com/ggml-org/llama.cpp/pull/30306).
44
 
45
  ## Model and formats
46
 
 
50
  | Adaptation | Rank-8 LoRA, merged into the supplied weights |
51
  | Recurrent computation | Two internal loops per inference |
52
  | Outputs | Binary probability, named-choice distribution, or ordered-score distribution |
53
+ | Probability calibration | Uncalibrated answer probabilities |
54
  | Licence | [OpenMDW-1.1](LICENSE) |
55
 
56
  | Format | Files | Use |
 
61
  | LoRA adapter | [`adapter/`](adapter/README.md) | Standalone adaptation for the original NVIDIA BF16 checkpoint. |
62
 
63
  All formats contain the same fine-tuned model. NVFP4 and Q8_0 are quantized from the merged BF16 weights.
64
+ The standalone adapter requires the supplied Python loader; it is not in PEFT format.
65
+ Apply it only to the original NVIDIA checkpoint. The BF16, NVFP4, and GGUF files already include the adaptation.
66
 
67
  ## How typed decisions work
68
 
 
100
 
101
  | Area | Source | Training task |
102
  |---|---|---|
103
+ | General decisions | [Open-Jev](https://huggingface.co/datasets/ZefanCai/Open-Jev) | Control, workflow, reasoning, and game questions with supplied target distributions. |
104
  | General decisions | [Jev Distill Corpus v3](https://huggingface.co/datasets/SargeDev/jev-distill-corpus-v3), `yuri_v3` subset | Diverse typed questions with supplied probability targets. |
105
  | General decisions | [Procedural Typed Decisions](https://huggingface.co/datasets/tasksource/procedural-typed-decisions) | Rule-based retrieval, arithmetic, routing, state tracking, and planning. |
106
+ | Inference and controls | [Open-Jev-v1.1](https://huggingface.co/datasets/ZefanCai/Open-Jev-v1.1) | WANLI-derived inference and controlled tool, document, support, and rubric scenarios. |
107
  | Tools | [ToolACE](https://huggingface.co/datasets/Team-ACE/ToolACE) | Assess reference tool calls and variants with invalid arguments. |
108
  | Evidence grounding | [RAGTruth](https://github.com/ParticleMedia/RAGTruth) | Judge response support using documents and human span annotations. |
109
  | Reading | [RACE](https://huggingface.co/datasets/ehovy/race) | Select answers to reading-comprehension questions. |
 
114
  | Board games | [Competitive Game Dataset](https://huggingface.co/datasets/yyyyyyjjjjzzz/competitive-game-dataset), Connect Four | Select solver-labelled moves, preserving ties between optimal actions. |
115
  | Interactive tasks | [ScienceWorld gold paths](https://github.com/allenai/ScienceWorld/tree/e8216d6044e8e39be9fcb185e3b2dfb602584b52/goldpaths) | Select among 17 operation types from the goal, room, inventory, and past results. |
116
  | State tracking | [SCONE](https://nlp.stanford.edu/projects/scone/), Alchemy and Tangrams | Infer final world states from instruction sequences. |
117
+ | Planning | Synthetic planning tasks inspired by [PlanBench](https://github.com/karthikv792/LLMs-Planning/tree/main/plan-bench) | Assess legality and choose optimal moves in block stacking and package delivery. |
118
  | Human judgements | [NVIDIA HelpSteer2](https://huggingface.co/datasets/nvidia/HelpSteer2) | Learn correctness, helpfulness, coherence, and preference distributions from human ratings. |
119
 
120
+ Planning tasks use independently generated problems and search-derived targets. Published PlanBench instances and generator code are not used.
121
  Training and evaluation keep related source groups together, such as episodes, games, documents, conversations, and equivalent planning problems.
122
  Public test examples are excluded from training.
123
 
 
134
  Both comparisons use the same 512 questions, two recurrent loops, the same typed-decision prompts, and no probability calibration.
135
  Within each comparison, base Dory and the fine-tune use the same quantization and runtime.
136
 
137
+ The model was selected using a separate 1,024-question validation set before the test questions were scored.
138
+
139
+ ### NVFP4 — evaluated with Eider
140
 
141
  Base Dory is the original NVIDIA BF16 model quantized with the same NVFP4 recipe used for this fine-tune.
142
+ These results measure decisions with the supplied prompt format and allowed-answer scoring. They do not measure the base model with other prompting methods.
 
143
  [Comparison results and hashes](evaluation/base-comparison.json) record the matched setup.
144
 
145
+ | Test task | Questions | Base Dory accuracy | Fine-tuned accuracy | Base Brier ↓ | Fine-tuned Brier ↓ |
146
  |---|---:|---:|---:|---:|---:|
147
  | SCONE state tracking | 192 | 29.69% | 75.52% | 1.0003 | 0.3779 |
148
  | Block-stacking and delivery planning | 192 | 42.71% | 92.19% | 0.6045 | 0.1909 |
149
  | HelpSteer2 human judgements | 128 | 47.66% | 50.78% | 0.3385 | 0.2290 |
150
  | **Combined** | 512 | 39.06% | 75.59% | 0.6865 | 0.2706 |
151
 
152
+ ### Q8_0 GGUF — evaluated with llama.cpp
153
 
154
  The native `/v1/systemone` endpoint scored both models with Q8_0 weights.
155
  All 512 questions use identical prompt tokens and answer labels across both runtimes.
156
  This measures fine-tuning under llama.cpp; differences from the NVFP4 table can reflect both quantization and runtime arithmetic.
157
 
158
+ | Test task | Questions | Base Dory accuracy | Fine-tuned accuracy | Base Brier ↓ | Fine-tuned Brier ↓ |
159
  |---|---:|---:|---:|---:|---:|
160
  | SCONE state tracking | 192 | 31.77% | 76.04% | 0.8954 | 0.3967 |
161
  | Block-stacking and delivery planning | 192 | 38.02% | 96.88% | 0.6506 | 0.1405 |
 
168
  Brier error compares the complete predicted and target distributions.
169
  These are adapted decision tasks, not scores under the source datasets' original benchmark protocols.
170
 
171
+ The BF16 weights have not received the same accuracy evaluation.
 
 
 
172
 
173
  ## Limitations
174
 
 
183
 
184
  ## Use the GGUF with llama.cpp
185
 
186
+ Use a llama.cpp build that includes Dory architecture support to serve the GGUF through `/v1/systemone`.
187
+ The build instructions below use the [Dory support PR](https://github.com/ggml-org/llama.cpp/pull/30306) branch. Once merged, an upstream build containing that change also works.
 
188
 
189
  ### Download
190
 
 
224
  ./llama.cpp-dory/build/bin/llama-server \
225
  --model ./dory-decisions/dory-decisions-Q8_0.gguf \
226
  --alias dory-decisions \
227
+ --host 127.0.0.1 --port 8080 \
228
  --ctx-size 4096 --gpu-layers all
229
  ```
230
 
 
234
  ### Ask a typed question
235
 
236
  ```sh
237
+ curl http://127.0.0.1:8080/v1/systemone \
238
  -H 'Content-Type: application/json' \
239
  -d '{"state":"The key is red.","questions":{"colour":{"type":"choice","instructions":"What colour is the key?","criteria":{"red":"Red","blue":"Blue"}}}}'
240
  ```
241
 
242
  The endpoint returns answer probabilities with zero generated tokens.
243
+ The GGUF includes the decision prompt template and answer-label mapping. It also retains the normal chat template.
 
 
244
 
245
  | Question type | Supported input |
246
  |---|---|
 
248
  | `noul` | True/false, with optional text descriptions; defaults are `Yes` and `No`. |
249
  | `score` | 2–10 ordered text descriptions. |
250
 
 
 
251
  The template accepts text, JSON states, and plain text chat. Serialize tool-call history as state text.
252
  Image and audio inputs are unsupported.
253
 
254
  ## Attribution and provenance
255
 
256
  NVIDIA supplies the base model; the linked dataset authors supply the training sources.
 
257
  This is an independent derivative under [OpenMDW-1.1](LICENSE); see [NOTICE](NOTICE).
258
 
259
  [BF16 provenance](provenance.json), [NVFP4 provenance](nvfp4/provenance.json), and [file hashes](formats.json) identify the source weights and adapter.
adapter/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # Eider Dory adapter
2
 
3
- This adapter uses Eider tensor names. It is not a PEFT adapter.
4
- The complete model weights already include these changes. Do not apply the adapter twice.
5
 
6
  To load the adapter with the supplied Python module, use the original BF16 snapshot:
7
 
 
1
+ # Dory Typed Decisions — LoRA adapter
2
 
3
+ This rank-8 LoRA adapter uses the tensor format supported by the included `dory_lora.py` loader. It is not in PEFT format.
4
+ The BF16, NVFP4, and GGUF model files already include the adaptation. Use this standalone adapter only with the original NVIDIA BF16 weights.
5
 
6
  To load the adapter with the supplied Python module, use the original BF16 snapshot:
7
 
nvfp4/adapter/README.md CHANGED
@@ -1,7 +1,7 @@
1
- # Eider Dory adapter
2
 
3
- This adapter uses Eider tensor names. It is not a PEFT adapter.
4
- The complete model weights already include these changes. Do not apply the adapter twice.
5
 
6
  To load the adapter with the supplied Python module, use the original BF16 snapshot:
7
 
 
1
+ # Dory Typed Decisions — LoRA adapter
2
 
3
+ This rank-8 LoRA adapter uses the tensor format supported by the included `dory_lora.py` loader. It is not in PEFT format.
4
+ The BF16, NVFP4, and GGUF model files already include the adaptation. Use this standalone adapter only with the original NVIDIA BF16 weights.
5
 
6
  To load the adapter with the supplied Python module, use the original BF16 snapshot:
7