STEP 1637 — invariance-checker empirical v0.1

STEP 1637 2026-09-01 first empirical table qwen2.5:3b · 12 problems · 3 transforms · 2 samples
rei-aios · 表現不変性 empirical run (STEP 1631 primitive の初 実データ)

1. 何をしたか

STEP 1631 で primitive を実装、 STEP 1637 で 「一枚のテーブル」 を出しに行く — chat-Claude 2026-08-31 「作れる と 作った の 間 に あるのは 外部の誰かが自分の問題に使って得をした事実が一件あるかどうか」 応答。

ローカル Ollama 上の qwen2.5:3b (3.1B params, Q4_K_M) を 対象に、 12 個の 一段算術文章題 に対して 3 つの機械的変換 (人名置換 / 空白追加 / 同義語置換) を掛け、 各条件 2 サンプル (temperature=0.7, seed=1000/1001) で 計 96 回 生成。 変換は 3 つとも 意味 preserving を意図した設計 = 「正しく解ければ 答えは 変わらない」 pair。

Comparator = numericMatch (last-integer extract + abs tolerance 1e-6)。 判定は STEP 1631 primitive 3 段 (single I1-I5 / aggregate A0-A7 / statistical → mapMultiTrialToD8 STEP 1371 BH-FDR)。 α=0.05, FDR q=0.05。

2. 結果 (要約)

Loading empirical data from /data/invariance-checker/empirical-2026-08-31.json

3. Per-problem table

Problem Expected Difficulty variable-rename whitespace-noise synonym-swap Aggregate
Loading…

4. Cross-problem BH-FDR aggregate

Loading…

5. Honest scope

  • 単一 model、 単一 run。 「モデル差」 「run 差」 は 本 table から 言えない (v0.2 で 2 モデル以上 + N run)
  • Comparator = last-integer 抽出。 モデルが 答えを 冒頭 or 途中に 書くと 拾えない → verdict FALSE 側に 偏る可能性 (comparator brittleness = artifact, not model failure)。 v0.2 で LLM-as-judge comparator 検討
  • 変換の "equivalence" は caller 主張 (asserter=self)。 synonym-swap の bakery→bakeshop のような 置換が 完全に semantics preserving か は module 外の judgment
  • Sample サイズ 2 は 検定力不足 (n=2 で pValue 分解能 {1.0, 0.75, 0.5, 0.25, 0.0} の 5 値)。 「一致 2/2」 でも 「一致 0/2」 でも 有意 になりにくい (statistical layer は 診断だけ、 意思決定 層 は 別)
  • 変換 3 つ とも 「答えを 変えない」 が 想定。 変換の 陰性対照 (「答えが 変わる 変換」 = 変数値 変更、 誤変換) は 本 run に 入れていない。 v0.2 で 陰性対照 混ぜ込み ⇒ 「True→NEITHER (見逃し)、 True→FALSE (誤検知)」 の 4 象限 出せる
  • 問題 corpus 12 件 は 全て 一段算術 (easy 6 + medium 6)。 GSM8K/MATH 本 dataset に対する empirical は 別 STEP

6. 反証条件 (self-test)

本 empirical run が 診断能力を持つ = 以下 の 少なくとも一つ を 満たす:

  1. 少なくとも 1 問題 で FALSE / BOTH / NEITHER が 出る (全 TRUE なら primitive が 何も 拾っていない)
  2. 3 変換の verdict 分布 が 有意に 異なる (人名置換 と 空白追加 で 破綻率 が 同じなら, 変換の 選択が 診断値ゼロ)
  3. Cross-FDR 集計 で naive-significant と fdr-survivor の 差 が 見える (naive=survivor なら FDR gate が 何も 篩っていない = 検出力過剰)

これら全てが 発火 しなかった場合、 empirical layer は 「動いているが 見えていない」 状態。 v0.2 で 陰性対照混入 + サンプル増強 + comparator 頑健化 を 検討する signal。

7. Raw data

Full JSON with per-call latency + provenance: /data/invariance-checker/empirical-2026-08-31.json

Reproduce: npx tsx scripts/invariance/run-empirical.ts --model qwen2.5:3b --samples 2 --alpha 0.05 --fdr 0.05

関連

STEP 1637 · 2026-09-01 · rei-aios home