AI・機械学習チームの髙橋です。このブログはAI・機械学習チームブログリレー6日目の記事です。
ここ半年ほどでCopilot→Cline→Claude CodeとAIコーディングツールを乗り換えています。Claude Codeは工夫せずとも高い実装力を発揮してくれますが、特にCustom Slash Commandが非常に便利で、どこまでコーディングを自動化できるのか試行錯誤しています。
さて、Claude Codeの根幹には大規模言語モデル(LLM)があり、その基礎となる事前学習のアイデアは、それまでの文脈に基づいて次の文字(トークン)が何であるかモデルに推測させることです。この推測を通じてモデルは言語の文法的な構造や知識を獲得し、更にRLHF等を通じた学習をすることで、人が求める応答が生成できるようになります。
実はこうした、次の文字を予測する枠組みが提案されたのは1951年と古く、これを提案したのは情報理論の父と呼ばれるClaude Shannonです。彼が1951年に発表した論文『Prediction and Entropy of Printed English』で初めて言語モデル(に相当するもの)が登場します。今回はこの論文で提案された言語モデルのアイデアと、Shannonが行った実験について紹介します。
ちなみに、Claude Codeと同じ名前なのは偶然ではなく、サービス名はShannonの名前から取られています。*1
シャノンはなぜ言語モデルを考えたか
シャノンはなぜ言語モデルを考えたのでしょうか?その背景には、情報理論の基礎となる「エントロピー」という概念があります。シャノンは1948年に発表した論文『A Mathematical Theory of Communication』でエントロピーという概念を導入し、情報の量を定量的に測る方法を提案しました。
シャノンは、このエントロピーという概念を用いて、英語という言語が持つ情報量を具体的に計測しようとしました。その手段として考案されたのが、言語モデルでした。
言語のエントロピーを定義する
以下では登場するシンボルはアルファベット26文字とスペースの27文字に限定します。
まずアルファベットにはEやTは頻出するがQやZは頻出しないというように、文字ごとに頻度が異なります。27文字が均等に現れる場合と比べてエントロピーは低くなることが分かります。論文では文字の頻度をもとに計算すると4.03ビットになると報告されています(27文字が均等に現れる場合のエントロピーは約4.7ビット)。
次に、2文字の組み合わせ(2-gram)を考えてみましょう。例えば、"TH"や"HE"は頻出しますが、"XZ"や"QJ"はほとんど出現しません。このように、文字の組み合わせを考慮するとエントロピーは減少します。2-gramの頻度情報をもとにすると3.32ビットになります。
文字の組み合わせを一般化してN-gramを考えると、N-1文字の文脈が与えられたときに、N文字目が従う分布が分かればN-gramのエントロピーが分かります。 そして、Nを大きくしていくと、「pre-」や「-tion」やなどの頻出する接尾辞や接頭辞が現れ、更に単語の頻度、文法的な構造、さらには文章全体の構成など、より長距離のパターンが見えてきます。
Shannonはこうした言語のパターンがすべて内包されたNが無限大のときのN-gramエントロピーを言語のエントロピーと定義しました。そして、N-1文字の文脈が与えられたときに、N文字目が従う分布こそが言語モデルの定義になります。
Shannonの実験
2-gramでやったときのように、Nが大きいときも頻度情報をもとにN-gramエントロピーを計算できれば良いですが、これは実際には困難です。 というのも、N-gramの組み合わせはNに対して指数的に増加するため、例えばNを100にすると可能な100-gramは27の100乗(≒1.4×10の143乗)通りとなります。これはLLMの事前学習で利用される大規模コーパス(Common Corpus, 5×10の11乗程度の単語数)と比較してもはるかに膨大な数です。
そこで、Shannonは次のような実験を行い、Nが大きいときのN-gramエントロピーを推定しました。 Shannonが行った実験は、次文字を予測する「言語モデル」として、コンピューターではなく「人間」を採用しました。被験者となったのは、彼の妻であるBetty Shannonです。
実験は次の手順で行われました。
- Jefferson the Virginianという小説から100文字の抜粋を100個の文字列用意する。
- 被験者に、抜粋した文字列を1文字から「Eですか?」「Tですか?」と順番に推測させる。
- 2で正解するまでに何回の推測が必要だったかを記録し、これを100文字目まで行う。
- 100個の抜粋が終わるまで2と3を繰り返す。
この実験により得られたデータが次の表です。
この表は文脈の長さに応じて次の文字を予測するのに必要となった推測回数の分布になっています。N=100のケースは99文字の文脈が与えられた場合の推測回数 (1回で当てられた回数が80回、2回で当てられた回数が7回...)になります。
エントロピーを計算する
実際にエントロピーを求めてみましょう。N=100での推測回数の分布をエントロピーの定義 -Σq・log2(q) に当てはめて*2を計算すると約1.3ビットになりました。 この1.3ビットという数字は、その後の認知実験、例えば被験者に次の文字の確率分布を予測させた認知実験*3や、手前味噌ですがクラウドソーシングを利用した大規模な認知実験*4でも近い値になることが確認されています。
2-gramのときに3.32ビットであったことを考えると、自然言語は長い文脈が与えられることによって予測可能性が大幅に上がる性質を持っていることが分かります。
LLMはシャノンの妻よりも優秀な言語モデルか?
ここまでの話で、自然言語には冗長性があり、特に長い文脈が与えられれば与えられるほどエントロピーが低減していくことが分かりました。 では、こうした長い文脈を利用して次の文字を予測するタスクについて人間とモデルではどちらが優れているでしょうか?
シャノンの実験では、必要な推測回数の分布からエントロピーを求めましたが、N-gramや深層言語モデルであれば、モデルが出力する予測確率をもとにしてエントロピーを計算できます。
実際に各モデルとシャノンの認知実験での結果を並べると以下のような結果となりました。
表. モデルと人間のビット数 (モデルはいずれもtext8データセットでの計測)
モデル | ビット数 |
---|---|
N-gramモデル | 1.58 |
Simple RNNs *5 | 1.46 |
人間 (シャノンの妻) | 1.31 |
LSTM *6 | 1.27 |
GPT-2 *7 | 0.98 |
LLMZip *8 | 0.71 |
N-gramモデルやゲート機構を持たないSimple Recurrent Neural Networks (RNNs)ではシャノンの妻よりも高いビット数にとどまっていました。 その後2010年代半ばにゲート機構を持つLSTMを始めとするモデルが発展して、1.3ビットを切った報告がいくつかされるようになりました。
そこから飛躍的なブレークスルーをもたらしたのがやはりTransformerで、現在のLLMの一歩手前にあたる2019年のGPT-2論文でtext8というWikipediaのテキストデータで0.98ビットを記録したことが報告されています。
更に2023年にはLlama-7Bの分布予測を用いてテキストデータを圧縮することを提案して、留意点はありますが*9、0.71ビットという驚異的な数値を報告しています。
現行のGemini2.5-proやGrok3、OpenAI-o3といったモデルの事前学習モデルでは更に高い性能であると考えられ、何ビットまで予測性能が向上しているのか気になるところです。残念ながらLLMのサービスにとって言語モデルそれ自体の性能は重要ではないためあまり報告されません。
おわりに
Shannonの実験から70年以上経った今、彼がエントロピー推定のために考案したタスクによって学習されたLLMが登場し、Shannonの名前から取られたClaude Codeが生まれました。情報科学の黎明期に行われたこの実験がこのように形を変えて現代に蘇る、科学は歴史の積み重ねであることを思い出させてくれます。
We're Hiring!
エムスリーAI機械学習チームでは、技術と共にあるギークなメンバーを募集しています 新卒・中途それぞれの採用だけでなく、カジュアル面談やインターンも常時募集しています。
エンジニア採用ページはこちら
カジュアル面談もお気軽にどうぞ
インターンも常時募集しています
*1:Anthropic共同創業者 Dario Amodai氏のインタビュー
*2:正確にはエントロピーの上界になります
*3:A Convergent Gambling Estimate of the Entropy of English
*4:Entropy Rate Estimation for English via a Large Cognitive Experiment Using Mechanical Turk
*5:Tomas Mikolov et al. SUBWORD LANGUAGE MODELING WITH NEURAL NETWORKS. N-gramについてもこの論文の報告を参照した
*6:Ben Krause et al. Multiplicative LSTM for sequence modelling
*7:Alec Radford et al. Language Models are Unsupervised Multitask Learners
*8:Chandra Shekhara Kaushik Valmeekam et al. LLMZip: Lossless Text Compression using Large Language Models
*9:Llama-7Bの学習にWikipediaのデータが含まれていることを考えると、これが本当にエントロピーの上界を評価していることになるのかについては疑問が残る