思考の連鎖がアップグレード、CoAT!

4,582 文字

Chain of Thoughts Upgraded, CoAT!
Chain-of-Associated-Thoughts (CoAT) framework, which introduces an innovative synergy between the Monte Carlo Tree Searc...

検索と大規模言語モデルを効果的に組み合わせることができるでしょうか。大規模言語モデルには知識の部分がありますが、多くの問題を解決するのに十分ではありません。そのため思考モデルが登場しましたが、MCTSのような手法でさらに一歩進めることはできないでしょうか。それが今日議論する論文のテーマです。CoAT(Chain of Associated Thoughts)と呼ばれる、LLMが検索を使用できるようにデザインされたシンプルなフレームワークについてです。
正直に言うと、この論文は完成度が高いとは言えません。ベンチマークもなく、多くの要素が欠けています。なぜこの論文が公開されたのか分かりませんが、議論するには非常に興味深いアイデアだと思いました。論文のタイトルは「CoAT:大規模言語モデルの推論を強化するための Chain of Associated Thoughts フレームワーク」です。
この論文では、スロー思考という概念が大規模言語モデルにどのように導入されたかについて詳しく説明しています。システム1とシステム2という2種類の脳システムがあります。これは、ノーベル賞(心理学か経済学だったと思います)を受賞したダニエル・カーネマンとアモス・トヴェルスキーによる有名な著書『ファスト&スロー』から多くの人が借用している概念です。彼らは行動経済学で非常に有名です。
この考え方では、非常に速い判断を下すシステム1の脳と、非常にゆっくりと慎重な判断を下すシステム2の脳があるとされています。通常のLLMの文脈内学習はシステム1、つまり速い思考に相当します。では、LLMにスロー思考をさせるにはどうすればよいのでしょうか。
同じ概念・哲学・原理に基づいて、OpenAI のo1が登場し、モデルにゆっくりと考えさせ、内部での思考の連鎖、モノローグによる議論を行わせることで、多くのベンチマークで優れた成績を収めました。DeepSeek R1でも同様の現象が見られ、何かを言った後に「いや、これは違う、もう一度考え直そう」と戻って考え直すことがあります。
この論文が試みているのは、思考の連鎖による推論、内部での推論に関連付けられたメモリを持たせることができないかということです。これがこの論文の目的であり、MCTSすなわちモンテカルロ木探索と呼ばれるものを使用して実現しようとしています。
モンテカルロ木探索を知らない人のために簡単に説明すると、探索を行うけれども、その探索が異なるノード、異なるパスに進んでいくというものです。これについては後ほどこの動画で見ていきます。
彼らは実験を行い、このフレームワークがこれらのモデルの複雑な問題解決に役立つことを発見したと述べています。残念ながら、この論文を何度読んでも、ベンチマークを見つけることができませんでした。幻覚を見ているのかと思いましたが、何が書かれているのか見つけられませんでした。定量的な数字は見当たりませんが、定性的なスクリーンショットがあり、それについてもまもなく見ていきます。
このシステム全体はどのように機能するのでしょうか。人間からインスピレーションを得て、スロー思考を模倣する方法で動作します。モデルは基本的に異なる推論パスを探索し、時間をかけて異なる推論パスを探索し、どのような関連知識があるかを思い出そうとし、最終的に答えを洗練させます。
これは全て、連想記憶または関連記憶と呼ばれる非常に重要な概念から来ています。通常、大規模言語モデルに質問を投げかけると、それがこのCoATセットアップに入り、そこで関連記憶を持つことになります。
この関連記憶とは何でしょうか。モデルは基本的に、人間がアイデアを結びつけるように、推論のプロセスの中で新しい関連情報を動的に引き出します。例えば、誰かが「明日は雨が降るだろうか」と尋ねた場合、私は一般的に「昨日は雨が降った」「今日は雨が降っていない」などと考え始め、「だから明日は雨が降らないかもしれない」というように、多くの情報を無作為に、動的に引き出し、最終的に誰かの質問に対する結論を出すでしょう。
同じように、LLMは知識や外部ソースから何かを引き出すことができます。これを聞いて思い浮かぶことが2つあるかもしれません。1つは検索拡張生成(RAG)、もう1つは多くの人が話題にしている知識拡張生成(KAG)です。私はほとんど話していませんが、CAGと呼ばれるもので、同じような領域にあります。
マルチバース概念でいえば、同じユニバースにあるか、パラレルユニバースと考えることができます。外部知識があり、それを関連付けようとする、それを関連記憶と呼び、これらの記憶がモデルを異なる推論の方向に導くのを助けようとします。
単純な例を挙げると、AI倫理に関する質問があった場合、モデルは突然、関連するトピックに関する全ての規制フレームワークや最近のニュースを思い出し始めるかもしれません。
ここで特に注目すべきは、異なる方向に流れる多くのフローチャートが見られることです。これがまさにMCTS(モンテカルロ木探索)が登場する部分です。
ここで何が起こるかというと、質問が投げかけられると、この場合MCTSにインスパイアされたアルゴリズムのような意思決定アルゴリズムが、モデルが複数の推論パスを作成するのを助けます。複数の推論パスがあり、ルートがあり、1-1-1-2のように異なるパスがあることが分かります。
そのパスの中には、軌跡ノード、候補ノード、軌跡パス、バックプロパゲーションと呼ばれるものがあります。MCTSには重要なステップがいくつかあります。
MCTSについて簡単に見ていくと、5つの重要なステップがあります:

