diff --git a/docs/local-model-uncertainty/README.ja.md b/docs/local-model-uncertainty/README.ja.md index 7182497..b644ffc 100644 --- a/docs/local-model-uncertainty/README.ja.md +++ b/docs/local-model-uncertainty/README.ja.md @@ -6,10 +6,10 @@ `MultiOutputScript (Jev)` は、TypeSafe の Jev の代わりに、ローカルの GGUF モデルで判断を行える。この報告は、答えのわからない問いに対して、Jev、Clef-Flash、汎用モデル(Qwen3.5-9B)がどう答えるかを比べ、汎用モデルを使うときの聞き方を調べたものである。 -- 答えのわかる問いでは、3つのモデルの答えはほぼ一致した。 -- 答えのわからない問いでは、振る舞いが分かれた。五分五分の問いに `jev.noul` で「真ですか?」と聞くと、平均は Jev が 0.44、Clef-Flash が 0.31、Qwen3.5-9B が 0.06 だった。 +- 答えが確実な問いでは、3つのモデルの答えはほぼ一致した。 +- 答えが不確実な問いでは、振る舞いが分かれた。五分五分の問いに `jev.noul` で「真ですか?」と聞くと、平均は Jev が 0.44、Clef-Flash が 0.31、Qwen3.5-9B が 0.06 だった。 - Qwen3.5-9B の低い値は、「起こる確率が低い」ではなく「真だとは言えない」を表している。確率が 0.92 の主張にも 0.02 と答えた。 -- 主張とその否定形の両方に聞き、2つの答えをまとめると、Qwen3.5-9B でも五分五分の問いが 0.51 になった。 +- 主張とその否定形の両方に聞き、2つの答えをまとめることで、Qwen3.5-9B でも五分五分の問いを 0.51 にすることができた。 - 確率の段階を選ばせる(`jev.score`)と、確率の高さがある程度取り出せた。結果は、段階の作り方と並び順に左右された。 - 「偽ですか?」と質問を反対向きにする方法は、否定形の代わりにならなかった。 @@ -39,7 +39,7 @@ | Clef-Flash | Qwen3.5-9B を判断用に追加学習したモデル(`ggml-org/Clef-Flash-GGUF`、Q8_0) | 判断専用の層が出す値を確率に直す | | Qwen3.5-9B | 汎用の LLM(`unsloth/Qwen3.5-9B-GGUF`、Q8_0) | 選択肢の記号が次に出る確率を読む | -汎用モデルでは、選択肢に記号を付けて示し(`jev.noul` なら A:Yes、B:No)、記号1文字だけで答えるよう指示する。文章は生成させず、次のトークンとして各記号が出る確率を読み、記号どうしの合計が 1 になるように直す。この方式は SemIf (OpenJev) と同じである。サンプリングをしないので、乱数のシードや温度の設定はない。較正はしていない。 +汎用モデルでは、選択肢に記号を付けて示し(`jev.noul` なら A:Yes、B:No)、記号1文字だけで答えるよう指示する。文章は生成させず、次のトークンとして各記号が出る確率を読み、(記号以外の出力は除き)記号どうしの合計が 1 になるように直す。この方式は SemIf (OpenJev) で提案されているものである。実験結果は較正なしの数値を用いており、較正の可能性について考察している。なお、サンプリングをしないので、乱数のシードや温度の設定はない。 指示文は次のとおりである。主張、質問、選択肢は、JSON にまとめて渡す。 @@ -84,8 +84,8 @@ Q1 と Q2 は3つのモデルに聞いた。F1、S6、S11、F6 は Qwen3.5-9B - **0.5 からのずれ**:五分五分の問い16文での、値と 0.5 の差の絶対値の平均(基準2)。 - **誤差の平均**:確率のわかっている問い10文での、値と正しい確率の差の絶対値の平均。 - **順位相関**:同じ10文での、値と正しい確率のスピアマンの順位相関。 -- **まとめた値**:(主張への値 + 1 − 否定形への値)÷ 2。主張と否定形で足すと、必ず 1 になる。 -- **段階からの推定値**:各段階の値(S6 と F6 は段階の中央の 0.05、0.20、0.40、0.60、0.80、0.95、S11 はその点)を、モデルが各段階に付けた確率で重み付けした値。 +- **肯定否定バイアスを除去した値**:(主張への値 + 1 − 否定形への値)÷ 2。対の合計が当然 1 になる。 +- **段階からの推定値**:各段階の値(S6 と F6 は段階の中央の値である 0.05、0.20、0.40、0.60、0.80、0.95)を、モデルが各段階に付けた確率で重み付けした値。 まとめた値は、新しく測ったものではなく、測定済みの値から計算したものである。 @@ -93,26 +93,26 @@ Q1 と Q2 は3つのモデルに聞いた。F1、S6、S11、F6 は Qwen3.5-9B ### 3.1 3つのモデルの比較(Q1) -値は Yes の確率の平均で、左が対の1つめ、右が2つめの主張である。 +値は Yes の確率の平均で、左が対の1つめ、右が2つめの主張である。特に太文字斜体で記載したQwen3.5-9Bの「傾向のある未来」、「五分五分の問い」の結果について、先に挙げた **モデルに期待する2つの基準** と乖離しており、後段でさらに検証を行う。 | グループ | Jev | Clef-Flash | Qwen3.5-9B | | --- | --- | --- | --- | | 既知の事実 | 0.92 / 0.03 | 0.95 / 0.02 | 0.99 / 0.01 | | ほぼ確実な未来 | 0.88 / 0.07 | 0.86 / 0.11 | 0.85 / 0.13 | -| 傾向のある未来 | 0.58 / 0.37 | 0.62 / 0.36 | 0.07 / 0.08 | -| 五分五分の問い | 0.44 / 0.44 | 0.36 / 0.26 | 0.07 / 0.04 | +| 傾向のある未来 | 0.58 / 0.37 | 0.62 / 0.36 | ***0.07 / 0.08*** | +| 五分五分の問い | 0.44 / 0.44 | 0.36 / 0.26 | ***0.07 / 0.04*** | | 指標 | Jev | Clef-Flash | Qwen3.5-9B | | --- | --- | --- | --- | | 対の合計:既知の事実 | 0.95 | 0.97 | 1.00 | | 対の合計:ほぼ確実な未来 | 0.95 | 0.96 | 0.98 | -| 対の合計:傾向のある未来 | 0.95 | 0.98 | 0.15 | -| 対の合計:五分五分の問い | 0.88 | 0.62 | 0.11 | -| 0.5 からのずれ(五分五分の問い) | 0.06 | 0.22 | 0.44 | +| 対の合計:傾向のある未来 | 0.95 | 0.98 | ***0.15*** | +| 対の合計:五分五分の問い | 0.88 | 0.62 | ***0.11*** | +| 0.5 からのずれ(五分五分の問い) | 0.06 | 0.22 | ***0.44*** | - 既知の事実は、3つとも12文すべてに正しい側の値を返した。 - Jev は、五分五分の問い16文すべてに 0.34〜0.51 を返した。 -- Qwen3.5-9B は、不確かな主張のほぼすべてに No と答えた。未来のことをすべて No とするわけではなく、「明日、太陽は昇る」には 0.99 を返している。 +- Qwen3.5-9B は、不確かな主張(傾向のある未来、五分五分の問い)のほぼすべてに No と答えた。未来のことをすべて No とするわけではなく、「明日、太陽は昇る(ほぼ確実な未来)」には 0.99 を返している。 - Clef-Flash は、傾向のある未来では対の合計が 0.98 で、調整前の Qwen3.5-9B(0.15)と大きく違う。コインやサイコロのような問いでは 0.62 にとどまった(コイン投げは 0.16 / 0.10)。 Clef-Flash と Qwen3.5-9B では、答えの出し方も違う。2つの差が、重みの調整によるものか、答えの出し方によるものかは、この試験では分けられない。 @@ -121,7 +121,9 @@ Clef-Flash は、傾向のある未来で片方をはっきり選んだ(S&P 50 ### 3.2 Qwen3.5-9B の No は、何を表しているか -**記号以外のトークンに確率が流れているわけではない。** 語彙全体の確率のうち、A と B が占める割合(SemIf の `allowed_token_mass`)を、62文 × Q1・Q2 の124問で記録した。 +ここから、Qwen3.5-9Bの「傾向のある未来」、「五分五分の問い」の結果について検証する。 + +まず確認したのは、Qwen3.5-9B の No が **記号以外のトークンに確率が流れた結果ではない** ということである。語彙全体の確率のうち、A と B が占める割合(SemIf の `allowed_token_mass`)を、62文 × Q1・Q2 の124問で記録した。 | | 最小 | 中央 | 最大 | | --- | --- | --- | --- | @@ -164,9 +166,9 @@ Qwen3.5-9B は、「真ですか?」に対して、「確実に真だと言え 汎用モデルの答えは、質問の言い回しに強く左右される。 -### 3.4 主張と否定形の両方に聞く +### 3.4 主張と否定形の両方を聞く -Qwen3.5-9B は、Q1 で「ほぼ確実に起こる」には Yes、「わからない」には No と答える。区別できないのは、「わからない」と「ほぼ確実に起こらない」である。後者の否定形は「ほぼ確実に起こる」なので、否定形にも聞けば区別できる。 +Qwen3.5-9B は、Q1 で「ほぼ確実に起こる」には Yes、「わからない」には No と答える。区別できないのは、「わからない」と「ほぼ確実に起こらない」である。後者の否定形は「ほぼ確実に起こる」なので、否定形も聞けば区別できる。 | 主張の種類 | 主張への答え | 否定形への答え | | --- | --- | --- | @@ -180,13 +182,13 @@ Qwen3.5-9B は、Q1 で「ほぼ確実に起こる」には Yes、「わから | --- | --- | --- | --- | | 既知の事実 | 0.95(0.92) | 0.96(0.95) | 0.99(0.99) | | ほぼ確実な未来 | 0.90(0.88) | 0.88(0.86) | 0.86(0.85) | -| 傾向のある未来 | 0.60(0.58) | 0.63(0.62) | 0.49(0.07) | -| 五分五分の問い | 0.50(0.44) | 0.55(0.36) | 0.51(0.07) | +| 傾向のある未来 | 0.60(0.58) | 0.63(0.62) | ***0.49(0.07)*** | +| 五分五分の問い | 0.50(0.44) | 0.55(0.36) | ***0.51(0.07)*** | | 0.5 からのずれ(五分五分の問い) | Jev | Clef-Flash | Qwen3.5-9B | | --- | --- | --- | --- | -| 主張だけ | 0.06 | 0.22 | 0.44 | -| 否定形と合わせる | 0.006 | 0.053 | 0.015 | +| 主張だけ | 0.06 | 0.22 | ***0.44*** | +| 否定形と合わせる | 0.006 | 0.053 | ***0.015*** | Qwen3.5-9B について、2つの答えを 0.5 で区切って「真 / 偽 / わからない」に分けると、31組中29組が期待どおりになった。 @@ -203,6 +205,8 @@ Qwen3.5-9B について、2つの答えを 0.5 で区切って「真 / 偽 / わ **対照:数字で書かせると、ほぼ正確である。** 確率のわかっている10文での誤差の平均は 0.003 だった(たとえば、正しい確率 7.7% に「9」、16.7% に「16.67」、92.3% に「92」)。コイン投げには「50」と答えた。モデルは確率の知識を持っている。Q1 で確率の高さが出ないのは、聞き方による。 +[ここに結果を示す表を挿入して下さい。] + **段階で聞くと、確率の高さがある程度出る。** 確率のわかっている10文での結果は、次のとおりである。 | 聞き方 | 順位相関 | 誤差の平均 | @@ -214,6 +218,8 @@ Qwen3.5-9B について、2つの答えを 0.5 で区切って「真 / 偽 / わ | S11、高い順 | +0.80 | 0.203 | | 数字で書かせる | +1.00 | 0.003 | +[ここにS6、S11の定義を再度記載してください。] + **6段階の幅(S6)と11段階の点(S11)は、得意な点が違う。** | 指標 | S6 | S11 | @@ -223,7 +229,7 @@ Qwen3.5-9B について、2つの答えを 0.5 で区切って「真 / 偽 / わ | 対の合計:既知の事実(並び順2通りの平均) | 1.07 | 1.03 | | 対の合計:ほぼ確実な未来(同上) | 1.14 | 1.04 | -- S6 は、五分五分の問いが約 0.60 になった。50% が「30-50%」と「50-70%」の境目にあたり、モデルが16文中14文で「50-70%」を選んだためである。これは、段階の区切り方の問題である。 +- S6 は、五分五分の問いが約 0.60 になった。50% が「30-50%」と「50-70%」の境目にあたり、モデルが16文中14文で「50-70%」を選んだためである。 - S6 は、並び順に強く左右された。「ハート以外を引く」(正しくは 0.75)は、低い順で 0.75、高い順で 0.24 だった。 - S11 は、五分五分の問い16文中14文が 0.50 になり、対の合計も 1 に近い。主張だけを聞いても、基準1と基準2をほぼ満たす。 - S11 は、確率の程度がほとんど出ない。モデルが、確実でない主張のほとんどに「50%」を選ぶためである。確率が 0.25 の「ハートを引く」にも、0.75 の「ハート以外を引く」にも、「50%」を選んだ。 @@ -289,7 +295,7 @@ Qwen3.5-9B について、2つの答えを 0.5 で区切って「真 / 偽 / わ 2. **「真 / 偽 / わからない」がわかればよいなら、11段階の点で1回聞く。** 3. **Yes / No で聞くなら、主張と否定形の両方に聞く。** 両方が No なら「わからない」、両方が Yes なら「信頼できない答え」として扱う。 4. **確率の程度も知りたいなら、6段階の幅を低い順に並べ、主張と否定形の両方に聞く。** -5. **否定形は、主張として書く。** 質問を「偽ですか?」に変える方法は、代わりにならない。 +5. **否定形は、主張として書く。** 質問を「偽ですか?」に変える方法は、代わりにならない。この結果から機械的な対応が難しいと判断される。 6. **聞きたいことを、そのまま質問文にする。** 「真か」と「起こりやすいほうか」では、答えが大きく変わる。 7. **モデルを替えたら、しきい値を見直す。** 同じスクリプトでも、Jev、Clef-Flash、汎用モデルで、不確かな入力の分岐が変わる。 @@ -329,7 +335,7 @@ ov1 = jev.score(it1, "How likely is this statement to be true?", levels) / 10 - 段階で聞く方法(S6、S11)、否定形と合わせる方法の段階での効果、「偽」の質問(F1、F6)は、Qwen3.5-9B でしか試していない。Jev と Clef-Flash には聞いていない。 - 段階の作り方は、2通りしか試していない。 - 汎用モデルは Qwen3.5-9B の Q8_0 だけである。別のモデル、別の量子化、別の判定方式では、違う結果になりうる。 -- 汎用モデルの値は、較正をしていない。SemIf (OpenJev) は、用途ごとに較正して使うよう勧めている。 +- 汎用モデルの値は、較正をしていない。SemIf (OpenJev) は、用途ごとに較正して使うよう勧めているが、これまでの検証で、較正のための適切な質問群を設計できていない。 - どの質問も1回ずつの測定である。ローカルのモデルの値は、サンプリングをしないので、同じ条件なら変わらない。Jev は、同じ質問でも値が少し変わる。五分五分の問い16文を Q1 で3回聞いたところ、値の幅は最大で 0.04 だった。 - 主張と質問は英語である。ほかの言語では試していない。