cn0303 commited on
Commit
ebd4308
·
verified ·
1 Parent(s): 29b7bde

Add achievement:fieldnotes tag (blog published)

Browse files
Files changed (2) hide show
  1. README.md +1 -0
  2. model/spec_lora/README.md +38 -9
README.md CHANGED
@@ -17,6 +17,7 @@ tags:
17
  - sponsor:nvidia
18
  - achievement:offbrand
19
  - achievement:welltuned
 
20
  ---
21
 
22
  <!--
 
17
  - sponsor:nvidia
18
  - achievement:offbrand
19
  - achievement:welltuned
20
+ - achievement:fieldnotes
21
  ---
22
 
23
  <!--
model/spec_lora/README.md CHANGED
@@ -13,8 +13,11 @@ some nvidia card" — into the structured spec JSON used by
13
  [FitCheck](https://huggingface.co/spaces/build-small-hackathon/FitCheck), the
14
  honest "what AI can your computer run" advisor. This powers its paste box.
15
 
16
- The one rule that matters: **missing information becomes `null`, never a
17
- guess.** The model is trained and gated specifically against inventing specs.
 
 
 
18
 
19
  ## Training data: grounded, not synthetic-echo
20
 
@@ -27,12 +30,14 @@ comparisons, half-remembered specs, several languages). ~39% of examples have
27
  no GPU to extract — the don't-invent cases. Trained with Unsloth (bf16 LoRA,
28
  completion-only loss) on a single RTX 5090 laptop.
29
 
30
- ## Evaluation: human-written text only
 
 
31
 
32
  Evaluated on a 45-example **human-written dev set** (never generator output;
33
  multilingual, consoles, buying-intent traps, pure refusals). The builder
34
- iterated against this set, so these are **dev numbers** optimistically
35
- biased by adaptive iteration, and labelled as such:
36
 
37
  | round | field accuracy | invented-field rate (hallucination) |
38
  |---|---|---|
@@ -40,10 +45,34 @@ biased by adaptive iteration, and labelled as such:
40
  | 3 (answer-only loss + explicit rules) | 85.8% | 12.0% |
41
  | 5 (final) | **91.6%** | **1.2%** |
42
 
43
- A **sealed test set** (written by people who never saw the training data,
44
- evaluated exactly once, builder-blind) is pending; its result will be added
45
- here unedited when run. Ship gate: beat the base model zero-shot AND keep the
46
- invented-field rate under 5% passed on dev.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
 
48
  ## Output schema
49
 
 
13
  [FitCheck](https://huggingface.co/spaces/build-small-hackathon/FitCheck), the
14
  honest "what AI can your computer run" advisor. This powers its paste box.
15
 
16
+ The rule it is trained toward: **missing information should become `null`, not a
17
+ guess.** It is tuned to prefer null over inventing, and does so far more than the
18
+ base model, but it is not perfect: on a builder-blind sealed test it still
19
+ invents a value about 18% of the time it should say null (vs 37% for the base
20
+ model). See Evaluation for the honest numbers.
21
 
22
  ## Training data: grounded, not synthetic-echo
23
 
 
30
  no GPU to extract — the don't-invent cases. Trained with Unsloth (bf16 LoRA,
31
  completion-only loss) on a single RTX 5090 laptop.
32
 
33
+ ## Evaluation
34
+
35
+ ### Dev set (human-written, builder-iterated, optimistic)
36
 
37
  Evaluated on a 45-example **human-written dev set** (never generator output;
38
  multilingual, consoles, buying-intent traps, pure refusals). The builder
39
+ iterated against this set, so these are **dev numbers**, optimistically biased
40
+ by adaptive iteration and labelled as such:
41
 
42
  | round | field accuracy | invented-field rate (hallucination) |
43
  |---|---|---|
 
45
  | 3 (answer-only loss + explicit rules) | 85.8% | 12.0% |
46
  | 5 (final) | **91.6%** | **1.2%** |
47
 
48
+ ### Sealed test (builder-blind, evaluated once), the honest number
49
+
50
+ A 40-example sealed test, generated by a separate LLM that never saw the
51
+ training data and evaluated exactly once (machine-generated, so labelled as such
52
+ rather than human-written), checked for zero overlap with train and dev:
53
+
54
+ | model | field accuracy | invented-field rate |
55
+ |---|---|---|
56
+ | base Qwen3-1.7B, zero-shot | 71.5% | 37.1% |
57
+ | this LoRA | **88.0%** | **17.7%** |
58
+
59
+ The LoRA clearly beats the base model (accuracy +16.5 points, invented rate
60
+ roughly halved), but it does NOT clear the ship gate's under-5% invented-field
61
+ target on builder-blind data: the real hallucination rate is about 18%, far
62
+ above the 1.2% the adaptively-iterated dev set suggested. Reported unedited,
63
+ because catching exactly that optimism is what a sealed test is for.
64
+
65
+ Caveat: the sealed labels are machine-generated and unaudited, and some of the
66
+ "inventions" are debatable integrated-graphics cases (the model extracts an iGPU
67
+ the generator marked null), so the absolute figure carries some upward bias; a
68
+ human-audited sealed set would tighten it. The direction is unambiguous.
69
+
70
+ **Ship gate** (beat base zero-shot AND keep invented-field rate under 5%):
71
+ clears the beat-base half, fails the under-5% half on the sealed set. Treat this
72
+ as a strong extractor that nulls far more often than the base model, not a
73
+ near-zero-hallucination one. Reproduce with `scripts/eval_spec_lora.py
74
+ --testfile <sealed> --baseline <base.json>`; signed result artifacts are in the
75
+ project repo under `artifacts/`.
76
 
77
  ## Output schema
78