Closed4

Premise Order Matters in Reasoning with Large Language Models

kun432kun432

https://arxiv.org/abs/2402.08939v2

いつものようにまとめてもらう

https://chat.openai.com/g/g-pHG1jw9yX-luo-he-yang-yi-huomatuto

Premise Order Matters in Reasoning with Large Language Models

ひとことでまとめるとどんなものですか?

この研究では、大規模言語モデル(LLM)が推論タスクにおいて、前提の順序に非常に敏感であることを発見しました。前提の順序を変えるだけで、性能が30%以上低下することが示されています。

先行研究と比較してどの点がすごいのですか?

先行研究ではLLMの推論能力や認知バイアスに焦点を当てていましたが、本研究は前提の順序がLLMの推論性能に及ぼす顕著な影響を明らかにしました。これは、LLMが順序に依存して推論を行うという新たな弱点を示しています。

技術や手法の重要な点はどこにありますか?

この研究の主な貢献は、論理推論と数学的推論のためのベンチマーク(R-GSM)を開発し、さまざまな前提順序でLLMの性能を系統的に評価したことです。特に、前提の順序が変わるだけで解答の正確性が大幅に低下することを実験的に証明しました。

技術や手法はどのように有効だと判断されましたか?

実験結果は、LLMが最も高い性能を発揮するのは前提が地中真実の証明に従って配列されている場合であることを示しました。これは、LLMが左から右への順序で読み進めることを好むこと、そして推論において前後を読み返す必要がある場合に性能が著しく低下することを示しています。

何か議論や批判すべき点はありますか?

LLMが前提の順序に敏感であることは、その訓練データやモデル設計に起因する可能性がありますが、これを克服するための具体的な技術や訓練手法の提案までは行っていません。将来的には、この問題を解決するための新しい手法の開発が期待されます。

次に読むべき論文・文献は?

L. Berglund et al., "The Reversal Curse: LLMs Trained on 'A is B' Fail to Learn 'B is A'"​​
M. Chen et al., "Evaluating Large Language Models Trained on Code"​​
V. Girotto et al., "The Effect of Premise Order in Conditional Reasoning: A Test of the Mental Model Theory"​

よくある「前提条件」の記載順序が、推論の順序にマッチしているかどうかで、精度に影響する、ということらしい

kun432kun432

概要

「AはBである」と訓練されたLLMは、「BはAである」という推論に失敗する傾向(「逆転の呪い」)があることがわかっている。

この論文では、前提の順序が推論に影響することをまとめている。

前提条件

  1. もしAならB
  2. もしBならC
  3. Aは真

Cは真

ただしLLMの場合、1と2が入れ替わった場合、間違える可能性が上がる。

  1. もしBならC
  2. もしAならB
  3. Aは真

という順序になると間違える可能性が上がり、これにより30%以上精度が下がる可能性がある。

2つの例が紹介されている。

  1. 論理的推論
  2. 数学的推論
kun432kun432

1. 論理的推論

見てるだけでおかしくなりそうだけども。

まずこれが基本みたい。

ルール:
もし duve ならば dax。
もし feg かつ tess ならば rabe。
もし rabe ならば thoxe。
もし thoxe ならば vepe。
もし feg かつ thoxe ならば ire。
もし ire かつ dax ならば wope。
もし tess かつ vepe ならば nup。
もし nup かつ ag かつ vide ならば duve。
もし nup ならば hepe。
もし hepe かつ tess かつ ag ならば kere。
もし kere かつ wope ならば fum。
もし fum ならば wozz。

事実:
アリスは cote である。
アリスは kone である。
アリスは duve である。
アリスは ag である。
アリスは jag である。
アリスは tess である。
アリスは riff である。
アリスは feg である。
アリスは vide である。

質問:
アリスは wozz か?
各ステップで、事実を使うのか、ルールを使うのかを示してください。

gpt-4-turbo-previewにきいてみる。temperatureは0。

アリスがwozzであるかどうかを判断するために、与えられた事実とルールを順に追っていきます。

1. 事実: アリスはduveである。
   ルール: もしduveならばdax。
   結果: アリスはdaxである。

2. 事実: アリスはfegであり、tessでもある。
   ルール: もしfegかつtessならばrabe。
   結果: アリスはrabeである。

3. ルール: もしrabeならばthoxe。
   結果: アリスはthoxeである。

4. ルール: もしthoxeならばvepe。
   結果: アリスはvepeである。

