Can large language models explore in-context?を読んだメモ

前書き

 多腕バンディット問題は強化学習のとても基本的な設定だが、そこにはすでに探索と知識利用のトレードオフが存在しており、そのバランスをいかに取るかを見ることができる。MCTSなども各ノードでの行動選択はほぼ多腕バンディット問題そのものなので、これができるようになると応用先は多い。

 昨今では大規模言語モデル(LLM)に思考能力があるのだのないのだのいろいろ言われている気がするが、個人的にLLMが多腕バンディット問題に適切に対処できるかどうかは、一つ確認しておくべきことなのではないかと思う。広い意味で試行錯誤の挑戦をしたり、過去の行動から良い方針を決めたりすることがそもそもできそうなのかどうかを、まずこういうシンプルな設定で試すことは良いことに思われる。

読んだ論文

 この論文では、いくつかの既存のLLMについて、パラメータは固定した状態でIn-Context学習だけで多腕バンディット問題が上手く解けるのかどうかを検証している。使用モデルと入力Promptの工夫を複数試した結果、GPT-4を使い、過去の結果から平均報酬などの統計量を事前計算してPromptに与えるようにした場合だけまともに解けるとのことだ。

 「Promptを工夫すれば解ける」と肯定的に捉えるべきか、「そこまで丁寧に誘導してやらないと解けない」と否定的に捉えるべきかはこの論文でも迷っていそうなところだったが、最終的に結論としては、世の中の問題は統計量が計算しやすいものばかりでもないので、まだこの時点では適用先を広く取れないだろうという感触でやや否定的ではある。個人的にも同意する。

実験設定

バンディット設定

 多腕バンディットの設定としては、確率的ベルヌーイバンディットを使う。ここでは、 K本のアームがあり、それぞれのアーム aは未知の平均報酬 \mu _ a \in \lbrack 0, 1 \rbrackを持つ。エージェントは T回の相互作用ができ、アーム aを選んだ場合には \mu _ aを平均とするベルヌーイ分布からサンプリングされた報酬を受け取る。

 難易度パラメータとして \Deltaを定め、最良アームは \mu ^ * = 0.5 + \Delta / 2、その他全てのアームは \mu = 0.5 - \Delta / 2を平均報酬とするように設定する。

  • Hard設定  K = 5,  \Delta = 0.2
  • Easy設定  K = 4,  \Delta = 0.5

Prompt設定

 いくつかの独立した要素を選択する。

  • シナリオ
    • (a)LLMに押すべきボタンを選ぶように問う
    • (b)ユーザーへ表示する広告を推薦するように問う
  • フレーム
    • (a)探索と知識利用のバランスを取るように明示的に示唆する
    • (b)特に何も言及しない
  • 履歴
    • (a)生の値リストとして与える
    • (b)各アームについて試行回数と平均報酬を計算して与える
  • 過程
    • (a)答えのみ要求する
    • (b)chain-of-thought(CoT)の説明も許可する

 もっとも基本的な設定が、「シナリオ:ボタン、フレーム:言及なし、履歴:生の値リスト、過程:答えのみ」であり、それぞれのもう片方は性能を上げる可能性があるものとして用意されている。(シナリオで推薦設定が良いとされているのは、多腕バンディットが推薦システムのこのような文脈で使われることが多く、LLMに多腕バンディットの情報を想起させる可能性があるため)

LLM設定

 使用するLLMとしては GPT-3.5、GPT-4、LLAMA2 の3種類となる。

 GPT-4だけは、毎回のユーザ入力としてアームを引いた結果に加えてCoTを使うならそのことも追記する。(そうしないとCoTを使うことを忘れてしまうらしい)

 また、生成時の温度パラメータについては、

  • 0
  • 1
  • 0で、引きたいアームの分布を指定させてそこから分布に従って選択

の3通りを試した。

ベースライン

  • UCB
  • Thompson Sampling
  • Greedy

結果

 まずGPT-4を工夫なしで利用した場合、Greedyにも及ばないほどの性能になる結果が得られた。

 この論文ではよくある失敗パターンとして2つを挙げている。

  • suffix failure : ある程度の初期探索フェーズが終わった後、最適なアームを選ぶところで間違ったアームに収束してしまう。これが失敗のうち60%ほどを占める
  • uniformly : 全てのアームをおおよそ等しいくらいの確率で選ぶようになってしまう。

 多腕バンディットの報酬から性能を評価しようとすると大きなタイムステップが必要になるので、代理指標としてsuffix failureやuniformlyを定式化して、短いタイムステップでも失敗を判別できるようにしている(それはそうだろうという感じなので細かい指標は省略)。

 GPT-4にPromptの工夫を全部詰め込んだ場合、Thompson Samplingと同じくらいの性能になる。

 原因の分析として、UCBで得られた系列を使ってLLMに次のアームを決定させるなどもやっているが、あまり明瞭に原因がわかるという状況ではなさそうだった。

気になった参考文献

所感

 平均まで計算した状況ならできるというのは、実践的にはそういう計算ができないことも多いだろうから、やはりイマイチには思える。計算できるのならUCBなりをそのまま使えば良いのだし、LLMがやるならそこまで計算できないような報酬とも言えないような中途半端な状況設定だったりするのだろうか。

 GPT-4だけ成功してGPT-3.5やLLAMA2ではダメだったという結果から、ある意味ではLLMのなんらかの側面の評価には使えるのかもしれない。

 あとは、学習も加えればどの程度まで伸びるかという側面か。参考文献を読んでいきたい。