SyFox / docs /PROBING.md
Mr-DS-ML-85's picture
Upload folder using huggingface_hub
c97bd71 verified
|
Raw History Blame Contribute Delete
4.95 kB

Probing a SyFox model — methodology (v3.1)

Handcrafted probes are diagnostic instruments, not benchmarks. Used wrong, they produce misleading conclusions in BOTH directions. This doc encodes what the v3.1 probe experiments measured (real UCI SMS spam, one fabric, one hidden set, three decide-side criteria wordings):

decide-side criteria hidden top-1 mean margin (p1-p2)
matched (the schema the fabric was taught) 0.160 0.444
reworded (handcrafted, abstract) 0.842 0.043
empty (labels only) 0.422 0.017

The SAME fabric, the SAME rows. The criteria text at decide is a first-class input to the readout — it selects WHICH nodes the question probes, and therefore which signal (or noise) the field returns.

Rules for handcrafted probes

  1. Never conclude from margins under reworded criteria alone. Reworded, abstract criteria suppress direct-term harvest and often raise accuracy — but they also shrink margins into the tie zone (0.01-0.05 with confidence ~0). A tie is a real answer: it means "the field cannot separate these options through THIS probe wording".

  2. Use --defer-margin P when ties must not masquerade as decisions. The substrate always decides (physics untouched); the flag discloses margin below P as deferred: true, reason: "low_margin" instead of a confident-looking label on 50.9/49.1 splits. Same knob on the server: "options": {"defer_margin": 0.1}.

  3. Sweep the criteria wording — one fabric, three conditions: matched / reworded / empty. Agreement between conditions is evidence about the fabric; disagreement is evidence about the wording. A fabric that only works under its training schema is overfit to its own question format.

  4. Match the training schema when reproducing benchmark numbers. The held-out numbers a model reports (e.g. SMS 0.937) were measured under the schema the rows carry. Handcrafted probes with new wording measure a different system — not the one the number describes.

  5. Handcrafted probes bound, never establish. They can demonstrate a failure (a false negative on an obvious scam) and motivate a held-out run; they cannot estimate accuracy. Formal conclusions come from bench --eval <held-out> on the real dataset.

Why ties happen (mechanism, measured)

At learn time the substrate wires state words -> label + training-criteria words (Hebbian). At decide time the probe is label + criteria-as-given, read out of the settled state field as: direct energy at probe-token nodes + a weighted-mean one-hop over their lanes. Two failure modes dominate:

  • Direct-term harvest: probe words that appear in the state add energy regardless of class meaning. Class-pure bigrams containing globally common words ("cash abroad" -> "cash") let one option harvest from every state.
  • Anchor one-hop typicality: the label token's lanes point at its class's typical vocabulary. This is the true carrier — and it shows through best when the probe criteria are abstract enough to avoid the harvest.

Opaque per-class anchors (c00..c76) + empty instructions at learn reduce hub pollution; see the v3.1.0 banking77 ladder (0.029 -> 0.091 cal) for the measured effect sizes.

Reconciliation note for model-xl probes

The model-xl diagnostic (Bangla/English/SMS ties at ~0.50/0.50 with deferred: false) is consistent with these mechanisms: the probes used new criteria wording on a 14-domain fabric where every option's probe words carry comparable mass. The fabric's own held-out numbers (SMS 0.937) were measured under its trained schema. Next step on that side: re-run the probes with the trained schema, sweep wording, and score the real held-out sets with --defer-margin so ties are visible instead of silent.

6. Runtime flags in probes (v3.1.2)

--energy-norm, --salience-gating, and --miller-window are readout / injection instruments, not reasoning upgrades. The model-xl zero-shot reports (Snake A–E, Tic-Tac-Toe, file routing) and their repo-fabric confirmation are archived with the code-level mechanism in ZEROSHOT.md. Short version:

  • --energy-norm changes the injection dose — a different settled field.
  • --salience-gating / --miller-window change which nodes propagate during settling — the settled energy is conserved (bit-identical across source modes, measured on 2,638 real hidden rows), only the readout changes. Winner flips at constant settled energy are expected behavior.
  • Confidence under amplified configs is concentration, not correctness: high-confidence-wrong rows went 0 → 15–86 per 1,800-row fabric under the amplified configs while baseline confidence never crossed the bar.

Keep zero-shot probes and trained held-out numbers in separate buckets (ZEROSHOT.md §Part 1/Part 2); never quote a flagged readout against a default-config benchmark.