1717216721
2024-05-31 12:21:43
大規模言語モデルには人気のある数字があり、 彼らは発見した GPT-3.5 Turbo、Claude 3 Haiku、Gemini 1.0 Pro システムを調査した Gramener ウェブサイトの研究者。
テストの原理は非常に原始的なものでした。彼らは単に、ジェネレーターに一連の乱数を生成するように指示しました。その後、それらをヒストグラムにプロットすると、一部の値が他の値よりもはるかに頻繁に繰り返されたため、それほどランダムではないことがわかりました。
生のLLMは具体的な数字を好む
GPT-3.5が推奨 47クロード 42 ふたご座へ 72。
したがって、現在の言語モデルはランダムな現象を生成するのに適していないということになりますが、これは驚くべきことではありません。なぜなら、言語モデルが過去 2 年間で人気を博したのは、まさにその出力が首尾一貫しており、意味を成し、ノイズに埋もれていない、つまりそれほどランダムではないからです。
GPT-3.5 Turbo を使った実験における乱数のヒストグラム
ジェミニ 1.0 ターボ実験における乱数のヒストグラム。Gramener の Web サイトで確認できます。 次 インタラクティブチャート
言い換えれば、生の言語モデルは、(完全に)ランダムな数字のシーケンスを生成することすらできません。なぜなら、本質的には、テキストの最も可能性の高い続きを埋めているだけだからです。生の言語モデルは、ランダムな数字が何であるか、またそれをどのように生成するかを知りません。Web で読んだ内容をオウム返しにして、巧妙にリンクしているだけです。
3、8、15、0 という数字の連続を 10 億個インターネット上に配置すれば、AI もその定量的な関連性を利用してそれを使い始めるかもしれません。
したがって、言及された値は、データの種類と特定のモデルがどのようにトレーニングされたかに応じて、ある種の数値シリーズの最も可能性の高い継続にすぎません。そして、このデータは人間によって作成されたため、私たちに非常によく似ており、その見かけ上の知性で私たちを欺きます。
ChatGPTにはPythonインタープリタが含まれているため、疑似乱数の問題はありません。
乱数は、コンピューティング タスクを別の機関 (たとえば、Python インタープリター) に委任できるチャットボットやその他のエンド アプリケーションによってのみ生成できます。
ChatGPTは(十分な)乱数を単独で生成することはできませんが、それを実行するPythonプログラムを書くことができます。
したがって、このような ChatGPT は、それ自体では十分にランダムな数値のシーケンスを生成することはできませんが、それを実行する Python コードを記述できます。そして、彼はすでに標準アルゴリズムを使用しています。
ChatGPT を Python に接続する機能は、以前は Plus サブスクリプションの特典でしたが、OpenAI は徐々にこのテクノロジーを他のアカウントにもリリースしています。
上記の例では、ChatGPTはPythonとそのライブラリを使用して疑似乱数を生成しましたが、これらも数学的には完全にランダムではありません。一般的なアプリケーションには十分です。
コンピューターでさえ絶対的な偶然を作り出すことはできない
Pythonへのランダム性の委譲の場合でも、いわゆる疑似乱数の生成器(ランダム性)、 なぜなら 決定論的 コンピュータはそれ自体では真のランダム性を作り出すことはできません。
結局のところ、脳についても同じことが言えます。さて、0 から 100 までのランダムな数字を紙に書くという課題を与えられた場合、人々はさまざまな合理的な原則 (限界値や端数などを選択する傾向は低い) と自分の好みの両方に従って数字を選択する傾向があり、そのゲームには潜在意識も確実に関与することになります。
数学的に完全なランダム性など全く疑う余地はありません。人間の脳にとってもそれはおそらく無理な概念です。なぜなら、そもそもなぜそのような能力が人間の脳にあるのか、そしてそれが(進化論的に)人間の脳にとって何が良いのかという疑問が生じるからです。
PRNGアルゴリズムにはシードが必要
同時に、疑似乱数を生成するアルゴリズムにはシード、つまりすべてが依存する十分に曖昧な初期値が必要です。
疑似乱数を生成するための専用チップは、たとえば、電線からのアナログ値 (電気ノイズ) によって表される周囲の物理世界や、センサーからのランダム データ (温度、加速度計の加速度、磁力計など) を使用できます。
コンピュータ上の一般的なプログラムは、たとえば、マウスで何かを描画するようにユーザーに促したり、画面上でポインターを動かしたりすることで、十分なデフォルトのランダム性を実現します。シードは、この動きとその XY 座標から得られる値になります。同じ手順は、アルファとオメガの無秩序性が可能な限り高い暗号化キー ジェネレーターでも使用されます。
シードを設定するためにコンピュータ時間を使用することもできます。その場合、ジェネレーターは 00:00:01 と 00:00:02 で十分に異なる一連の数字を形成します。
線形合同生成器
疑似乱数を生成するためのおそらく最も原始的なアルゴリズムの例は 線形合同生成器一般的な状況では、デフォルトの(ランダムな)パラメータに基づいて、(一見)ランダムな数字のセットを生成できます。
Python で 5 つの疑似乱数を生成するシンプルな線形合同型ジェネレータ
もちろん、注意してください!コードでは一定のシードを使用しているため、疑似乱数の配列は毎回同じになります。そのため、シードは毎回異なる必要があります。
#はそれが何であるかを知らないため十分にランダムな現象を作り出すことができませんしたがってサイコロを投げるのに #を使用しないでください #Živě.cz