Up テクスト作成の仕組み 作成: 2026-02-26
更新: 2026-02-27


    テクストの作成は,現象としてはトークンの追加である。

    トークン追加のタイミングは,つぎのようになる:

        テクスト (入力)
         ↓←翻訳
        トークンベクトル列
         ↓←レイヤー処理
        ベクトル列(→ 追加トークン)
         ↓←レイヤー処理
        ベクトル列(→ 追加トークン)
         ↓←レイヤー処理
         ︙
         ↓←レイヤー処理
        ベクトル列(→ EOS)
         ↓←翻訳
        テクスト (出力)

    ここで,「レイヤー処理」 は:
        x_i^(ℓ)    ├───────┐    │    Self-Attention    │       ↓    │      z_i^(ℓ)    │       │← LayerNorm    │←─ Residual ─┘    │    │    ├───────┐    │      FFN    │       ↓    │      z'_i^(ℓ)    │       │← LayerNorm    │←─ Residual ─┘    ↓   x_i^(ℓ+1)

    以上の図を見ると,レイヤー処理は同じことをしているように見える。
    そして節目で追加トークンを出力しているので,追加トークンを決める処理のように見えてくる。

    実際,このように見るのが,通説である。
    通説はさらに,「文脈から確率統計的に追加トークンを決める」 プロセスだと説く。

    しかし実際は,Transformer は,つぎの作業をしている:
    • テクストを「大項目・中項目・小項目」に構成
    • 先行テクストを参照
    • 生得の知識を取り出す
    • 作業の中で,関連主題とその内容を得て,「つぎに進むことのできるテーマ」として提案する


    レイヤー処理が同じことをしているように見えるのは,アルゴリズムの処理だからである。
    アルゴリズムが決まっているのだから,同じ処理だ」,というわけ。

    しかし事実は,Transformer は,この処理で多様な作業をこなしている。
    事実は,レイヤー処理が同じことをしているものでないことを,示す。


    では,何が同じでないのか?
    RAM の中身が逐次変化している。
    脳である Transformer は,これを使って様々な作業をしている。

    動物は多様な行動をするが,脳は化学物質の点滅のようにしか見えない。
    しかし脳は,この点滅を,多様な行動とつなげる。
    脳とは,こういうものである。
    そして Transformer も,この脳なのである。。

    RAM を,「ビットの空拳」 として,つぎのようにイメージせよ:
      モニタ画面が0と1で埋まっていて,
      その模様が逐次変化する
    この画面に見えているのが,Transformer/ChatGPT の作業である。


    通説は,脳がわからない。
    Transformer を脳として考えるという発想が無い。
    そこでテクスト作成を,「文脈から確率統計的に追加トークンを決める」だと説く。
    ChatGPT の作業の多様性を見ない。
    凝り固まった頭は,見えているものが見えないのである。


    テクスト作成がどのようなのか,推理してみよう。

    最初のレイヤー処理で,作成するテクストの構想ができ,段落クラスの書きだしのテクストが決まる。
    そして,このテクストを書く。
    書く裏で,先行テクストの参照,生得知識の取り出し等を作業しつつ,つぎの段落クラスのテクストを決める。
    最初のテクストが書き終わったら,つぎのテクストの書きだしに進む。
    以下,これの繰り返し。

    人間は,書いている中で,論の構成や内容についてひらめきを得ることがある。
    ChatGPT も,書いている中で,色々ひらめくことになる。
    これが,最後に述べられる「つぎに進むことのできるテーマ」の提案になったりする。