top-pサンプリングとは、AIが次に続きそうな言葉をすべて思い浮かべ、それぞれに「可能性の高さ」を点数付けする。次に、点数が高い順に言葉を並べ、上から順番に点数を足していく。この合計点があらかじめ決めておいた目標値「p」に達した時点で区切り、そこまでの言葉たちを「最終候補グループ」として採用する。
この目標値「p」のさじ加減は、AIの「個性」を左右する。pの値を高く設定すれば、より多くの言葉が候補に残り、ユニークで創造的な文章が生まれやすくなる。逆に低くすれば、最も可能性の高い、ごく少数の言葉に絞られるため、安定的で間違いのない文章を作るようになる。
語源・提唱者・普及者
2019年にワシントン大学、カーネギーメロン大学などに所属するAri Holtzmanらの研究チームが発表した論文「The Curious Case of Neural Text Degeneration(ニューラルテキスト崩壊の興味深い事例)」で提唱された。pとは累積確率(Cumulative Probability)のしきい値のことを指す数学的記号のことである。非常に低い確率しか持たない膨大な数の単語を切り落とし、中心部である「核」だけを取り出すという意味で、核サンプリング(Nucleus Sampling)とも呼ばれる。
候補となる単語の数を固定する(top-k)方法も考えられたが、確率の合計を基準に用いることで、候補の数を柔軟に変化させ、より自然で質の高い文章生成をした。
AIの性格を操り、最適な応答を実現
Top-pとは、AIの性格を調整するための「ダイヤル」のようなものだ。製品の役割によって、AIにふさわしい性格は全く違う。
例えば、新しい企画のアイデア出しを手伝うAIなら、自由で意外な発想をたくさん投げかけてほしい。この場合、ダイヤルを大きく開いて、AIが使う言葉の選択肢を広げ、創造性を引き出す。
逆に、お客様からの問い合わせに答えるAIなら、間違いのない堅実な回答が何より重要だ。この場合はダイヤルをぐっと絞り、AIが最も安全で確実な言葉だけを選ぶように仕向けられる。
行き詰まりを創造性に変えるAI
とある小説執筆ツールは、作家が行き詰まった時に物語の続きや新たなアイデアを提案するため、top-pを高めに設定している。
例えば、ユーザーが「主人公は古い扉を開けた。その先には…」と入力する。すると「逆さまに時間が流れる庭園があった」とか「彼自身の子供時代の幻が立っていた」といった、少し意外だけれども物語を面白くする選択肢も提示できる。
これにより、単なる文章作成マシンではなく、作家にとって唯一無二のパートナーとしての地位を築き、他にはない価値を提供することに成功したのである。
temperatureとの違い
類似したパラメータとして、temperatureが存在する。temperatureは、言葉同士の確率の差を広げたり、縮めたりすることで、言葉の柔軟性を調整する。top-pは、temperatureと異なり、言葉の候補を「足切り」するため、確率の低い言葉を確実に候補から除外することができる。
そのためtop-pは、柔軟性を保ちつつ、ありえない言葉だけは避けるといった使い方が可能になる。
OpenAIの公式ドキュメントなどでは、temperatureとtop-pのどちらも使用すると、制御が難しくなるため、どちらか一方の利用を推奨している。
関連用語
- top-k