Physics of Language Models: Part 2.2,How to Learn From Mistakes on Grade-School Math Problems
ソースによると、大規模言語モデルは数学の問題を解く際に「後悔」を示す内部状態を持つことがあるんだ。 つまり、モデル自身がある程度の誤り検出能力を備えている可能性があるってことだね。
え?後悔?????
ハルシネーションを起こすって気が付かれると全部が嘘くさく見えて
全部調べないといけないから確認コストが膨大になる。
うちの長男もなめらかに息を吐くように嘘をつく事があるが
それのせいで、他の部分も疑わなきゃいけなくなって非常に面倒なんだが
まじであれだよね、ハルシネーション箇所だけでなくそれ以上にコストが高い
9.11 を数字じゃなくて 日付だと思っているって面白いな。
そんな話になってたのか
↑
wihch is biggerm 9.8 or 9.11
に LLMが 「0.11 is bigger than 9.8」 って答える問題について
モデルが入力文をどう理解しているかを理解する
内部状態の解析をする
Attentionのかかり方をみて、どの単語に注目しているか見る
Probe:モデルの特定の層がどのような言語情報や意味的な情報を保持しているか
SparseAutoEncoder:わからん
参考文献
モデルの精度向上には、解く過程に誤ったステップを含んだ「リトライ弱データ」が有効。
これは、問題文中に登場するパラメータをランダムに選択して解に追加するだけで生成できるから、比較的簡単に用意できる。
一方で、「リトライミスデータ」は、解にまだ登場していないパラメータを問題文から選択して追加する必要があり、これは「リトライ弱データ」よりも取得が難しい。
とはいえ、「リトライミスデータ」よりも完璧な「リトライデータ」を取得するのはもっと難しい。
ちなみに、解のステップの半分に誤りが含まれているような極端なケースを考えるのはあまり意味がないっぽい。 <ーなんで?
言語モデルは、自身の出力の誤りを検出する能力をすでに持っている可能性がある。
具体的には、言語モデルを完全に誤りのない数学データで事前学習した後、少数の学習可能なパラメータで微調整することで、解答ステップの誤りを検出できるようになる。
これは、モデルが内部状態で「後悔」を示す動作をしていることを意味する。
言い換えると、モデルは自分が間違えたことを「すでに知っている」と言える。 ただし、この誤り検出能力が、出力の修正にどの程度まで活用できるかは、さらなる研究が必要やーねー。
ふーん?
自分の出力を見せつけて、おい間違いを直せよって指示すると直せちゃうのなんで???
っていう疑問から研究始まるの面白いな、そういやそうだわ
後悔している事を検知したら、そのToken部分を再生成させる。
んなことできるんか
ああ、途中式を出力させて、その間違いをLLMが見つけたら
んじゃ再生成してみてねって10回ぐらいリトライしましょうっていう仕掛けなのね
つよつよ誤り検出ができるなら、ビームサーチより良い
が.... が....!!!!
iGMSの概要
iGMSは、プログラムによって生成された小学校レベルの数学的推論問題の大規模なデータセットです。このデータセットは、大規模言語モデル(LLM)が数学の問題を解く際に犯しやすい誤りを研究するために設計されました。
iGMSデータセットの特徴は、その生成過程にあります。このデータセットはLLMではなく、プログラムによって生成されているため、研究者は誤ったステップ(LLMが犯しやすい推論ミスをシミュレートしたもの)を容易に構築し、それらのステップに対する100%正しい修正を作成することができます。
iGMSデータセットには、いくつかの種類があります。
●
iGSM-medpq/qp:訓練用にはop ≤ 15、OOD(out-of-distribution)テスト用にはop ∈ {20, 21, 22, 23}を使用します。
●
iGSM-hardpq/qp:訓練用にはop ≤ 21、OODテスト用にはop ∈ {28, 29, 30, 31, 32}を使用します。
"pq"は問題文が質問の前に来ることを、"qp"は質問が問題文の前に来ることを表しています。また、評価用の「reaskデータ」も導入されています。例えば、iGSM-medop=20,reask pqは、最初にiGSM-medop=20 pqを作成し、その後パラメータを再サンプリングしてクエリを作成することで構築されたデータセットです。これは数学データの分布を大きく変化させるため、OOD評価に適しています。(reask後、問題のop値は変更される可能性があります。)
iGMSデータセットを用いた研究では、言語モデルが数学的問題を解く際に「後悔」を示す内部状態を持つことがあるという興味深い結果が示されました。これは、モデルが誤った解答ステップを生成した後、その誤りに「気付いている」可能性を示唆しています。
さらに、モデルの精度向上には、解く過程に誤ったステップを含んだ「リトライ弱データ」が有効であることが示されています。これは、問題文中に登場するパラメータをランダムに選択して解に追加するだけで生成できるため、比較的簡単に用意できます。一方、「リトライミスデータ」は、解にまだ登場していないパラメータを問題文から選択して追加する必要があり、これは「リトライ弱データ」よりも取得が難しいです。
iGMSデータセットは、LLMの推論能力、特に数学的推論能力の向上に大きく貢献する可能性を秘めています。
はーん? そういうもんなのね
retryデータってのは、モデルが数学の問題を解くときに、わざと間違えさせて、その修正方法を学習させるためのデータのこと
retryデータの作り方
まず、完璧な解答がついた数学の問題と解答のデータセットを用意する。で、この解答のステップに、わざと間違ったパラメータを挿入
例えば、
●
「りんごが3個、みかんが2個あります。合わせて何個でしょう?」
●
解答:「3 + 2 = 5」
みたいな問題と解答があったとする。
ここにretryデータを適用すると、
●
「りんごが3個、みかんが7個あります。合わせて何個でしょう?」
●
解答:「3 + 7 = 5 」
って感じで、わざとみかんの数を間違えて、解答もそれに合わせて修正していく。
この間違ったパラメータは、ランダムに選択するんだけど、次に計算できないものから選ぶっていうルールがある。
で、間違えた後に [BACK] っていう特別なトークンを付けて、同じ場所にまた別の間違ったパラメータを入れることもある
この間違えの頻度をretry rateって言って、この値を大きくすればするほど、より多くの誤りを含んだデータになる
retryデータで学習した結果
このretryデータを使ってモデルを学習させてみたら、めっちゃ面白い結果になった
難しい問題になればなるほど、より多くの誤りを含んだデータで学習させた方が、モデルの精度が上がる!
誤ったデータにラベルマスキングは必要ない! retry rateが高くても、ラベルマスキングなしで学習しても大丈夫!
retryデータで学習させたモデルは、ほとんど間違えをしなくなる! これは、各ステップで正しい解答を生成する確率の方が高くなるからだ。
retryデータで学習させたモデルは、最短の解答を生成できる! これは、モデルが無駄なパラメータを計算しないように学習するからだ。
誤り訂正は、ビームサーチとかモデルのランダム性に基づくリトライとは全然違うスキルだってことがわかった! retryデータで学習させたモデルは、ビームサーチとかリトライを使ったモデルよりもはるかに高い精度を達成できた
これらの結果から、retryデータは、言語モデルがより賢く、特に誤り訂正能力を向上させるためには、めっちゃ有効な手段と言える
retryデータの作成は擬似データでもOKだったみたいだが
まあ汎用化できるかどうかは疑問だよね
LLMはハルシネーションを自覚しているが、息を吐くように嘘ついちゃうって
まじうちの子じゃん....