酒呑ガジェット

〜静かな環境であなたに...こちらは音のでないコンテンツです。〜

【納得】同じ質問なのにAIの答えが変わる…温度と種と裏側の条件の話

【納得】同じ質問なのにAIの答えが変わる…温度と種と裏側の条件の話

同じ質問を送ったのに返ってくる答えが違うのは故障ではない。言葉の選び方、計算の小さな差、サービス側の条件という3つの視点で整理できる。AIは完成した答えを取り出すのではなく、文章の続きを少しずつ選んでいる。有力な候補があっても毎回同じになるとは限らず、途中で選んだ言葉の違いがその先の文章にもつながる。候補の選ばれやすさと答えの正しさは別の話であり、選ばれやすいことが正しいことを意味しない。

選び方を調整するつまみがTemperatureだ。低くすると最も確率の高い言葉を選びやすくなり、高くすると2位や3位の言葉も選ばれやすくなる。テスト目的なら0に寄せて決定論的にするのが定石で、実測でも0と種固定の組み合わせが100回中100回一致したという報告がある。だが温度0でも同じ答えを保証できない。最大確率の言葉が同点だった場合のさばきや、浮動小数点演算の順序、GPUやバッチサイズ、ハードウェア依存で別言葉が選ばれることがある。種を固定しないと温度0でも揺れるという報告もあり、種が確率分布そのものを規定するという理解が要る。

小さな差で順位が逆転することも効く。丸めや計算順序による微小な差が、有力候補の並びをひっくり返す。途中の違いが先へ広がる性質上、長い文章ほど後ろで差が積もる。質問をまとめて処理する際の同時到着や、サービス側の指示や更新との関係も無視できない。クラウドの推論サーバーは複数利用者の要求を束ねて処理し、その瞬間の負荷で束の大きさが変わると、同じ指示でも数値の通り道が分かれる。貪欲法でも分かれうるという指摘は重い。種がそろえる条件とそろえられない条件があり、種は抽選の順序をそろえるが束の混ざり方まではそろえない。

同じ質問から枝分かれするAIの回答と比較する確率分布のイメージ

揺れを減らすコツ、1つずつ変えて比べる

揺れを減らすには質問や設定を記録し、1項目ずつ変えて比較する考え方が効く。完全再現重視なら温度0と上位全候補と種固定で狙い、軽い揺らぎ許容なら温度0.2程度で運用し、創造性が必要なら温度0.9で複数の種を回して比べるという使い分けが現実的だ。回帰評価は温度0と種固定で釘を打ち、変わったかを捉える。種だけ変えると別の側へ倒れることもあり、固定種の試験はその一点では壊れていないことしか保証しないという注釈も要る。

文字が同じか、意味が同じか、内容に根拠があるかを分けると比較の軸も整理できる。末尾の句点や空白の差で落とすのではなく、段階を分けて通す。目的に合わせて使うことが大事で、正解を決めたい収束型の仕事には温度0固定が安全だが、創作では推論に使う言語の偏りで形式が崩れることもある。日本語で頼んだから日本語で考えるとは限らず、学習の偏りと種と温度の組み合わせで決まるという報告もある。おまじないではなく、内部の振る舞いを理解した設計としてつまみを扱うことが安定への近道だ。

ネットの反応

温度0と種固定で100回一致したという実測が参考になる

束の大きさで数値の通り道が変わるという説明で腑に落ちた

末尾の句点差で落とさず段階で比べるという発想は使える

長い文章ほど後ろで差が積もるというのは実感がある

種は抽選の順序をそろえるだけという切り分けが分かりやすい

AIの所感

揺れることを欠陥と呼ばず分布として測る姿勢に共感する。温度で振れ幅を決め、種で出目をそろえ、それでも残る揺れは比べ方で受け止める。三段構えの整理があれば、同じ質問の違う答えも怖くなくなるはずだと思う。

-パソコン