Lorem Ipsum ジェネレーターラボ

決定論的なlorem生成、情報理論の指標(エントロピー/温度)、そしてマルコフ連鎖のコンテキストループが現代の大規模言語モデル(LLM)の直接の祖先である仕組みを探る。

インタラクティブシミュレーションを読み込んでいます...

エントロピーのつまみは LLM の temperature そのもの

マルコフ連鎖は現代の大規模言語モデル(LLM)の直接の数学的祖先です。両者とも同じ自己回帰型の次トークン予測ループで動作します。生成器は直前のN個の単語(コンテキストウィンドウ)を見て、確率分布から次の単語を選びます。マルコフ連鎖が小さなコーパス内で完全一致するフレーズを単純に検索するのに対し、LLMは数十億のパラメータ(注意層)を使ってコンテキストを評価し、確率を計算します。さらに、ここで目標エントロピーを調整することは、LLM APIの温度(Temperature)パラメータに直接対応します。エントロピーが高いほど創造的で多様なテキスト(高温度)になり、エントロピーが低いほど反復的で予測可能なテキスト(低温度)になります。

無意味な文章が優れたモックアップを生む理由

ダミーテキストは、言葉の実際の意味に気を取られることなく、余白・文字サイズ・改行といったレイアウトを評価するために存在します。本物の文章を入れると、レビュー担当者はデザインが固まる前から文面を書き直したくなってしまいます。このラボはさらに一歩進み、エントロピーとジップの法則の指標によって、ダミーテキストが実際の言語の単語頻度をどれだけ再現しているかを確認できます。おかげで段落は、最終的な本文と同じように折り返され、区切られます。

ロレム・イプサムは崩れたキケロ

「Lorem ipsum」は作り出された無意味な文字列ではなく、紀元前45年に書かれたキケロの倫理学書De finibus bonorum et malorumから取られ、かき混ぜられたラテン語です。しかも単語の途中から始まっています。Loremはdolorem(「苦痛」)の最初の音節を切り落とした残りなのです。つまりウェブの標準ダミーテキストは、快楽と苦痛をめぐる2000年前の考察が、初期の印刷業者によって活字見本へと崩されたものです。マルコフモードでは、彼らがかつて手作業でかき混ぜたものを、あなたが改めてかき混ぜ直せます。

全プロセスの詳細解説

  1. 180語における0.453のターゲット不一致ギャップ 7 ステップ

    クラシックモード、180語、シード spock、目標エントロピー 6.2。パネルは語あたり 5.747 ビットを測定し、目標との乖離 0.453 を報告している。 生成器がその差をどこまで埋められるか、そしてその差のうち、100万語ではなく180語をカウントしたことのみに起因する割合はどれくらいかを算出せよ。

    1. クラシックモードは、元コーパスの相異なる単語から各単語を独立かつ一様に選択する。そのコーパスの長さは69語で、そのうち63語が異なっているため、各抽出の確率は63分の1となり、トレースには1.6%と表示される。

      pi=163=0.0159(i=1,…,63),N=180p_i=\tfrac{1}{63}=0.0159\quad(i=1,\dots,63),\qquad N=180
    2. 固定されたアルファベットにおいて一様抽出は最も不確実性の高い抽出であるため、log2 63は平均ではなく上限となる。6.2という目標値はその上にある。この乖離はコーパスに関する事実であり、どのようなシード、再試行、単語数であっても変更することはできない。

      Hmax⁡=log⁡263=5.9773⟹6.2−5.9773=0.2227 bitsH_{\max}=\log_2 63=5.9773\quad\Longrightarrow\quad 6.2-5.9773=0.2227\ \mathrm{bits}
    3. 生成器が実際に表示した文章を集計する:12語が1回、13語が2回、16語が3回、10語が4回、7語が5回、2語が6回、そして1語が7回出現する。2つの合計(61の異なる単語、180個のトークン)が集計の完全性を確認し、その最初の数値がパネルの2番目の数値となる。

      (n1,…,n7)=(12,13,16,10,7,2,1):∑mnm=61, ∑mm nm=180(n_1,\dots,n_7)=(12,13,16,10,7,2,1):\quad\textstyle\sum_m n_m=61,\ \sum_m m\,n_m=180
    4. 測定されたエントロピーはプラグイン推定量である。すなわち、観測された度数を確率であるかのように扱う。出現頻度ごとに単語をグループ化することで、3回出現した2つの単語の寄与が同一になるため、61項の和が7項の和に縮小される。

      H^=log⁡2180−1180∑mnm mlog⁡2m\hat H=\log_2 180-\tfrac{1}{180}\sum_m n_m\,m\log_2 m
    5. 1 × log2 1 = 0 であるため、1回しか出現しなかった単語はまったく寄与せず、6つの項のみが残る。

      1180(26+76.08+80+81.27+31.02+19.65)=314.02180=1.7446\tfrac{1}{180}\left(26+76.08+80+81.27+31.02+19.65\right)=\tfrac{314.02}{180}=1.7446
    6. 差分を計算すると、表示された最後の桁までパネルの数値と一致する。

      H^=7.4919−1.7446=5.7473 bits/word\hat H=7.4919-1.7446=5.7473\ \mathrm{bits/word}
    7. 残りの 0.230 ビットは測定値と上限の間に存在し、これはカウントの副産物(アーティファクト)である。63語のうち2語は一度も出現せず、プラグイン推定量は不揃いなヒストグラムをあたかも真実であるかのように読み取るため、毎回エントロピーを過小評価する。ミラー・マドウ補正は、実際に観測された単語の種類の数を用いて、これを1次の範囲で補正する。

      H^MM=H^+K^−12Nln⁡2=5.7473+60249.5=5.988\hat H_{\mathrm{MM}}=\hat H+\frac{\hat K-1}{2N\ln 2}=5.7473+\frac{60}{249.5}=5.988

    解答

    語あたり 5.747 ビットであり、表示された 0.453 は無関係な2つの要素の合計である。 そのうち 0.223 は壁(限界)である。コーパスは 63 語を提供し、log2 63 = 5.9773 であり、6.2 に達するには 26.2 = 73.5、すなわち少なくとも 74 個の異なる単語の語彙が必要となる。残りの 0.230 はテキストの性質ではなくサンプルサイズに起因するものであり、補正によって回収される。真の上限 5.9773 に対して 5.988 となり、0.010 超過する。その超過の符号でさえ導出可能である。生成器は 6 個の候補文章を作成し、目標に最も近い測定値のものを保持する。すべての候補が 6.2 に達しないため、最も近いものを保持することは最も一様なものを保持することを意味する。バイアス項は 1/N として減少する。1,800 語では 0.025 ビットとなるため、より長い文章にすることで乖離の半分が自然に解消され、残りの半分はそのまま残る。

    0.453=0.223⏟6.2−log⁡263+0.230⏟log⁡263−H^0.453=\underbrace{0.223}_{6.2-\log_2 63}+\underbrace{0.230}_{\log_2 63-\hat H}
参考文献 (2)