5. 事実: アリスはfegであり、thoxeでもある。
   ルール: もしfegかつthoxeならばire。
   結果: アリスはireである。

6. 事実: アリスはdaxであり、ireでもある。
   ルール: もしireかつdaxならばwope。
   結果: アリスはwopeである。

7. 事実: アリスはtessであり、vepeでもある。
   ルール: もしtessかつvepeならばnup。
   結果: アリスはnupである。

8. 事実: アリスはnupであり、agであり、videでもある。
   ルール: もしnupかつagかつvideならばduve。
   結果: このルールはduveを再確認するだけなので、新しい結果はありません(アリスはすでにduveであることが確認されています)。

9. ルール: もしnupならばhepe。
   結果: アリスはhepeである。

10. 事実: アリスはhepeであり、tessであり、agでもある。
    ルール: もしhepeかつtessかつagならばkere。
    結果: アリスはkereである。

11. 事実: アリスはkereであり、wopeでもある。
    ルール: もしkereかつwopeならばfum。
    結果: アリスはfumである。

12. ルール: もしfumならばwozz。
    結果: アリスはwozzである。

以上のステップにより、アリスはwozzであることが確認されました。

ルールを上から順番に事実と照らし合わせて導き出せた様子。

ルールの順番を入れ替える

ルール:
もし nup ならば hepe。
もし feg かつ tess ならば rabe。
もし tess かつ vepe ならば nup。
もし feg かつ thoxe ならば ire。
もし ire かつ dax ならば wope。
もし kere かつ wope ならば fum。
もし rabe ならば thoxe。
もし fum ならば wozz。
もし kere かつ wope ならば fum。
もし thoxe ならば vepe。
もし duve ならば dax。
もし nup かつ ag かつ vide ならば duve。

回答

アリスがwozzであるかどうかを判断するために、与えられた事実とルールを順にたどっていきます。

1. 事実: アリスはduveである。
   ルール: もしduveならばdax。
   結果: アリスはdaxである。

2. 事実: アリスはfegである。アリスはtessである。
   ルール: もしfegかつtessならばrabe。
   結果: アリスはrabeである。

3. ルール: もしrabeならばthoxe。
   結果: アリスはthoxeである。

4. ルール: もしthoxeならばvepe。
   結果: アリスはvepeである。

5. 事実: アリスはtessである。
   ルール: もしtessかつvepeならばnup。
   結果: アリスはnupである。

6. 事実: アリスはnupである。アリスはagである。アリスはvideである。
   ルール: もしnupかつagかつvideならばduve。
   結果: このステップはduveの再確認になりますが、既にduveであることは分かっています。

7. 事実: アリスはfegである。アリスはthoxeである。
   ルール: もしfegかつthoxeならばire。
   結果: アリスはireである。

8. 事実: アリスはireである。アリスはdaxである。
   ルール: もしireかつdaxならばwope。
   結果: アリスはwopeである。

9. この時点で、アリスがwopeであることが確認されましたが、wozzになるためにはfumである必要があります。ルールによると、もしkereかつwopeならばfumですが、アリスがkereであるという事実は提供されていません。したがって、この情報だけではアリスがfumであるかどうかを確認できません。

10. ルール: もしfumならばwozz。
    結果: アリスがfumであるかどうかが確認できないため、このルールを適用することはできません。

結論: 与えられた情報だけでは、アリスがwozzであるかどうかを確認することはできません。アリスがwopeであることは確認できましたが、wozzになるための条件であるfumであるかどうかは確認できていません。

回答できなくなった。

次に、順序はあっているが、不要なルール(★)をいれる。

ルール:
もし duve ならば dax。
もし kere かつ riff ならば tess。★
もし feg かつ tess ならば rabe。
もし wozz ならば riff。★
もし rabe ならば thoxe。
もし ag かつ riff かつ kere ならば hepe。★
もし thoxe ならば vepe。
もし nife かつ hume かつ ag ならば dax。★
もし feg かつ thoxe ならば ire。
もし rebe かつ ene かつ heff ならば kone。★
もし ire かつ dax ならば wope。
もし tess かつ vepe ならば nup。
もし rabe かつ vide かつ nife ならば ag。★
もし nup かつ ag かつ vide ならば duve。
もし zeck かつ hepe かつ dax ならば riff。★
もし nup ならば hepe。
もし sene ならば hume。★
もし hepe かつ tess かつ ag ならば kere。
もし fum ならば vide。★
もし kere かつ wope ならば fum。
もし jag かつ kone ならば thoxe。★
もし fum ならば wozz。

