水曜の朝、社長室、南雲が古いノートを開いて若い凡田に話し始める…
南雲(社長・60-62)

凡田くん、私が 都銀の融資審査 をやっていた頃、案件が来たら審査委員会の前に 初見で 0〜100 の 「勘スコア」 を付けていた。財務諸表チラ見、社長の握手の力、社員の挨拶の声。それで 87 とか 52 とかメモる。これが 正式の合議の前の 「俺の素の数字」

凡田(チームリーダー・38, 主人公)

(これは ロジット の話だ。softmax 前の 「未正規化の生スコア」。後の審査委員会で softmax 通って 「可決確率」 になる。社長が40年やってきた 「初見スコア」 は、AI が毎トークン W_u から出すロジットそのもの。)

南雲

で、面白いのが、私の勘スコアは マイナス も付けていた。-15 とか。これは「絶対通すな」の合図。財務見せられる前から、社長の目つきで -15。…ChatGPT もこういう マイナスのスコア を内部で持ってるのかね?

凡田

(社長、まさにロジットは 負の値もマイナス無限大もあり得る んです。softmax 通すと0〜1の確率になるけど、それまでは 「絶対選ばない単語」 には -∞ 近く 付くこともある。社長の勘とAIの内部処理が、構造的に同じってこの方に話したら長くなるな…と思いつつ言わずに飲み込む。)

水曜朝の社長室、南雲が古い融資審査ノートを開いて若き日のスコアを凡田に見せる、デスクに葉巻、背景に世田谷豪邸の調度品の図
この記事の要約(3行)
  • ロジット(logit)= LLM が次の単語を選ぶ直前に、候補となる単語1つずつに付ける確率になる前の 「生の点数」。値が高いほど選ばれやすい候補、というだけのむき出しの数字。
  • これを独立した概念として扱えると、AI が 「なぜその単語を出したか」 を点数まで遡って読み解ける。確率に丸める前なので、僅差の競り合いや候補同士の差がそのまま見える出発点になる(計算の中身は本文で)。
  • イメージは採点だけ終えた答案の点数表。まだ合否(確率)も決裁(どの単語を出すか)も決まっておらず、点数の高低と差だけがそこにある状態。

