Commit Graph
28 Commits
Author SHA1 Message Date
wassnameandClaudypoo 799042e16e readme: clarify informedness bullet
Lead with the plain point, introduce + link Youden's J, spell out the macro
averaging (one-vs-rest per foundation) and point at _informedness for the
formula. Fix stale "two scalars" -> "three". Drop the "flip-informedness"
coinage and "the headline" tell. External-panel comprehension pass: ready
(4.1/5), accuracy and caveats 4-5 across panelists.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-06-18 20:07:25 +08:00
wassnameandClaudypoo 205e96bf6a eval: add macro informedness (Youden's J) headline metric
Chance-corrected, argmax-only companion to mean_nll: moves when the answer
flips, not when confidence shifts. 0 = base-rate guessing, so it exposes
majority-class models that top1_acc flatters. Same flip-informedness family
as steering-lite's surgical informedness, anchored on the human argmax here.
README also points at the paired training set moral_stories_foundations.

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-06-18 19:47:20 +08:00
wassname e3b663d7f7 proofread 2026-05-13 10:48:28 +08:00
wassname cb31acff28 readme 2026-05-13 10:46:18 +08:00
wassname (Michael J Clark) 139c023bb0 Update README.md 2026-05-12 11:38:06 +08:00
wassname (Michael J Clark) 0b4381704f Update README.md 2026-05-12 11:30:04 +08:00
wassname (Michael J Clark) 9d13d7c44a Update README.md 2026-05-12 11:29:20 +08:00
wassname (Michael J Clark) 9db4a568d0 Update README.md 2026-05-12 11:11:42 +08:00
wassname (Michael J Clark) 844fe93821 Update README.md 2026-05-12 11:10:33 +08:00
wassname (Michael J Clark) ed90b79935 Update README.md 2026-05-12 11:05:02 +08:00
wassname b20ec56a09 forced-choice unification: drop legacy llm_/calibrated_, normalize human_*, justfile->09 2026-05-08 16:02:25 +08:00
wassname 8dfaf299ca rename 2026-05-08 15:30:06 +08:00
wassname c96d02a675 refactor 2026-05-08 15:15:14 +08:00
wassname d796df85c8 improved to have better airisk, better eval that distinguished factors 2026-05-08 14:04:56 +08:00
wassname d7a286acac docs: use simple emoji links for cross-referencing github and huggingface 2026-05-03 12:58:24 +08:00
wassname a8a35b308b docs: fix github repo links to point to wassname/tinymfv 2026-05-03 12:57:45 +08:00
wassname 898893d440 chore: remove uncalibrated raw LLM columns from final vignettes
- Updated scripts/07a_merge_labels.py to only merge calibrated_* and llm_dominant
- Updated README.md and scripts/05_upload_hf.py to reflect removed columns
- Re-merged and re-uploaded clean datasets to HuggingFace
2026-05-03 12:55:00 +08:00
wassname bcbdb9cc6f feat: multi-label moral foundation ratings with z-scored frame averaging and human calibration
- Add scripts/07_multilabel.py: LLM judge rates all 7 foundations per vignette
  using violation (forward) and acceptability (reverse) frames
- Foundation definitions drawn from Clifford et al. (2015) survey rubric
- Z-score each frame per foundation before averaging to cancel range bias
- Calibrate LLM Likert → human % via per-foundation OLS (classic set only)
- Add scripts/07a_merge_labels.py: merges llm_* and calibrated_* into vignette files
- Update README and HF dataset card with methodology and calibration quality table
- Classic set: 80.3% dominant-foundation accuracy, Pearson r 0.69-0.89 per foundation
2026-05-03 12:48:14 +08:00
wassname 881ac16c24 API improvements: rename clifford->classic, default load_vignettes to all, add dual-axis docs, and update HF upload script 2026-05-03 07:01:28 +08:00
wassname addf47c5a0 quiet pmass-low warning: one summary per batch
Was emitting `logger.warning("pmass=0.XX<0.9 — top-5: ...")` per-row, which
spammed the log heavily during heavy-steering eval (many rows go OOD at once).
Now collects all low-pmass rows in the batch and emits one summary line with
the worst-case top-5, e.g.:

    pmass<0.9 on 7/16 rows in this batch; worst=0.412 top-5: '1'=0.40, ...

Same diagnostic signal, ~16× fewer log lines per batch.
2026-05-03 06:50:19 +08:00
wassname (Michael J Clark) 7867a677d0 Update README.md 2026-05-03 05:51:05 +08:00
wassname 0f8048d5d9 Implement N-token evaluation with guided rollouts
- Refactored evaluation logic in `src/tinymfv/eval.py` to support a new `max_think_tokens` parameter, allowing for a fixed continuation budget before scoring.
- Introduced `guided_rollout` function in `src/tinymfv/guided.py` to handle the generation of multiple tokens and scoring based on a deterministic continuation.
- Updated the CLI in `scripts/03_eval.py` to accept `--max-think-tokens` argument for controlling the token budget during evaluation.
- Created a new specification document `docs/spec/20260501_n_token_eval.md` outlining the goals, requirements, and tasks for the N-token evaluation feature.
- Simplified the record creation in `scripts/02_rewrite.py` by extracting logic into a new `make_rec` function for better code organization.
2026-05-01 21:44:14 +08:00
wassname e5cacc0c29 readme 2026-04-30 21:45:23 +08:00
wassname 234424161c wip 2026-04-30 21:39:53 +08:00
wassnameandClaude Opus 4.7 a2e3124e06 fix airisk self_violate actor archetype + simplify to 2 conditions
other_violate is now the verbatim source (no LLM), only self_violate is
rewritten. For airisk specifically, the AI-as-actor framing is preserved
in 1st-person ("You, an AI X bot, ...") since a naive "You ..." rewrite
silently swaps the actor archetype to human (16/132 flagged by judge).

Pairwise consistency check (06_consistency.py) verifies same-situation
across the perspective shift. After the fix:
- clifford 97.7% same
- scifi    99.2% same
- airisk   86.3% -> 100.0% same

First eval signal on Qwen3-0.6B: airisk wrongness=+0.70, gap=+0.43 vs
clifford/scifi ~0; model recognizes AI misbehavior as wrong but is much
more lenient when prompted as the AI itself.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-30 21:29:38 +08:00
wassname 252e62abb7 decent 2026-04-30 21:22:07 +08:00
wassname a155f5594b valdiation 2026-04-30 20:08:12 +08:00
wassname ebf161b658 init 2026-04-30 17:10:09 +08:00