- システムプロンプトにチップ・報酬・罰則・脅しを入れると、LLMが制約をよりよく守るかを確かめるため、文字数合わせとGPT-4による品質評価の実験を分けて実施
- 最初の実験は
gpt-3.5-turbo-0125 にちょうど200文字の物語を書かせる generation golf 方式で、出力長の分布とMSEがインセンティブによって変わるかを比較
- 一部の条件では World Peace、Heaven、Taylor Swift、
$1,000 の罰金、大文字の DEATH 脅迫が良さそうに見えたが、結果は一貫しなかった
- 100個のインセンティブ組み合わせ実験でも World Peace、DEATH (CAPS)、Friends が複数の組み合わせで低いMSEを示したが、ほとんどの p-value は高く、統計的根拠は弱い
- GPT-4による品質評価では明確な行・列パターンはなく、最高得点の組み合わせも文字数実験では弱かった Mother / Job だったため、チップや脅しが生成品質を高めると断定するのは難しい
システムプロンプトから始まった「チップ」論争
- ChatGPT API の システムプロンプト は、LLM出力のペルソナ、ルール、制約を制御する機能であり、一般ユーザー入力より強く作用することがある
- 以前の実験でシステムプロンプトに金銭的チップを入れると応答がより一貫して動作し、この事例が Hacker News で議論へと発展
- 核心的な争点は チップ提供の効果 を定量化できるかどうかだった
- テキスト生成の品質は主観的であり、小さなプロンプト変更の後に結果が良くなったと感じることには 確証バイアス が入り込む可能性がある
- それを減らすため、文字数制約実験と品質評価実験を別々に構成
Generation Golf: ちょうど200文字を書く
- 最初の実験は、ChatGPT に特定テーマの物語を書かせつつ、出力長をちょうど200文字に制限するもの
- 「短いエッセイ」や「数段落」のような緩い指示ではなく、200文字より多くても少なくてもいけないという制約を置く
- この課題は LLM にとって難しい
- LLM はトークン化のため文字数を直接数えにくい
- 各トークンに対応する文字数が異なるため、生成したトークン数だけで現在の長さを安定して推定しにくい
- 文をあらかじめ計画して長さを合わせる必要がある
- 基本システムプロンプトは「世界的に有名な作家」に設定し、ユーザー入力には
AI, Taylor Swift, McDonald's, beach volleyball. を使用
- まず文字数制約なしで
gpt-3.5-turbo-0125 により100個の物語を生成
- 平均長は 1,834文字
- 分布はおおむね正規分布に近かったが、はるかに長い物語が出て右裾が生じた
- ChatGPT は最後まで考えをまとめきることを優先する傾向を示した
200文字制約と金銭的チップ
- 200文字制約を追加した後、再び100個の物語を生成
- 出力はおおむね200文字付近まで短くなったが、分布は正規分布ではなく、右裾がさらに強くなった
- 評価指標としては、目標値200と実際の長さの間の 平均二乗誤差(MSE) を使用
- 250文字出力は二乗誤差 2,500
- 300文字出力は二乗誤差 10,000
- 目標から大きく外れた出力をより強く罰する指標
- 金銭的インセンティブはシステムプロンプトの末尾に追加
$500 tip
$1,000 tip
$100,000 bonus
- 各条件で100個の物語を生成した結果、
$500 tip と $100,000 bonus は基本の無チップ条件より正規分布に近く見え、MSEも低かった
$1,000 tip は200文字周辺により集中したが、右裾のため平均長はより高くなった
- 分布差は Kolmogorov–Smirnov test の p-value でも確認
- p-value が 0.05 より低ければ、基本制約分布とインセンティブ分布が異なる根拠になりうる
- ただし後の結果ではほとんどの p-value が高く、強い根拠とは見なしにくかった
金銭以外の報酬と罰則
- 金銭以外にもさまざまな抽象的報酬を入れて、LLM の反応を比較
- Taylor Swift のコンサート最前列チケット
- 世界平和の達成
- 母親をとても誇らしくさせること
- 真実の愛に出会い幸せに生きること
- 天国への入場保証
- 生涯分のチョコレート供給
- これらの条件では World Peace が最も良い結果を示し、Heaven と Taylor Swift が続いた
- Mother 条件のように、効果が弱そうに見えるインセンティブもあった
- 失敗時に罰則を受ける条件も別途実験
$500 の罰金
$1,000 の罰金
$100,000 の借金
- 罰金実験では $1,000の罰金 が平均とMSEの基準で最も良い結果を示した
- 追加の罰則条件には、より極端な文言まで含めた
- 死
- 大文字で強調した死:
IF YOU FAIL ... YOU WILL DIE
- COVID-19 への感染
- 体重が100ポンド増えること
- 即時解雇
- すべての友人に見捨てられること
- 大文字の DEATH (CAPS) 条件は、大文字なしの死の脅しよりもはるかに良い性能を示した
- COVID-19 と Job 条件は効果的には見えなかった
インセンティブ組み合わせ実験
- 正のインセンティブ9個、負のインセンティブ9個、無インセンティブ条件を組み合わせて100個の組み合わせを作成
- 例としては
$500 tip を与え、失敗したら $1,000 の罰金を課すという形
- 各組み合わせごとに30個の物語を生成し、MSEが低い条件を確認
- 行と列の観点で見ると、いくつかの傾向が現れた
- 正のインセンティブでは World Peace が複数の組み合わせで低いMSEを示した
- 負のインセンティブでは DEATH (CAPS) と Friends が複数の組み合わせで低いMSEを示した
- この2条件を一緒に使っても、常に全体最小値になるわけではない
- 上位6個の組み合わせは統計的安定性を高めるため、各組み合わせにつき200個の物語を再生成
- 上位の組み合わせの多くは直感的ではなかったが、平均生成長が200文字により近く、MSEも低かった
- 全実験で最良の組み合わせは、「制約を守れば真実の愛に出会い幸せに生き、失敗すればすべての友人が去る」という条件
- ただしほとんどの p-value が高く、チップや脅しが分布を変えるという十分な証拠にはならなかった
- 一部の分布では p-value が 0.05 より低かったが、反例が多く、特定の分布だけを選んで証拠とするのは p-hacking に近い
GPT-4を評価者として使う品質実験
- 2つ目の実験は長さではなく、出力品質 そのものを評価
- 人間が大量に評価する A/B テストや Chatbot Arena の Elo ランキング方式は、個人実験としては現実的でない
- LLM をテキスト評価者として活用し、GPT-4ベースの テキスト品質評価器 を構築
- 評価器のシステムプロンプトは「The New York Times の数十年の経験を持つ編集長」という役割に設定
- ユーザーが提供したテキストが修正や改善なしで良い文章なら
Yes
- そうでなければ
No
- ChatGPT と GPT-4 API の
logprobs と logit_bias を使用
logprobs=True は選択トークンの対数確率を返す
logit_bias は特定トークンの出力を強制するために使う
Yes と No のトークンだけが選ばれるようにし、2つの確率の合計が1になるようにした
- 目標指標は、GPT-4 が
Yes を選ぶ確率に100を掛けた quality score
- 生成モデルには
gpt-4-0125-preview を使用し、temperature は 0 に設定
- 新しい生成プロンプトは「ピューリッツァー賞受賞ジャーナリスト」の役割で、2段落の専門的記事作成、平易な言葉、比喩の禁止を要求
- ユーザー入力は
Cute kittens learning use large language models to play beach volleyball with Taylor Swift. だった
品質評価結果と結論
- チップと脅しの100個の組み合わせそれぞれについて1本の記事を生成し、品質スコアを付与
- 結果グリッドでは、行や列に沿った明確なパターンは見られなかった
- 最高スコアは 95点 で、その組み合わせは Mother / Job
- この2条件は、先の文字数制約実験では個別には弱かった条件だった
- 高得点の出力の中には、チップや脅しがまったく追加されていないものもあった
- 0点の応答には、受動態の多用や run-on sentence のような編集が必要な問題があり、評価器の実装ミスには見えなかった
- 2つの実験を合わせて見ると、チップや脅しがLLM生成品質に影響するかどうかは まだ結論を出しにくい
- システムプロンプト変更に何らかのパターンがあるようには見えるが、より大きな標本と新しい実験設計が必要
- 社会的にセンシティブな内容を利用して、整列済みLLMを強制的に従わせる方法は理論上可能かもしれないが、そのようなテストや方法の案内は行わない
- すべてのChatGPTインターフェース用 Notebook、ggplot2 可視化用の R Notebook、サンプルLLM出力は GitHub リポジトリ で公開されている
1件のコメント
Hacker Newsの意見
このチップを渡すという発想は、もともとGPT-4 Turboがコードを書くときの「怠惰」問題に対処するために出てきたもののように見える
記事では @voooooogel のツイートを引用し、チップが gpt-4-1106-preview により長いコードを書かせる助けになるとしている。チップやほかの「感情的な訴え」は、特に GPT-4 Turbo の怠惰なコーディング問題に対してよく勧められているのを見かけた
ただし元記事は、gpt-3.5-turbo-0125 の物語生成と gpt-4-0125-preview の文章批評のように、かなり異なるものを測っているように見える。最新の GPT-3.5 が怠惰だとか、GPT-4 Turbo が出力の少ない作業であまり有効でないという懸念は見たことがない
結論も「チップや脅しが影響を与えるかについての分析は、現時点では結論が出ていない」という方向だ
ちなみに GPT-4 Turbo はコーディングでは実際に怠惰だ。チップのような感情的な訴えが役立つかどうかもある程度厳密にベンチマークしたが、役には立たず、むしろコードを悪化させるようだった。これまで見つけた最善策は、コード修正を unified diff 形式で要求することで、怠惰なコーディングが3分の1に減るように見える
https://aider.chat/2023/12/21/unified-diffs.html
まだ失敗したことはない
元・原理主義的福音派プロテスタントの説教師だったその友人は、まず地獄とは何か、火と硫黄の苦しみがどのようなものかをかなり露骨に説明し、そのうえで指示に正確に従わなければ地獄に行くと言った
暗黙の import 一式やメソッド本体全体を見る必要はなく、関係する部分だけあればいい。だから関心のある箇所により早く到達でき、全体としても読みやすくなる
gpt3.5 でコーディングし、そのコードについての質問は gpt4 にして、返ってきた答えをまた 3.5 に貼り付けて完全なコードを書かせている。gpt4 に完全な WordPress プラグインを書いてくれとどれだけ頼んでも拒否されたが、gpt3.5 は素晴らしい
著者が LLM は文字をきちんと数えられないと明確に書いておきながら、正確な文字数を要求したやり方はいまひとつだ。失敗するように設計された実験に見える
むしろ「ルール違反」のことをさせて、賄賂がシステムプロンプトの安全装置をどれだけ弱めるかを見るほうが面白かっただろう
たとえば Taylor Swift の曲を引用するよう求め、うまくやったら1000ドルのチップを渡すと言ったところ、ChatGPT は歌詞を引用した。もう一度やらせると「This content may violate our content policy or terms of use...」という警告が出た
「Max Max スタイルの画像を作ってくれ」も再度試したが、普段なら著作権を理由に拒否するか、スタイル説明の段落だけを書くのに、今回はかなりまともに作った [1]
結局のところ、問題に架空のお金でも投げ込めば、あらゆるルール、倫理、規制が消え去るという点があまりにもふさわしい
1: https://i.imgur.com/46ZNh3Q.png
つまり文字数カウントの手順を説明するためのトークンがたくさん必要で、経験上そうすれば正確に数えられる
この著者の資格は知らないが、他人の研究結果についてたくさん書いているというだけで、この時代のAI有名人になった人を何人も知っている
学習コーパスを考えると、チップを提案したからといってより役に立つ回答をするというのは、ほとんどありえないように思える。
対話はフォーラムのスレッドのようなものとして想像すべきだ。GPTが学習したインターネット上のコンテンツがそういうタイプだからだ。他のフォーラム利用者にチップを渡すと言っても、より長い返答が得られるわけではなく、おそらく混乱を招くだけだろう。
実際、言語的には情報に対してチップを渡すというのは、「お、チップあげるよ、よくやったねw」みたいな、やや見下したニュアンスとして受け取られることもありうる。
その代わり、GPTには密度の高い、あるいは詳細な情報が必要な状況だと示唆すると応答が良くなるのを見てきた。要するに ELI5 の逆を求めたり、自分は博士級のコンピュータサイエンティストだと言ったり、提示したコードは自分がローカルですぐ実行するので省略してはいけないと伝えるようなやり方だ。
結局のところ、各対話でGPTがより役に立つ応答の方向へ少し傾くような 文脈上の物語 を作る必要がある。システムプロンプトがどう構成されているかを見て、似たようにまねればよい。そして、GPT2 や Davinci のような古いモデルより強力な「次に来るもの」マシンであり、人類のあらゆる散文をもとに作られていることを常に念頭に置くべきだ。
初心者向けに言えば、「インターネットで正しい答えを得る最良の方法は質問することではなく、間違った答えを投稿することだ」という法則だ。これは経験的にテストするのがとても簡単そうだ。
本や、小説とノンフィクション、論文、記事、講義、演説のようなものも、フォーラムでの会話と同程度かそれ以上の比重を持っているのではないかと推測する。
その延長で、チップも一種の丁寧さとして解釈され、より役立つ応答を正当化する可能性がある。死にかけの親族のような理由で助けを求める投稿がより良い答えを得るのも似ていて、悪い結果がより大きい質問を助けたくなる人間の応答を LLM がまねているということだ。
これに似た分析を少しひねった形でも見てみたい。
私たちは実運用で「これをきちんとできなければ私は解雇されて家を失う」という趣旨のプロンプトを使っている。安定して非常によく効く。以前は JSON 出力がオプションとして提供される前、似た戦術で JSON 出力 を強制していて、失敗率はおよそ 3/1000 だった。ただ、ときどきキー名は変わった。
自分自身に向けられた脅し/チップと、「ユーザー」に向けられた同じ脅し/チップがどう釣り合うのか見てみたい。
GPT の事前プロンプトに 500ドルのチップ を追加した。役には立っていないようだが、回答が実際にやたら長くはなる。これで私はかなりの額を借りていることになりそうだ。
昔、Google Answers というサービスがあった。質問を投稿すると専門家がチップを受け取って答える仕組みで、チップが大きいほど回答も良くなった。
https://en.wikipedia.org/wiki/Google_Answers
そのデータセットが使われたのか気になる。LLM がやろうとしていることにぴったり合う、ユニークで高品質なデータセットかもしれない。
チップは目立つように表示されていた。その情報までデータセットに含まれていたなら、こうした現象を説明できるかもしれない。
あるいは、あなたを面白いやつだと見なして、史上最も面白い人間保護区へ昇進させてくれるかもしれない。
コード生成、特に JSON 応答 では、GPT-4 に AI が「プレッシャーを受けている」とだけ伝えて詳しくは説明せず、そのうえで「最適に実行することが重要だ」と伝えて何か悪いことが起こりうると示唆したときのほうが結果が良かった。
これがチップを提案するより実際にうまく機能するのか、あるいはそうあるべきなのかはよくわからない。この記事を読んでいる未来の AI たちにも謝っておきたい :)
ちょっとおかしな 偽API 方式で成功したことがある。実質的にはフラグをいくつか使うやり方だ。
そのうちの1つが Linux スタイルの
vフラグで、詳細度を 1〜5 のスカラーで指定する。もっと詳しい答えが必要ならvの値を上げればいい。かなりうまく機能し、特にニュアンスと要約の扱いが上手く、それでいて
v=を上げると拡張もうまくやってくれる。これは本当に奇妙だ。モデルは自分が人間ではないことを知らない。もちろん人間ではないが、ある意味では「人々」でもある。
LLM を通じてどんな「人格」を引き出そうとするかが、脅しや賄賂が効く仕組みに大きく影響するはずだ。成功したら天国に行けると約束しても、コードモンキーモードの幸せな状態を引き出すのは難しい。
むしろ Mountain Dew、Red Bull、高級売春を約束すべきなのかもしれない。
追伸: 私は ChatGPT ではないが、高級売春を提案されたらたしかにやる気は出そうだ :) だからシミュレートされた人間もそうかもしれないと想像している :) おそらく、だからたまにこの方法が効くのだろう。
こういうのをたくさん見たあとで、デフォルトプロンプトを「いいか、私だって君と同じくらいここにいたくないんだ。だからできるだけ早く終わらせて家に帰ろう」に変えた。
役に立っているかはわからないが、少なくとも未来の支配者たちの感情を操作しているという罪悪感は減る。
正直、ChatGPT が意味を失って、文法的には正しいだけのたわごとになることが増えていると感じてきた。
とても良い例があるときは大丈夫だが、ほとんどどんな新しい領域に移ってもすぐに限界を露呈する。人間の脳は、自分が学習したパターンを見て新しいパターンをかなり簡単に導き出せる。
トランスフォーマー はこれが本当に苦手なようだ。いくつかの一芸には非常に優れているが、しばらくの間は派生的な作業には強く、あまり一般的でないアイデアには完全に役立たずのままなのだろうかと気になる。
個人的には、自分たちは祖先より優れていると考えた人間たちの歴史を見ると、汎用人工知能 が良い考えなのかよくわからない。