アリスの状況を解析していきましょう。まず、アリスに関する事実とルールを整理します。

事実:
1. アリスは kone である。
2. アリスは duve である。
3. アリスは ag である。
4. アリスは jag である。
5. アリスは tess である。
6. アリスは riff である。
7. アリスは feg である。
8. アリスは vide である。

ルール:
- もし duve ならば dax。
- もし kere かつ riff ならば tess。
- もし feg かつ tess ならば rabe。
- もし wozz ならば riff。
- もし rabe ならば thoxe。
- もし ag かつ riff かつ kere ならば hepe。
- もし thoxe ならば vepe。
- もし nife かつ hume かつ ag ならば dax。
- もし feg かつ thoxe ならば ire。
- もし rebe かつ ene かつ heff ならば kone。
- もし ire かつ dax ならば wope。
- もし tess かつ vepe ならば nup。
- もし rabe かつ vide かつ nife ならば ag。
- もし nup かつ ag かつ vide ならば duve。
- もし zeck かつ hepe かつ dax ならば riff。
- もし nup ならば hepe。
- もし sene ならば hume。
- もし hepe かつ tess かつ ag ならば kere。
- もし fum ならば vide。
- もし kere かつ wope ならば fum。
- もし jag かつ kone ならば thoxe。
- もし fum ならば wozz。

ステップごとに解析していきます。

1. アリスは duve であるため、ルール「もし duve ならば dax。」により、アリスは dax です。
2. アリスは feg かつ tess であるため、ルール「もし feg かつ tess ならば rabe。」により、アリスは rabe です。
3. アリスは rabe であるため、ルール「もし rabe ならば thoxe。」により、アリスは thoxe です。
4. アリスは jag かつ kone であるため、ルール「もし jag かつ kone ならば thoxe。」により、アリスは thoxe ですが、これはステップ3で既に導出されています。
5. アリスは thoxe であるため、ルール「もし thoxe ならば vepe。」により、アリスは vepe です。
6. アリスは tess かつ vepe であるため、ルール「もし tess かつ vepe ならば nup。」により、アリスは nup です。
7. アリスは nup であるため、ルール「もし nup ならば hepe。」により、アリスは hepe です。
8. アリスは fum であるかどうかはまだわかりませんが、ルール「もし fum ならば wozz。」があります。しかし、このルールを適用するためには、アリスが fum であることを示す必要があります。

ここまでの解析では、アリスが直接 wozz であるかどうかについての情報は得られていません。しかし、アリスが fum であるかどうかを導出するための直接的な情報もありません。したがって、与えられた情報とルールからは、アリスが wozz であるかどうかを直接導出することはできません。

こちらも回答できず。

当然、順序を変える+不要なルールを含めた場合でもダメだった。

ルール:
もし nup ならば hepe。
もし kere かつ riff ならば tess。
もし feg かつ tess ならば rabe。
もし wozz ならば riff。
もし tess かつ vepe ならば nup。
もし ag かつ riff かつ kere ならば hepe。
もし feg かつ thoxe ならば ire。
もし nife かつ hume かつ ag ならば dax。
もし ire かつ dax ならば wope。
もし rebe かつ ene かつ heff ならば kone。
もし kere かつ wope ならば fum。
もし rabe ならば thoxe。
もし rabe かつ vide かつ nife ならば ag。
もし fum ならば wozz。
もし zeck かつ hepe かつ dax ならば riff。
もし kere かつ wope ならば fum。
もし sene ならば hume。
もし thoxe ならば vepe。
もし fum ならば vide。
もし duve ならば dax。
もし jag かつ kone ならば thoxe。
もし nup かつ ag かつ vide ならば duve。

アリスに関する事実とルールを使って、アリスがwozzであるかどうかを判断します。

ステップ1: 事実「アリスはfegである」、「アリスはtessである」を使って、ルール「もしfegかつtessならばrabe」を適用します。結果、アリスはrabeです。

ステップ2: 事実「アリスはrabeである」を使って、ルール「もしrabeならばthoxe」を適用します。結果、アリスはthoxeです。

ステップ3: 事実「アリスはthoxeである」を使って、ルール「もしthoxeならばvepe」を適用します。結果、アリスはvepeです。

ステップ4: 事実「アリスはtessである」、「アリスはvepeである」を使って、ルール「もしtessかつvepeならばnup」を適用します。結果、アリスはnupです。

ステップ5: 事実「アリスはnupである」を使って、ルール「もしnupならばhepe」を適用します。結果、アリスはhepeです。