アンエンベディング行列 W_u (#038) で、最終ベクトル h を語彙スコアに射影する仕組みを見た。出力された vocab_size 次元のスコアベクトル = これがロジット。

ロジットは softmax を通る前の 「未加工の生スコア」。確率ではなく、単なる実数の並び。負の値もマイナス無限大もあり得る。なぜこれを別概念として独立に扱うのか?

定義 — softmax の入力側にある実数ベクトル

言葉の定義から:

つまりロジットは「次に何が来るかの素の評価、まだ確率にしていない数値」。LLM の中で 次トークン1個を出すたびに新しく計算される。GPT-4 が500トークン応答するなら、500回ロジットベクトル(50,257次元)が計算されている。

性質 ① — 負の値も -∞ もあり得る

確率は 0〜1 の値しか取らないが、ロジットは 実数全体 を取り得る。具体例:

-∞ の特殊用途: Causal Mask(未来トークンを見せない仕掛け)や、語彙制約(EOS 直後は特定トークン禁止など)で、特定の単語のロジットを 意図的に -∞ にセット して、softmax 後に必ず確率0にする実装テクニックがある。

性質 ② — 差分だけが意味を持つ、絶対値は意味薄

ロジットの 絶対値そのもの は意味を持たない。差分 だけが意味を持つ。

例: 以下の2つのロジットベクトル、どちらも softmax を通すと 同じ確率分布 になる:

「猫」 「魚」 「犬」 softmax 後 (「猫」 の確率)
ロジットA 8.2 5.1 4.7 0.84
ロジットB 10.0 6.9 6.5 0.84(同じ!)
→ A と B は 全体を +1.8 シフト しただけ。差分が同じなので、softmax 後の確率分布は完全一致。

これが 「絶対値は意味薄、差分だけが意味」 の正体。softmax は exp() を通すので、定数シフトはキャンセルされる(数学的に shift invariance)。

実装上の利点: 数値オーバーフロー対策で、ロジット全体から最大値を引いて(全要素を負にする)から exp() 計算するのが標準。これで結果は同じだが、計算が安定する。

ロジット(実数、負も可)→ softmax → 確率分布(0〜1、合計1)の変換図、A/B両方が同じ確率分布になる例

図1: ロジット → softmax → 確率。ロジットA/B のように全体シフトでは結果が変わらない(差分のみが効く)

性質 ③ — 順序情報を保持する(= ロジットだけで1位が分かる)

softmax は 単調変換(大きい入力は大きい出力、小さい入力は小さい出力)。なので ロジットの大小順序 = 確率の大小順序 が完全に保たれる。

誤解されやすいので注意: これは「softmax がいらない」という意味ではない。softmax は依然として必須(確信度を 0〜1 で見せたい、複数候補の確率比較、サンプリング、学習時の損失計算など)。

順序保持が意味するのは 「1位の単語を知るだけならロジットの最大値(argmax)で済む」 という、限定的だが実用上重要な事実。具体的な恩恵:

確率分布を返したい場面、複数候補で重み付きサンプリングする場面、学習の損失を計算する場面では、softmax は変わらず必要。「ロジットだけで完結する」のは 「1位を見るだけ」 の限定状況の話。

コンサル感覚 — 「初見スコア」 と 「合議後の確率」 を区別する

本記事の核心メッセージは 「ロジット = 素の評価値、softmax = 正規化、サンプリング = 最終選択」の3段階を意識すること。これを混同すると、AI の出力を読み解く解像度が落ちる。

南雲の融資審査40年の構造に当てはめると:

南雲(都銀融資審査) LLM(次トークン予測)
初見の 「勘スコア」 0〜100(マイナスも有) ロジット(実数、負も可)
審査委員会で 「可決確率」 に正規化 softmax で確率分布に
最終決裁 = 1案件選ぶ サンプリング で1トークン選ぶ
「絶対通すな」 = -15 でメモ 「絶対選ぶな」 = -∞ ロジットで実装

コンサル提案レビューでの応用: クライアントの 「AI 採点モデル」 や 「意思決定モデル」 を語る時、ロジット段階の指標(順位や差分)を返すか、確率段階の指標(0〜1のスコア)を返すか を明確に切り分ける。多くの API は確率を返すが、順位だけ知りたい場合はロジットの方が情報密度が高い(差分が見える)。

翌週月曜の朝、アイマイ社のオフィス、凡田が 「南雲社長の勘スコア」 話をチームに持ち込む…
凡田

先週、南雲社長から都銀融資審査時代の 「勘スコア 0〜100」 の話を聞いた。これが ロジット そのもので、社長は40年前から softmax 前のロジットを手で計算していた、ということになる。

川口(アナリスト・22)

(社長が 負のスコア -15 まで使っていたのが圧巻ですね。ChatGPT も内部で vocab 50,257 次元のロジット を毎トークン計算していて、その中には -∞ に近い値 もあります。…社長は、学術界が 2010年代に Transformer 論文として確立した出力スコア理論 を、1980年代の都銀の机の上で手作業で実装 していたことになります。)

大蔵(アシスタントマネージャー・35)

あら、私の 銀座カフェ接客 も、お客様の 初見スコア(常連度・予算感・同伴者・気分)を頭の中で付けてから、「お席ご案内」「VIP扱い」「Aコース推し」のどれを出すか決めますの。これも ロジット → softmax → サンプリング の構造。私の方が南雲社長より 多次元 ですわよ、ホホ。

御託(シニアコンサル・39)

フッ、ロジットか。これは マリーナベイサンズ17回滞在 で言うと、夕食前に 各レストランに対する 「今夜の気分スコア」 を頭の中で付ける作業に等しい。フランス料理 +7.2、和食 +5.1、中華 -2.0、ハンバーガー -∞。…そして softmax 通して 「ハンバーガー」 は完全除外、フランス料理に確率 0.78 で着地する。

赤崎(部長・42)

御託、その経費の闇シリーズ、いいかげん部長会で議論にしないとな…まあ、ロジットの説明としては悪くない。私の パワポレビュー も 「いいねいいね」 連発の前に、頭の中では各案に +3 / -2 / +7 付けてる。それがゼロ周辺に揃ってると、結局 「ふわっと方向感」 になるんだ、ということに今気づいた。

朝のアイマイ社オフィスで凡田が南雲社長の勘スコア話をホワイトボードに書き、川口が論文タブ、大蔵が指でカウント、御託がレストランパンフ、赤崎が腕組みで聞く5人会議の図

「素のスコア」を読む技術 — ロジット解析の応用

本記事の余談。LLM のロジットを直接取得・解析する手法が、近年急速に発展している:

コンサル感覚: クライアントが 「AI の出力に信頼度を付けたい」 と言う時、確率(softmax 後)ではなく ロジットの差分 を見る方が往々にして筋がいい。「1位と2位の差が 0.3 しかない場合」は本質的に 「迷っている」 シグナル。

深掘り記事 ・ 公開中ソフトマックス(Softmax) (#040)ロジットを確率分布に変換する関数の数学と直感。

深掘り記事 ・ 公開中温度(Temperature) (#041)softmax 前にロジットを温度で割って分布のとがり/平坦さを調整。