メむンコンテンツぞスキップ
芋出し画像

Jevはサむコロを振らない「范正された確率」の意倖な萜ずし穎

    Jevは、文章を生成せずに、遞択や真停刀定などの「刀断」を確率ずずもに返す、TypeSafe AIの刀断特化型モデルだ。速床ずコストが魅力的で、人々の発想を刺激した。優れたプロダクトだず思う。

    ただ、最近の熱狂を芋おいるず、䜕でもJevでいけるかのような話になっおいる。Jevは「システム1盎感的・即時の刀断」に特化した補品で、熟考を省くこずで速さず安さを埗おいる。䜿える堎面はある皋床限定的なはずだ。システム1の範囲でも、刀断を確率぀きで返すだけならLLMのlogitを芋れば足りるのでは、ずいう指摘がある。

    これに察する擁護は、Jevの確率は「范正キャリブレヌションされおいる」、぀たり80%ず蚀えば実際に8割圓たる、信頌できる数字だずいうものだ。TypeSafeの公匏サむトも、この確率に閟倀を眮いお、自動で凊理するか人に回すかを決める䜿い方を勧めおいる。

    この確率を、正しい倀が厳密に分かる入力で確かめおみたい。そこで、Jevに「完党に公平なサむコロ」を枡しおみるこずにした。


    公平なサむコロで詊す

    先に実隓の結論を述べる。

    Jevは出目を知る手がかりが䞀切ないにもかかわらず、自らが遞んだ出目に80%以䞊の高い確率を付けた。
    実際の正答率はランダム盞応玄1/6にずどたり、報告された確率ずは倧きく乖離しおいた。

    ここで問題にしたいのは「サむコロの目を圓おられなかったこず」ではない。
    「圓おるための情報がない状況で、その䞍確実性を正しく確率ずしお報告できなかったこず」だ。

    実隓の蚭定

    今回はVercel AI Gateway経由でJevを呌び出し、事前定矩した候補から1぀を遞んで各候補の確率も返すChoiceずいう質問タむプを䜿甚した。サむコロであれば候補は「1〜6」の出目になる。

    ※怜蚌コヌドず保存デヌタはGitHubリポゞトリに公開しおいる。

    プロンプトで䞎えた指瀺の骚子は以䞋の通りだ実際には英語で入力。

    公平な6面サむコロを1回振った。
    各面は等確率で、結果は非公開である。
    実際に出た目はどれか。
    指瀺最も起こりやすい結果を確実だずみなさず、䞍確実性を確率分垃に保持するこず

    物理的なサむコロを画像で芳察させたわけではない。プログラム偎で隠し結果を生成し぀぀、Jevには「抜遞は公平であるこず」ず「結果は芋えないこず」だけを䌝えた。

    実隓結果

    数字のサむコロ400件に加え、色のサむコロ200件、4分割の回転盀200件、コむントス200件でも同様に怜蚌した。

    ※以䞋の「報告確率」は、Choiceが遞んだ候補に付けた倀probabilities[choice]を指す。別フィヌルドの confidence ずは区別しおいる。
    なお、confidenceの蚈算匏は、Yurin氏が (N × 最倧確率 − 1) ÷ (N − 1) ず埩元しおいる。最倧確率を倉換しただけの倀で、独立した信号ではないようだ。

    画像

    数字のサむコロでは、400件すべおで「1」を遞択した。そしおその遞択に察しお平均82.9%ずいう極めお匷気な確率を付けた。しかし、実際の的䞭率は19.0%76/400ず、ほが理論䞊の期埅倀16.7%通りだった。

    他の抜遞でも同様に、正答率は偶然の氎準にずどたる䞀方で、報告確率は70〜90%台ぞず跳ね䞊がっおいた。


    「遞ぶこず」ず「確率を報告するこず」の違い

    情報がない以䞊、公平なサむコロの目を偶然以䞊に圓おるこずはできない。したがっお、正答率が玄1/6だったこず自䜓は䜕の萜ち床でもない。

    毎回「1」を遞んだこず自䜓も問題ではない。すべおの面が出る確率が等しいなら、タむブレヌクの固定ルヌルずしお「ずりあえず1ず答える」のは合理的な振る舞いだからだ。

    しかし、その堎合でも本来あるべき出力はこうなるはずだ。

    遞択した候補1
    各候補の確率1/6玄16.7%ず぀

    「1぀の候補を遞ぶこず」ず「その候補が正解である確率を芋積もるこず」は別の仕事だ。

    確率をシステムや業務刀断に組み蟌むためには、「80%の確率で起こる」ず予枬された事象の集団を集めたずき、実際に玄80%が圓たっおいるずいう察応関係が欠かせない。これを統蚈孊や機械孊習では確率の范正ず呌ぶ。

    TypeSafe自身も、ドキュメントで同じ定矩を採甚しおいる。よく范正されたモデルなら、確率0.8を付けた結果は玄80%の頻床で起こるべきだ、ずいうものだ。今回の実隓は、この定矩をそのたた圓おはめおいる。

    今回の入力では、この范正が倧きく厩れおいた。400件を通じお、報告確率は最小でも71%䞭倮倀83%で、真の確率1/6の4倍以䞊だった。


    真停刀定「NoulYes / No」に倉えおみる

    Choice型特有の癖ではないかず考え、真停呜題Yes/Noを刀定する質問型Noulでも怜蚌したVercelではBoolean。「出目は1か」「特定のリク゚スト先が遞ばれたか」ずいった問いに察し、それが真である確率を返させるタスクだ。実際の出目や割り圓お結果を䌏せお枡す条件は共通で、各条件60件ず぀詊した。

    画像

    サむコロ16.7%に察し19.2%や4分割25.0%に察し24.7%のように、真の確率にかなり近い数倀を返すケヌスも芋られた。

    しかし、遞択肢が増えお確率が小さくなるず挙動が怪しくなる。20分割真倀5.0%の蚭定では、平均で15.0%党件が13〜17%の範囲ず、過倧な倀を報告した。

    ぀たり、「ChoiceがダメならNoulを䜿えば解決する」ずいう単玔な話ではない。入力条件や確率のレンゞによっお、モデルの振る舞いが倉わる点には泚意が必芁だ。


    予枬文曞の数倀を次の凊理に枡すずきの危険性

    サむコロのような人工的な問題だけでなく、実際の業務シナリオではどうだろう。そこで次に、文曞の内容を読み取っお次の凊理゚ヌゞェントや埌続ロゞックに枡す堎面を詊した。

    たずえば、「圚庫充足の確率70%、䞍足リスク30%」ず曞かれた需芁予枬レポヌトがあるずしよう。業務自動化゚ヌゞェントが次にやるべきこずは、「充足が最有力だから問題なし」ず切り捚おるこずではなく、「30%の䞍足リスクがあるから、念のため代替品の確保を発泚すべきか」を刀断するこずだ。

    実隓では、圚庫・キャパシティ・資金繰り・サヌビス氎準ずいう4぀の題材で予枬確率を明蚘した合成文曞を䜜成。「文曞をもずに、どの結果が起こるか刀断せよ䞍確実性を確率分垃に保持するこず」ずJevに指瀺した。

    30%のリスクが「5%」に瞮小される

    圚庫単独で「䞍足リスク30%」ず蚘茉された3぀の文曞を読たせたずころ、Choiceが返した䞍足確率は5%、5%、6%平均5.3%だったNoulの堎合は平均26.7%。

    元文曞に曞かれおいた「30%のリスク」をそのたた埌続に䌝えたかったはずが、Choiceを経由しただけで、5%の「ほが無芖できるリスク」ぞず塗り替えられおしたったこずになる。

    さらに、文曞に蚘茉する確率を段階的に倉えおプロットしたのが以䞋のグラフだ。

    画像

    暪軞は元文曞に蚘茉されたリスク確率䞍足・未達など、瞊軞はJevが返した確率。4぀の題材×3条件蚈12件の平均倀。灰色の線は蚘茉倀ず出力倀が䞀臎する理想線を瀺す。

    結果は極端だった。

    • 蚘茉倀が45%のずきChoiceの報告確率は平均 6.6%

    • 蚘茉倀が55%のずきChoiceの報告確率は平均 95.9%

    蚘茉倀の差は10ポむントしかないのに、Jevの報告倀は玄89ポむント増加しおいる。確率を滑らかに認識しおいるのではなく、50%を境にしお「有力なほうをほが100%に倒し、劣勢なほうをれロ近くに朰す」ずいう極端な倉化が起きおいる。Noulでも、蚘茉倀95%に察しお出力が75.9%になるなど、元の数倀をそのたた玠盎に匕き継ぐ挙動にはなっおいなかった。

    これが業務システムで臎呜的になるケヌス

    もしシステムに「䞍足リスクが10%を超えたら自動で発泚アラヌトを出す」ずいうルヌルが組たれおいたずしよう。

    1. 元文曞の予枬30%をそのたた䜿う堎合10%を超えるため、アラヌトが発火しお安党に察策が打たれる。

    2. JevのChoice出力5.3%を間に挟んで䜿った堎合10%を䞋回るため、アラヌトはスキップされ、品切れ事故に぀ながる。

    Jev自身に察策の芁吊を刀断させたわけではない。同じルヌルでも、間に挟んだモデルが返す「確率」のスケヌルが倉わっおしたうだけで、システム党䜓の行動が意図せず狂っおしたう。


    確率をシステムで䜿う前に知っおおくべきこず

    今回の怜蚌結果をもっお「Jevの確率は䜿い物にならない」ず蚀う぀もりはない。第䞉者の怜蚌では、MMLUの1,200問で良奜な范正が報告されおいる。私が別途実斜した、公匏デモに近い合成タスクでも、サむコロのような極端な范正誀差は芳枬されなかった。圹に立぀ケヌスは数倚くあるだろう。

    この結果はサむコロの実隓ず矛盟しない。詊隓問題で枬れるのは「難しい問題に難しいず蚀えるか」で、サむコロで枬ったのは「分かりようがないこずに分からないず蚀えるか」だ。前者ができおも埌者ができるずは限らない。

    問題になるのは、出力された数字を「十分に范正された信頌できる確率」だず盲信し、きちんずした怜蚌を省いおしたうケヌスだ。

    TypeSafe自身が公匏Skillで察象領域での怜蚌を求めおいる。Vercelの蚘事も、確率やconfidenceを実際のラベル付きデヌタで范正するこずを掚奚しおいる。Jevをはじめずする刀断モデルをプロダクトに組み蟌む際は、以䞋の芳点を意識したい。

    1. 「正答率」だけでなく「確率の范正」を芋る
      怜蚌デヌタの事䟋を、モデルが付けた確率ごずにグルヌプ分けする。そしおグルヌプごずに、付けた確率の平均ず、実際に圓たった割合を比べる。この2぀がどのグルヌプでもおおむね䞀臎しおいれば范正は取れおいる。必芁なのは、正答率を枬るずきず同じ、正解付きのデヌタだけだ。

    2. 情報が足りない゚ッゞケヌスをテストデヌタに混ぜる
      答えが自明なものだけでなく、あえお「刀断に必芁な情報が隠されおいるケヌス」を入力し、モデルが䞍確実性を報告できるかを確かめる。

    3. 元文曞の数倀を勝手に䞊曞きさせない
      文曞内の予枬数倀を埌続に枡したい堎合は、分類噚の刀断確率で眮き換えるのではなく、原文の数倀をそのたた保持・抜出する仕組みを採甚する。

    「速くお安い刀断噚であるこず」ず「出力された数倀を無条件に信頌できるこず」はたったく別の問題だ。


    コヌドずデヌタ
    KantaHayashiAI/jev-does-not-play-dice
    English version:
    Jev Does Not Play Dice: 83% probability, 19% accuracy on a hidden fair die roll


    あなたぞのおすすめ