選択:有望なパスを選択すること。ここで複数のパスが見られますが、最初のステップは、移動またはトラバースできる有望なパスを選択することです。
展開:新しいアイデアを生成して展開すること。複数のパスを作成し、複数のアイデアを生成する必要があります。
関連知識との関連付け:関連する知識と関連付けること。
各ステップの品質評価:あるパスに進んだ後、そのパスの品質を評価します。失敗したら、次のパス、その次のパスと評価していき、各パスで興味深いことを発見します。
モデルの信頼度の更新:最後に戻ってきて、そのパスに対するモデルの信頼度を更新します。これはニューラルネットワークでバックプロパゲーションと呼ばれるものと非常によく似ており、MCTSでも同様に行われます。

つまり、選択、展開、関連付け、評価、シミュレーション、そして最後にバックプロパゲートして信頼度を更新し、更新されたルートまたは更新されたフローチャートや探索木を利用できるようにします。
このフレームワークは基本的に2つの個別の概念のバランスを取ります:

探索:ここで新しいパスを探索すること。新しいパスが分岐していくことができます。
探索と活用のバランス:活用は既存のパスをできるだけ深く使用することであり、探索は新しいパスを作成して探索することです。

基本的に、これらの2つのトレードオフを行い、新しいパスと既存のパスで重要な詳細を見逃さないようにし、また全く新しいアイデアをもたらす可能性のある新しいパスの探索も見逃さないようにします。
全体として、このフレームワークが機能すべき理由、より優れているはずの理由を理解すると:

より良い精度を提供します。より多くのステップがあるため、論文によると技術的にエラーを減らすはずです。
新しい解決策を探索する多様性を可能にするはずです。例えば、昨日o1かDeepSeekと会話していて、何かを作成してもらい、それを完全に忘れて全く異なる接線方向のパスに進みたいと思った時、2つの方法があります:

一つは新しいチャットを開始すること。これはサンプリングモデルなので、確率分布からサンプリングして結果を出すため、質問を再度すれば自然に起こります。
もう一つは、完全に異なるパスに進むように指示することです。これはモンテカルロ木探索が異なる解決策を探索し、LLMから通常得られる反復的な狭い答えを避けようとするため、自然に起こります。

適応的である可能性があります。LLMで直面している最大の問題の一つは、良好なリアルタイム情報を持っていないことですが、このアプローチは関連記憶として既存の知識ワークフローにそれをもたらすことができ、最終的にLLMの問題解決を支援できる可能性があります。

この論文によると、彼らは異なるデータセットでこのフレームワークを試しています。ここで言及されている2つのデータセットは、まずLangchainを使用し、HotpotとWiki-multihotpotの2つのデータセットを使用したとのことです。残念ながら、議論できるベンチマークはありません。唯一利用可能なのは定性的な出力です。
例えば、ここで質問を見てみましょう:「現代の国際競争におけるAIの役割をどのように見るべきか、どの国がこの分野で主導的な優位性を持っているか」という質問があります。
すると、関連記憶を取得し、異なる種類の関連記憶があり、全てが異なるノード、異なる検索に進み、最終的に全てを一緒にまとめます。ノード1は失敗、ノード2はここ、ノード3は失敗、ノード4はここに進み、ノード5というように、全てのものに進みます。各ノードの効果がどの程度あるかのスコアを持ち、最終的な出力をまとめます。
ここでモデルがどれだけ良いかを理解できる一つの点は、彼らが提示した定性的なスクリーンショットです。Qwen 2.5 32Bパラメータモデルはこのような単純な回答を提供しました。一方、ChatGPTアプリ(使用されたモデルは不明)はこのような回答を提供しました。そして、CoAT(Chain of Associated Thoughts)を備えたQwen 2.5 32Bパラメータモデルは、この場合、はるかに良い応答を提供しました。
論文によると、これはChain of Associated Thoughtsのおかげでのみ可能だったとのことです。しかし、Qwenモデルがすでにそのような豊富な訓練情報を持っていて、このフレームワークがそれをモデルから抽出しようとしているだけかもしれません。これも可能性としてはあります。
いずれにせよ、これにはさらなる実験が必要ですが、私が興味深く、魅力的だと感じたのは、モデル内部で行われている思考の連鎖である既存の推論モデルを取り、バックトラックし、問題を解決し、戻ってきて答えを出し、MCTSのようなフレームワークを使用してこの更新を非常によく行うことができるのではないかというアイデア全体です。
CoATを持ち、推論と思考を行い、シミュレーションを行い、スコアを修正し、バックプロパゲーションを行い、最終的な応答を返すという全体的なことには、さらなる探求が必要だと思います。この方向でさらに多くの論文が出てくることを期待しています。
検索とLLMの知識を組み合わせたようなこの概念についてどう思うか、ぜひ教えてください。また別の動画でお会いしましょう。ハピーRAM!

コメント

タイトルとURLをコピーしました