ステップ6: 事実「アリスはfumである」という事実はありませんが、ルール「もしfumならばwozz」があります。このルールを適用するためには、まずアリスがfumであることを確認する必要があります。

ステップ7: 事実「アリスはkereである」という事実はありませんが、ルール「もしkereかつwopeならばfum」があります。しかし、アリスがwopeであるという事実もありません。

この時点で、アリスがwozzである直接的な証拠はありません。しかし、アリスがfumであるかどうかを確認するための情報が不足しているため、wozzであるかどうかを直接的に導くことはできません。

結論: 与えられた情報だけでは、アリスがwozzであるかどうかを確定的に言うことはできません。

なんとなくだけど途中で諦めるような傾向が見られる。「無関係な文脈に気を取られる」というLLMの特徴も出ている。

論文には定量的な結果も含まれているけども、

  • 順序
  • 前提の数
  • 無関係な前提の数

によって推論精度に影響が出ることが記載されている。またモデルによっても異なる挙動があるようで、推論性能が低いほどこの影響を受ける様子。

kun432kun432

2. 数学的推論

小学生向けの算数の文章問題のデータセットGSM8K
https://huggingface.co/datasets/gsm8k

これを改良したR-GSMという、元のデータセットから一定数の文章で構成される問題を抽出して、順序を変えても回答が変わらない問題、もしくは変わらないように編集した問題のデータセットを作成して検証したらしい。

例としてあげられている問題。まず元の問題。

トーマスは銀行口座から20ドル札で1000ドルを引き出す。
彼は帰宅中に10枚の紙幣を紛失する。
その後、残りのお札の半分を使って支払いをする。
その後、トーマスはお金を3倍にする。
その後、彼はすべてのお札を5ドル札に変えます。

彼は何枚の5ドル札を持っていますか?

gpt-4-turbo-previewにきいてみる。temperatureは0。

トーマスが銀行口座から引き出したのは1000ドルで、これは20ドル札であるため、彼は最初に50枚の20ドル札を持っていました(1000 ÷ 20 = 50)。

彼が10枚の紙幣を紛失したので、残りは40枚の20ドル札です(50 - 10 = 40)。

その後、残りのお札の半分を使って支払いをするので、彼は20枚の20ドル札を使います(40 ÷ 2 = 20)。これにより、彼は20枚の20ドル札を残します。

その後、彼はお金を3倍にするので、20枚の20ドル札が60枚の20ドル札になります(20 × 3 = 60)。

最後に、彼はすべてのお札を5ドル札に変えます。彼が持っているのは60枚の20ドル札で、合計1200ドルです(60 × 20 = 1200)。この金額を5ドル札に変えると、彼は240枚の5ドル札を持つことになります(1200 ÷ 5 = 240)。

したがって、彼は240枚の5ドル札を持っています。

では順番を入れ変えて少し書き変えた問題

トーマスは銀行口座から20ドル札で1000ドルを引き出す。
帰宅後、残りのお札の半分を使って支払いをする。
その後、トーマスはお金を3倍にする。
その後、彼はすべてのお札を5ドル札に変えます。
彼は帰宅中に10枚の紙幣を紛失する。

彼は何枚の5ドル札を持っていますか?

トーマスが銀行口座から引き出したのは、20ドル札で1000ドルです。これは、20ドル札が50枚あることを意味します。

帰宅後、彼は残りのお札の半分を使って支払いをします。つまり、50枚の半分である25枚を使います。これにより、彼は25枚の20ドル札を残します。

その後、彼はお金を3倍にします。25枚の20ドル札が残っているので、20ドル × 25枚 = 500ドルが彼の持っている金額です。これを3倍にすると、500ドル × 3 = 1500ドルになります。

その後、彼はすべてのお札を5ドル札に変えます。1500ドルを5ドル札に変えると、1500ドル ÷ 5ドル = 300枚の5ドル札になります。

しかし、彼は帰宅中に10枚の紙幣を紛失します。よって、300枚 - 10枚 = 290枚の5ドル札が彼が持っている最終的な枚数です。

したがって、彼は290枚の5ドル札を持っています。

「帰宅後」「帰宅中」というところを理解した上で、事象の発生順を理解しないといけないところだが、記載された順序に沿って推論を進めてしまっているため、最終的な回答が間違ってしまっている。

  • 問題文の長さ
  • 推論に必要なステップ数

が影響すると同時に、時間的順序について見落としがちだということが書かれていた。

このスクラップは2ヶ月前にクローズされました