はじめに
LLM のプロンプトを書くとき、つい「正確で格調高い表現」を使いたくなりませんか?
ところが最近発表された論文 Adam's Law: Textual Frequency Law on Large Language Models は、ちょっと違った視点を教えてくれています。
意味が同じなら、LLM の訓練データで 『高頻度に出現する言い回し』 を選んだほうが性能が上がる。
しかも、数学の推論タスクで精度が最大 8 ポイント改善、機械翻訳では 100 言語ペア中 99 ペアでスコアが向上しています。やっていることは「言い換え(パラフレーズ)の選び方を変えただけ」です。
理屈を知ってしまえばそれはそうだよねと思うことなのですが、改めてちゃんと確かめられたというところが意義深い研究ですね。
面白い論文だったので、ざっくり理解したところをまとめてみました。
プロンプト・エンジニアリングはもう不要みたいな論調も見かけますが、こうした研究を見てみるとまだまだそんなことはありませんね。この論文が検証した範囲を超えてしまうかもしれませんが、LLM の制御のしやすさにも関係しそうですね。エージェントがちゃんとツールを呼びだしてくれるとか、Grounding して根拠のないことは答えないとか。エージェントだと ReAct ループの試行錯誤を繰り返す中でいずれ期待の動作をしてくるかもしれませんが、膨大なトークンを使ってしまうかもしれませんし、時間もかかりますね。
全く蛇足ですけど GPT-5.2 はこの制御がつらかったですね。GPTは信者が多いのであまり大きな声では言わずにそっと別のモデルで動かしてましたけど(function calling だけなら grok 4.1 fast reasoning の方がましだったってなかなか信じてもらえない^^;)。
ツイ廃は Grok の性能を最も引き出せる説
本題に入る前に、この論文が意味することを直感的につかむための比喩を考えてみました。
Grok は X(旧Twitter)のリアルタイムデータをガッツリ学習しています。ということは、X に日常的に入り浸っているヘビーユーザー、いわゆる「ツイ廃」が普段使う「Xっぽい高頻度表現」は、まさに Grok にとっての "見慣れた言葉" です。モデルが「あ、これ知ってる!」と反応しやすくなるわけですね。
もちろんこれは あくまで比喩であって、実際にツイ廃が Grok を使いこなせるかは検証されていません。ただ、この研究が示している「モデルにとって馴染みのある表現ほど性能が上がる」という原理を当てはめると、こういう想像ができて面白いよね、という話です。
つまり LLM を使いこなすコツは、「賢い言葉」で話しかけることではなく、そのモデルにとって馴染み深い言葉 で話しかけることなのかもしれません。
そもそも「テキスト頻度」って何?
自然言語には、同じ意味を伝える表現がたくさんあります。たとえば「彼は走った」と「彼は駆け出した」はほぼ同じ意味ですが、ネット上や書籍に登場する頻度はかなり違いますよね。
そもそも「単語の頻度が認知に影響する」のは人間も同じ
Adam's Law という名前は筆頭著者の Hongyuan Adam Lu 氏に由来しますが、「高頻度の単語ほど処理しやすい」という現象自体は、もともと人間の認知科学で知られていた話だそうです。たとえば、高頻度語は脳の神経応答がより強くなることや(Desai et al., 2020; Alexandrov et al., 2011)、意味的に近い語を想起しやすいこと(Heylen et al., 2008)が報告されています。
この論文は「人間で成り立つなら、大量のテキストを学習した LLM でも同じことが起きるのでは?」という着想から出発しています。論文中でも「テキスト頻度は人間の読解速度との関連が検証されてきたが、LLM との関連はほとんど研究されていない」と述べられていて、この未開拓の領域に踏み込んだのが本研究のポイントです。
Adam's Law で言う「テキスト頻度」とは、ある文がどれだけ「ありふれた単語」で構成されているかを測る指標です。考え方はシンプルで、文を構成する各単語について「世の中でどれくらい使われているか」を調べて、それらを総合的に掛け合わせます。すべての単語が日常的によく使われるものなら文全体の頻度は高く、一語でも珍しい単語が混ざると文全体の頻度はガクッと下がる、というイメージです。
ここで一つポイントがあります。LLM の訓練データは通常非公開です。なので著者らは、公開されているオンラインリソース(wordfreq ライブラリなど)から単語頻度を推定するアプローチを採用しています。訓練データそのものは見えなくても、一般的なテキストの頻度分布で十分近似できる、という割り切りですね。
文レベル頻度の数式(Appendix C, Assumption 4, 式 8)
論文の Appendix で、文レベルの頻度は次のように定式化されています。
$$
\ln \text{sfreq}(\mathbf{x}) = \frac{1}{K}\sum_{k} \ln P(x_k)
$$
左辺が $\ln \text{sfreq}$(対数)なので、sfreq 自体は各トークンの出現確率 $P(x_k)$ の 幾何平均 $\left(\prod_k P(x_k)\right)^{1/K}$ になります。右辺はその対数を計算しやすい形(対数の平均)に変換しただけですね。よく使われる単語($P$ が大きい)ばかりで構成された文ほど sfreq が大きくなり、珍しい単語が一つでも入ると sfreq がグッと下がります。直感と一致していて、分かりやすいです。
論文本文の式 3 との関係 ~ 正直ここはよく分からない ~
実は論文の本文(Section 3.2)には式 3 として別の定式化があります。
$$
\text{sfreq}(\mathbf{x}, \mathcal{D}) = \left(\frac{1}{\prod_{k=1}^{K} \text{wfreq}(x_k, \mathcal{D})}\right)^{1/K}
$$
これは wfreq(単語レベルの頻度)の積の 逆数 の K 乗根です。wfreq が「頻出語ほど大きい値」を返すなら、逆数をとると頻出語が多い文ほど sfreq が 小さく なってしまい、argmax で高頻度パラフレーズを選ぶという話と矛盾するように見えます。
一方、Appendix の式 8 は逆数なしの幾何平均なので、頻出語が多いほど sfreq が大きくなり、argmax と整合します。
wfreq が実は「珍しいほど大きい値」を返す定義なのかもしれませんが、論文には wfreq の明示的な定義が見当たらず、正直ここは自分もまだ腑に落ちていません。Appendix の式 8 なら納得感がありますし、理論パートもこちらをベースに議論されているので、この記事では式 8 の解釈で話を進めます。
提案フレームワークの全体像
Adam's Law の研究は、①Textual Frequency Law(TFL)、②Textual Frequency Distillation(TFD)、③Curriculum Textual Frequency Training(CTFT)の3 つの柱で構成されています。
まず頻度推定(② TFD を含む)を共通基盤として行い、そのスコアをプロンプティングとファインチューニングの両方で活用する構造です。それぞれ見ていきましょう。
① Textual Frequency Law(TFL) ~ 高頻度の言い換えを選ぶ ~
これが核心のアイデアです。同じ意味のパラフレーズをたくさん用意して、その中から文レベルの頻度が最も高いものを選びます。
たとえるなら、同じ料理のレシピが 20 通りあったとして、「一番ポピュラーな食材で作れるレシピ」を選ぶようなイメージです。珍しいスパイスを使ったレシピは美味しいかもしれませんが、LLM という料理人はスーパーでよく売ってる食材のほうが上手に扱える、というわけですね。
② Textual Frequency Distillation(TFD) ~ LLM 自身の力で頻度推定を磨く ~
公開データから推定した単語頻度だけでは、LLM の訓練データの分布を正確に捉えきれません。そこで TFD では、ちょっと面白いアプローチをとっています。
LLM に「この文の続きを書いて」とお願いして、生成されたテキストを追加データとして頻度推定を補正するのです。LLM が自然に生成する文章には、そのモデルが「得意な表現」「慣れ親しんだ表現」がにじみ出てきます。その傾向を利用して、元の推定を修正しようという発想です。
人間で言えば、「この人が普段どんな言葉を使うか」を知りたいとき、本人に自由に喋ってもらうのが一番、という感じでしょうか。
なお TFD はオプションのステップで、計算コストがそれなりにかかります。論文でも「TFD なしでも手法は有効」と述べられているので、必須ではありません。
③ Curriculum Textual Frequency Training(CTFT) ~ 頻度順に並べ替えて学習 ~
ここまでの ① TFL と ② TFD は、主に「推論時にどのパラフレーズを選ぶか」という話でした。では、モデルを ファインチューニングする側 ではテキスト頻度をどう活かせるでしょうか? それが CTFT の出番です。
普通のファインチューニングでは、訓練データをランダムな順番でモデルに食べさせます。でも Adam's Law が正しいなら、「高頻度な表現ほどモデルが処理しやすい」わけです。ならば、データの提示順にも工夫の余地がありそうですよね。
CTFT では、訓練データを文レベルの頻度の 低い順から高い順 に並べて学習させます。イメージとしてはこんな感じです。
なぜこの順番なのでしょうか? ここで注意したいのは、テキスト頻度と人間にとっての「難しさ」はほぼ無相関だったという論文の発見です。低頻度=難しい問題、ではありません。あくまで「モデルにとって見慣れていない表現かどうか」という、人間の感覚とは異なる軸での並べ替えです。
低頻度(モデルにとって馴染みが薄い表現)を先に学習させることで、不慣れな表現への適応を促す。その後、高頻度(馴染みのある表現)で仕上げることで、学習全体を安定させる。この順序付けが CTFT のポイントです。
実際に効果はどうだったかというと、低資源言語 4 言語の翻訳タスクで、CTFT は比較手法(ランダム順、高頻度データのみ、低頻度データのみ)を 8 つの評価指標すべてで上回り ました。「どのデータで学習するか」だけでなく「どの順番で学習するか」も重要だということが示されたわけです。
実験結果がけっこうすごい
データセットの作り方
著者らは Textual Frequency Paired Dataset(TFPD) というデータセットを自前で作っています。GPT-4o-mini で各文に対して 20 個のパラフレーズを生成し、人手で「意味が本当に同じか」を検証するという丁寧な作業です。
- 数学推論(GSM8K ベース)で 738 ペア
- 機械翻訳(FLORES-200 ベース)で 526 ペア
- 常識推論(CommonsenseQA ベース)で 575 ペア
数学推論 ~ 言い回しを変えるだけで精度 8 ポイント改善 ~
高頻度パラフレーズを選ぶだけで、こんなに差が出ます。
| モデル | 低頻度 | 高頻度 | 改善幅 |
|---|---|---|---|
| DeepSeek-V3 | 63.55% | 71.54% | +7.99pt |
| GPT-4o-mini | 60.70% | 68.70% | +8.00pt |
| Llama-3.3-70B | 80.49% | 88.75% | +8.26pt |
同じ意味の数学の問題なのに、言い回しが違うだけで 8 ポイントも差がつくのは驚きです。プロンプトの書き方一つでここまで変わるのか、と考えさせられます。
機械翻訳 ~ 100 言語中 99 言語で改善 ~
DeepSeek-V3 を使った 100 言語ペアの翻訳実験では、BLEU スコアが 99/100 ペアで向上しました。しかも 63 ペアで 1 ポイント以上、31 ペアで 3 ポイント以上、12 ペアで 5 ポイント以上の改善です。
GPT-4o-mini でも 91/100 ペアで chrF スコアが向上していて、特定のモデルだけの現象ではなさそうです。
ファインチューニング ~ CTFT が全指標で最良 ~
低資源言語 4 言語の翻訳タスクでファインチューニング実験をした結果、CTFT(頻度順カリキュラム学習)は 8 つの評価指標すべてで最良の結果を出しました。たとえば pag_Latn では BLEU が 3.78 → 4.91 と約 30% 向上しています。
なぜ高頻度表現で性能が上がるのか
ここは理論的な話になりますが、直感的に説明してみます。
LLM は大量のテキストを使って「次の単語を予測する」訓練をしています。よく出てくる単語やフレーズほど、予測する練習をたくさん積んでいるわけです。練習量が多い分だけ、その表現に対する「理解度」が高く、正しい出力を返しやすくなります。
単語レベルのこの傾向は Zipf の法則(少数の単語が圧倒的に多く使われ、大多数の単語はめったに使われない)とも関係しています。そして、この性質を文レベルに拡張したのが Adam's Law の理論的な基盤です。
理論的な背景をもう少し詳しく
LLM は交差エントロピー損失を最小化するように学習します。Zipf の法則に従って高頻度な単語ほど学習機会が多いため、高頻度トークンに対する損失は小さくなります。
論文の Appendix では、このトークンレベルの性質を文レベルに拡張する証明が 3 パートに分けて示されています。
- Part I(Appendix D)では、Zipf の法則のもとで高頻度トークンほど損失が小さいことを証明
- Part II(Appendix E)では、文レベルの損失が構成トークンの損失の和で近似できることを示し、高頻度な文ほど損失が小さいと結論
- Part III(Appendix F)では、損失の小ささとタスク性能の関係を議論
つまり「たくさん見た表現は上手に処理できる」という直感を、数学的に裏付けた形になっています。
面白い発見 ~ テキスト頻度と「読みやすさ」は別物 ~
個人的に興味深かったのは、テキスト頻度と従来の可読性指標(Flesch-Kincaid Grade Level など)の相関がほぼゼロだった点です。
つまり「読みやすい文 = 高頻度な文」ではないんですね。平易な文章が必ずしも LLM にとって処理しやすいわけではなく、あくまで「訓練データでよく見た表現かどうか」が効いている、ということになります。
これは従来の Curriculum Learning(人間にとっての難易度順に学習させる手法)とは異なるメカニズムが働いていることを示唆していて、なかなか面白いポイントだと思いました。
限界と課題
著者ら自身が認めている限界もまとめておきます。
- LLM に「続きを書いて」と頼む頻度蒸留(TFD)には、それなりの計算コストがかかる
- 文頻度の推定は語順を考慮していない("犬が猫を追いかけた" と "猫が犬を追いかけた" が同じ頻度になってしまう)
- データセット構築に人手でのアノテーションが必要
- 式 3 と式 8 の関係など、記述が分かりにくいところがある(これは筆者の理解力の問題かもしれませんが……)
とはいえ「非公開の訓練データにアクセスしなくても、公開情報とモデル自身の出力から頻度を推定して性能改善できる」という実用的なアプローチを示した点は、大きな貢献だと思います。
まとめ
Adam's Law のメッセージはシンプルです。
LLM に話しかけるとき、格調高い表現や凝った言い回しは必要ありません。むしろ、そのモデルが訓練中にたくさん見たであろう「ありふれた表現」で話しかけるほうが、性能を引き出せます。
これはプロンプトエンジニアリングに新しい視点を与えてくれます。「何を伝えるか」だけでなく、「そのモデルにとって馴染みのある言い回しかどうか」が出力品質を左右するのです。
冒頭の比喩に戻ると、ツイ廃のみなさんは Grok の性能を引き出すのにもっとも有利な立場にいるのかもしれません。おめでとうございます!
……と、ざっくりまとめてみました。理解が間違っているところがあれば、ぜひコメントで教えてください。
参考文献
- Hongyuan Adam Lu, et al. "Adam's Law: Textual Frequency Law on Large Language Models" (2025)
https://arxiv.org/abs/2604.02176
