そうなんですね。僕、ランダム性って、なんかLLMの特徴みたいな感じで学んでたので、
そもそもLLMってランダム性があるよねっていう認識だったですね。
そう、それ自体は間違いではないんだけど、そういう通説の中に本当はそうじゃないものがあったんじゃないの?みたいなそういうお話でして、
今回その出力結果のランダム性に関して明確な原因がわかりましたよっていう論文が出たので、
これを紹介しつつですね、AIのランダム性って本当に必要なの?みたいなお話ができればというふうに思います。
なるほど。
まずですね、生成AIの出力結果にランダム性が必要なのかどうかっていうところで、
僕の考えだけ先にお話ししておこうかなと思うんですけど、
結論はですね、欲しいのは制御されたランダムであって、
いらないのはシステム由来のブレ?みたいなものはいらないかなっていうふうに個人的に思ってて、
っていうのは本来ですね、テンパレーチャーっていう値を、これ温度っていうものなんだけど、
このテンパレーチャーの値をゼロに設定すると、モデルは常に最も確率が高い言葉だけを選ぶから、
理論上は毎回同じ結果になるはずっていうのがあるのよ。
なるほど。
これGoogleのAIスタジオとか使ってる方見てもらうと分かるんですけど、
テンパレーチャーっていう設定値があって、ゼロから1.1、1.3、1.4、細かく数値がいじれるんだけど、
これをゼロにすればするほど高確率なものを出してくれるから結果が同じになるよねっていう仕様なのよ。
なんだけど、実際にはこのテンパレーチャーゼロにして同じ入力をしたとしても、出力が由来でしまうっていうことが報告されてて、
オープンAIのAPIに関するコミュニティとかでも、テンパレーチャーをゼロにしてるのに出力が毎回一致しないみたいな、
なんでですかみたいな疑問が上がったりとかしてて、これは長らくなんでなんだろうみたいなことが言われてたものだったりするんだよね。
例えば研究者がある質問をAIに1000回投げてみたところ、出力が80通りに分岐したとかっていう実験結果もあるのよ。
80通り。
そもそも生成AIって1回の生成で次の1号を選ぶっていうのをずっと繰り返してるじゃん。
だから各ステップでモデルは候補の言葉ごとに確率を出してるのよ。
で、その確率分布に乱数を当ててくじ引きのように一つの言葉を選ぶっていうのをやってて、これがカテゴリー分布からのサンプリングっていうものなんだけど、
簡単に言うとある時点で猫が30%、犬が25%、鳥が20%、その他が合計25%っていう分布がもし出たとしたら、これを乱数で猫を引くこともあれば犬になることもあるみたいなそういう話。
で、このテンパレーチャーの数値を0にすると、貪欲法っていう風に言って最大確率を必ず毎回選ぶようになるのよ。
これによって出力結果がランダムではなくなるっていう仕組みなんだけど、なのにこのテンパレーチャーを0にしても出力結果が変わってしまうっていうのが問題って話なのね。
今の話で言うと、じゃあテンパレーチャーを0にすると犬が選ばれるはずだよねってことだよね。
そうそうそう。なんだけどそうじゃないことが起きてるっていうのが現状。
まあその認識ですね僕も。
これは一般的に言う生成AIって出力結果がランダムだからっていうのと意味合いが違くて、ただのシステム由来のブレでしかないっていうのが今回の論文でわかったっていうことなのよ。
特徴じゃなくてバグってことだな。
そうそうそう。だから意図的じゃないのであればやっぱりバグみたいなものだから、それはやめた方がいいよねっていうのが僕の意見ではあるんですけど、
このAIの出力結果がブレる理由みたいなものをもう少し細かくお伝えすると、
もともとの通説ではGPUの並列処理と不動小数点の性質が原因というふうに言われてるんだけど、
GPUっていうのは何かっていうとパソコンにはCPUっていうさ頭脳の部分があるんだけど、
それでは処理しきれないような画像処理とか動画処理とかそういうのをグラフィックの部分を処理するのがGPUなんだけど、
AIって今このGPUで処理をされてるのよ。
まあ計算もGPUでやってるってことですよね。
そうそうそう。でこのGPUは演算を足す引くかける割るっていうのを並列にそれぞれ同時でやってて、
部分ごとに計算したものを最後持ち寄ってまとめて計算をするっていう流れなんだよね。
で不動小数点っていうのがあるんですけど、これね要するにちょっと難しいのでわかりやすく言うと、
その不動小数点って一つのボックスに長い数字を詰め込むわけですよ。
なんでかっていうと長い数字をひたすら全部計算するってなるとものすごい計算資源が必要じゃん。
それをもうはしょって箱に詰め込んで、これでわかるように似たような数字で計算しましょうみたいなのがざっくり言うと不動小数点なんですけど、
それを並列で複数で一気に処理をかけるから、微妙な違いが集まっていくと最後大きな違いになっちゃうみたいな。
だからバターフライエフェクトってことですよね。
そうですねバターフライエフェクトってことです。一個の違いが未来を変えていくみたいな。
過去に戻ってなんかちょっとでもやっちゃうと未来が大きく変わってるみたいな。
そうそうそうでもまさしくそういう感じ。そのほんとちっちゃな積み重ねが最後大きな結果を生むみたいな。
このLLMのランダム性はバターフライエフェクトだと。
っていうのが通説だったんだけど、そこにいやいやちょっとおかしいぞ待ってくれって異論を唱えた人がいまして、それが最近出てきた論文なんですよ。
なるほど。
この論文っていうのはですね、元オープンAIのミラ・ムラティさんが新しく立ち上げた会社のThinking Machines Labっていうところから出た論文なんですよ。
この会社はですね、人間の価値観に沿う安全で信頼できるAIを作ることを目的にしていて、立ち上げた時点で約30名規模の会社なんですけど、うち3分の2がオープンAI出身の会社ということで。
すごいですね。
まあほぼオープンAIですね。サムちゃんっていう頭が違うだけのほぼオープンAIですね。
確かに。
で、この会社の言ってしまえば初めての活動みたいなものがこの論文の公開なので、ある意味では満を持して出したのがこの論文という感じなんですよ。
結構じゃあ注目されてるわけですね。
そう結構注目されてるわけ。で、このThinking Machines Labにいるホレスヒーさんという方が書いた論文なんですけども、
彼はですね、この通説に疑問を投げかけていて、同じ行列の掛け算をGPU上で何度繰り返しても結果は常にビット単位で完全に一致したというふうに本人は言ってるのよ。
うんうん。
もし本当に毎回処理順序がバラバラなら、同じ計算を1000回したらどこかで違いが出そうだけど、実験ではもう同じ計算を1000回繰り返しても一度もズレが出なかったと。
つまり個々の部品は決定的なのになぜか最終製品は非決定的になるっていう謎の状態っていうのが判明したわけですよ。
うんうん。
これは要するに通説通りならこれもランダムになるはずだけど、ならないってことはランダム性の要因って別のところにあるんじゃないのっていう話で、
だから実際にこの通説って言われてるものももちろんそれはそれでランダム性が出る要因ではあるんだけど、これだけじゃ説明できないよねってことをこのホレスヒーさんは言ってるわけよ。
じゃあさっきの通説も間違ってはないんだ。
間違ってない。実際それは起こり得る。だけどそれだけじゃ説明つかないじゃんっていうことを言ってて。
なるほど。
でその新たな原因というか新犯人みたいなものを見つけたわけで、それがバッチ普遍性の欠如っていうものなんだよ。
何言ってるかわかりませんね。
そうなんですよ。バッチ普遍性の欠如とは何かっていうと要はバッチが普遍的変わらないっていうことが欠如してるってことなんでね。
バッチってことはスタートレックってことですか?
スタートレックのバッチね。スタートレックのバッチじゃないですね。
そっちじゃないですか。
バッチ処理とかで使うバッチですね。
バッチ処理って何なんですか?
わかりやすく言うとあるデータを一定まで貯めて一気に処理するみたいなのがバッチ処理。
じゃあ一気に処理するってことなんだ。
そう。なのでこのバッチっていうのは語源がパンを焼くとかそういうところに由来してるらしいですね。
へえ。
なるほどね。
だからGoogleはさTPUとかさ出してるじゃん。以前このHAIとかの説明のときにさ紹介したと思うんだけどGoogleが出してるGPUみたいな感じで。
でもこれも結局似たようなことが起きてるから一緒だよっていうことなんだよね。だからChatGPじゃなくてもGeminiだとしても同じようなランダム性が生まれてるわけですよ。
はいはいはい。
でこれをホレスヒーさんは突き止めたっていうことなんだよね。
なるほど。じゃあさっきの通設不動小数点とか計算のバタフライエフェクトとかそういうことではなくてシンプルにバッチ処理してるから。
でそのバッチ処理が大きさが変わるからと。
そういうことなんだ。そういうことです。
なるほどね。
じゃあこれ解決策としてはどうすればいいのって話だと思うんですけど。
もう個々にするしかないんじゃないの。
もう本当まさしくそれ。だから個々にしたいけどどう考えてもさもう容量的に無理があるじゃん。
もう現実的じゃないよね。
現実的じゃないでしょ。ってなった時にはある程度性能を犠牲にしてでももうバッチを固定させようみたいな。
あーなるほど。
だからもう性能よりもバッチ固定重視にしようっていう風に言ってるんだよねこのホレスヒーさんは。
じゃあさあこれってあのローカルにOSSでGPTとかを入れてクラウドにつなげずに。
自分のパソコン内だけであればランダム性が出ないってことになるの。
ただ基本的にはバッチ処理をするようにはなってる場合がほとんどだからバッチ処理してる以上はやっぱりそこはランダム性が出ちゃうしバッチ処理しないように制御したとしても結局はその通設の部分で不動小数点の話とかがあって結局そこでランダム性が出ちゃうんだよね。
あーなるほどね。
そう。
結果的にはどうすればいいのこれ。
結局今時点のものでやるとしたら性能を落としてLLMをそもそもバッチ普遍に再設計することじゃないかっていうふうにこのホレスヒーさんは言ってるわけよ。
なるほど。
具体的にやり方とかも書かれてるんだけどこれはもうちょっと相当難しいのでエンジニアの方でLLM開発したいみたいな方は見てもらった方がいいと思うんですけど。
RMSノームとか行列乗算とかあとはアテンションとかこういった3つのものを調整すればいけるよみたいなことが書かれてて。
あーじゃあまあやれるはやれるんだ。
一応やれるはやれる。でも正直その簡単にやれますみたいな話じゃないから将来的にランダム性のない生成家を作るための道筋ができましたよみたいな話、足掛かりができましたみたいな。
なるほどね。
だからまあこの辺の話を踏まえると将来的にやっぱり本当にそのランダム性がない完璧な、完璧って何を持って完璧かなんだけど、要は答えが普遍的なAIっていうのが出てくる可能性はあって、
それが出てきた時に得られるメリットとかデメリットどんなものがあるのかなっていうのを最後ちょっとお話しようかなと思います。
はい。
やっぱその回答が普遍的であることによって一番いいのは金融とか医療とかホームとかそういった分野でのAIの活用。
確かにね。
そう。やっぱりね、例えば医療情報にさあ最近AIが食い込んできてるけどさ、一回目調べたらこの人は病気の確率が76%で次調べたら95%みたいな。
えっとどっちみたいな。これ治療した方がいいのみたいな。そういう話になったらそれ使えないじゃんやっぱり。
確かに。
そう。あとは最近はかなり一貫性が出る画像生成家とかも増えてきてるけど、やっぱ映像制作の現場で使われる画像生成とかもやっぱ常にさ一貫したものが出てくれないと困るわけじゃん。
そうだね。
一貫性ってものすごく重要。あと結構重要だなって思ったのは、強化学習への影響も重要で、オンポリシー強化学習って言われる手法があって、これは要するに定義をはっきりさせてるみたいなものね。
うんうん。
このモデルが自分で出した行動に基づいて報酬を得て学習をしていくわけよ。もしこの同じ状態でモデルの出力が毎回変わっちゃうと、この学習のアルゴリズム上はオフポリシーみたいになるじゃん。
報酬がこの揺らいでいるみたいに近い状態になるから追加でその補正みたいなものが必要になるんだよね。なんだけどこれ実際に研究者とかからも推論時と学習時で数値計算のわずかな違いがあるだけでオンポリシーがオフポリシーのように振る舞ってしまうってことが指摘されてるのよ実際に。
だからこの出力結果がめちゃくちゃランダムであるっていうことはこのオンポリシーの強化学習を不安定にする要因だったんだよね。ここがよりそのオンポリシーで行えるように安定した出力が出れば学習も安定するようになるっていう風にこの論文でも言われてるからこの辺の強化学習の精度がより上がっていく可能性があるってことだよね。
なるほど。 で一番のデメリットはやはりその性能を犠牲にしてるっていうことかなと思っててこの論文でも実験した結果約20%の性能低下が見られたって言ってるのよ。今でさそのコストと速度を重視する軽量モデルとかが多いじゃん。
その軽量モデルからさらに20%性能ダウンさせて出力を安定させましたってなったとしてもそれってちょっとレベル的に使い物なんのかって言われる怪しいラインまで下がる可能性もあるじゃん。だからそうなるとこの性能低下っていうのは受け入れられるのかどうかみたいなところはあるよね。
あとはこれがやっぱりその今回のテーマにもなるんだけどランダム性が生んでることによる創造性の部分。この今言われてるそのAIの創造性ってランダムだからこそ生まれる創造性みたいなのがあるわけじゃん。
っていう話もありますよね。 そうそうそう。でもこれが言ったら一種のこれバグみたいなものでなんかわかんないけどなってたのがようやくわかったわけじゃん。
それバグ潰された時に創造性が消えるみたいなさ可能性もあってそうなった時にそれって良しとするのかどうかみたいなのは一つ議論が必要だよね。
あえてこのバグが残したものを使い続けるみたいなのが今後出てくる可能性はあるじゃん。創造性モデルみたいな。
例えばさまあ都市伝説レベルの話になるけどさウォルトディズニーさんがさ麻薬みたいなものをやってたからああいう映像がかけたんだとかさ都市伝説の話だけどそういうのもあったりとかさ有名アーティストが薬みたいなものをやってるから曲が作れてるみたいなさ話もなんか聞いたりはするじゃん。
どこまで本当かわかんないけど。ある意味ではその脳のバグがあったから創造性が出てたみたいな可能性もあるわけじゃん。
そういう解釈もありますよね。
そうなった時に今回のこのLLMのバグみたいなものも一種の創造性を生むための方法なのかもしれないよねっていう話で。
今後これがね消えるのか消えないのかっていうのは議論の余地はあると思うんですけど。
ただまあやっぱりその正確なAIっていうものに関してはそれはそれでねメリットが非常にあると思うので今後ここの開発は進んでいくんじゃないかなっていうふうに思いますね。
そうですね。正確性のあるAIがあるとめちゃめちゃ世界変わるような気がしますね。個人的には。
前にさ弊社の方でも取材させていただいたプラスゼロっていう会社さんもさ要はその医療とかホームとかその正確な場面だと今の生成AIって使えないからルールベースのAIと生成AIをうまく振り分けるような作りを目指してるみたいなことをお話されてたじゃん。
そうですね。
これまさしくさここが起因になってるからこそ生まれる発想でさ。ここがもう生成AI一本で正確なものが出せるってなればさその振り分けっていらないよねみたいな話もなってくるわけだから。
いろいろ目指してる先が変わってくるよねこれで。
性能がさ今から20%下がってる。だから元の性能がガッて上がってそこから落ちたものでランダム性が出ないものってなったら十分使い物になると思うから時間の問題な気もするんですよねそこは。
そうだね。だからその原因がわかんないとか直し方がわかんないっていうわけじゃなくなったっていうところがやっぱ大きいよね。
そうですね。
だから今後ね核融合とか出てきて電力GPU使い放題みたいなさ未来も来るかもしれないわけじゃん。
そうだね。
そうなった時はねもう本当にバッジをね普遍的なもので割り当ててみたいなことをすればさ一人一バッジみたいなわからないけど。
まあでもそのバッジのねサイズをね固定するってことができるようになるわけだからね。
そうだね。
まあそこができるとランダム性が出なくなるということでしょうね。でそれをやるだけでさかなりこう正確性が出るわけだからそういう未来が来る頃にはかなり正確なAIも出てるかもしれないね。
はいそれではエンディングでございます。僕個人的な意見としてはランダム性をどうするかの是非についてはマトリックスがすごく参考になるかなと思ってて。