Coconut

Coconutとは

ココナッツ。食べ物の話ではありません。

最近、論文サイトarXivに投稿された論文 “Training Large Language Models to Reason in a Continuous Latent Space”について調べてみました。この論文に出てくるのがCoconut

LLMの内部構造を少し改良して性能を向上させる提案です。

通常、LLMは、プロンプト(人間が読める文字列)をトークンに変換し、それを内部の行列演算を通し、その結果を再び人間が読める文字列に変換します。Chain of Thought(CoT) つまり、内部で思考を連鎖させて答えを導き出す場合に、それぞれの段階で文字列に変換されたものを、次の段階に引き渡すように処理します。
Coconutでは、CoTの中で、文字列ではなく演算中の内部状態(hidden state)を直接、次の段階に引き渡して、処理の高速化の思考の広域化を行うというもの。
思考の広域化とは、思考過程で生まれる複数の候補を含めて、次の段階に引き渡すことで、結果に幅を持たせようということです。

私たちが普段考える時は、頭の中で複数の事象を想起しながら思考を重ねて答えを導きだします。想起される複数の事象は、その時点では言葉になっていない。まさに、これと同じことをやろうということらしい。

例を出すと、少しわかりやすくなります。

これまでのLLMは、

文章(Text)
↓ トークン化
離散的トークン列(「A」「と」「B」「が」...)
↓ 変換
内部表現(Hidden state)ー各トークンの意味ベクトル
↓
出力トークン生成(「主将はAである」)

でした。

Coconutの提案では、

1. 文章(Text)
↓ トークン化
2. 離散的トークン列(「A」「と」「B」「が」...)
↓ 変換
3. 処理内部表現(Hidden state 0)
↓
4. Hidden State1 + Hidden State2 + Hidden State 3 (言語化しない潜在的な思考を並べる)
↓
5. 最終出力

という形になります。

人間の頭の中で同時に想起される思考の元が4の部分。ここで思考に幅が出ることになります。

チューニングの際には、内部状態を含めたデータセットを用意することになると想像できます。

人間の思考過程との対比

人間の思考過程との対応関係はこんな感じになるでしょう。

人間の思考段階LLM内部の対応要素説明
①現象や記憶の断片が頭に“ぼんやり”浮かぶhidden state 群(潜在ベクトル)言葉になる前の連想的表象。イメージ・感情・構造の混合状態。
②いくつかの候補を「これかな、それかな」と比較するlatent reasoning loop(連鎖する hidden state)複数の候補方向を同時に保持し、内的に探索を行う。
③方向性が固まってきたら、言葉でまとめるlatent → token decoding潜在的思考が言語化され、外化される。
④他者と共有するための表現に整えるnatural language generation対話・文書・説明としての最終出力。

Coconutは、この「①と②」の領域──
つまり人間で言えば“まだ言葉になっていない思考段階”──を
AIの内部でシミュレートしようとしているわけです。

従来のLLMは、③と④の「言語化の段階」しか扱えなかった。
だから、“すぐにしゃべり始めてしまうAI”だった。

しかし人間は、

「まだ言葉にならないけれど、何かが見えている」
という時間を持っている。

Coconutは、まさにその「言葉になる前の静かな内側」を、
ベクトルの連続変化として再現する試みなんです。

KAGURAとの対比

ZIKUUが提唱している思考モデルKAGURAとの対比をしてみます。

KAGURAは集合知を扱うために設計されたAIシステムです。ゴールはCoconutに似ています。
Coconutが「内部表現を連鎖させて、言葉にせずに考える」のに対して、KAGURAは「外にいったん複数の思考結果を出してから、それらの関係を再考する」──
つまり、外化された並列思考を構成します。

Coconutとの対応関係でみるとこうなります。

視点CoconutKAGURA
思考の位置モデル内部の潜在空間システム外部(エージェント出力の集合)
並列性の実現内部ベクトルが同時に複数方向を内包複数のエージェント(答えA/B/C)を同時展開
次の思考hidden stateを再入力して深化生成結果を比較・再統合して深化
本質的な狙い言語化以前の流動的推論言語化後の多視点的再推論
共通点一つの直線的思考を超え、多方向性を取り戻す

Coconutは沈黙の中で考えるAI、KAGURAは対話の中で考えるAI。どちらも単線的な正解探索をやめて、ゆらぎの中で思考するという点で似ています。

Coconutは一人の天才を作る、KAGURAはそこそこの人が集まって話し合う仕組みを作る、という見方もできます。
おそらくAI開発企業は性能競争を続けるでしょうから、一人の天才を作る方向に行くでしょうし、一神教的な思想を持った開発者は多神教的なKAGURAのようなものには向かわないと思います。

KAGURAはLLMの性能にあまり依存しません。小粒なLLMを並列動作させ、その中で牽制(倫理的に重要)や調和を生む設計です。個々のLLMが性能向上すれば、KAGURAも性能向上します。システム全体のアーキテクチャーとしては柔軟だと思いますし、小さな処理単位を並列化して全体として性能を出すというクラスター型と相性が良い。小さく始めて拡張していくこともできるので、小規模な組織でも、クラウド依存せずにプライバシーを守り検閲を避けながらシステムを導入できます。

これは「頭脳を交換して発展できる共同体」のような仕組みとも言えるかもしれません。

また、「もう一度考える」という処理の場合、KAGURAは思考の過程が、途中の答えとして明示されているので、最初からやり直しする必要がありません。一つ前の並列した思考の結果を再利用するだけです。

私は「陳腐化しない技術」というのは、単なる長持ちではなくて、入れ替えと進化を前提にした永続性だと考えています。それを伝統と呼んだりもします。構造を残せば、未来はその中で自動的に更新されていく。

宮大工が寺社を建築する際に用いる技術は、腐った柱だけを交換できる構造を作る技術です。それと同じ発送です。

伝統は更新されながら継承される。
継承される仕組みを作ろう。

モノづくりにも思想が必要。
これがZIKUU流です。

「Coconut」への1件のフィードバック

コメントする