アーカイブ / LLM
規則から作ったデータを先に学ぶと、言語モデルの通常学習はどれだけ短くなるか
Procedural Pretraining
Procedural Pretrainingの原論文から掲載した図です。細部はクリックして拡大できます。
原論文の図の説明を読む
Figure 8: We pretrain transformers on various forms of procedural data generated from simple algorithms, such as formal languages (left) or elementary cellular automata (right). In k k -Dyck examples, matching brackets are color-coded. For Stack , ‘ P ’ denotes the pop operation. The symbol ‘ | ’ acts as a delimiter between the input and the expected output, on which the loss is computed ( bold tokens). For Union and Delete , the first delimiter separates the two sequences to which the transformation is applied, and the second delimiter separates the entire input from the target output.
概要
- 規則から生成した記号列を先に学び、その後に自然言語、コード、数学の通常データで学ぶ方法。
- 著者らはC4、CodeParrot、DeepMind-Mathで、基準と同じ損失に達する通常データ量を順に55%、67%、86%と報告した。
- 注意層とMLP層を個別に引き継ぐ実験では、役立つ層が対象データによって異なった。
補足:編集した模式図で仕組みを確認する
VISUAL EXPLAINER
図でつかむ、Procedural Pretrainingの仕組み
- 01規則から作る記号列
- 02記号列で先行学習
- 03文章・コード等で学習
- 04次の記号を予測
原論文の説明をもとにした模式図です。処理の細部は省略しています。
研究の背景
言語モデルは文章やコードを読む学習の中で、内容の知識と、並びを追ったり値を探したりする操作を同時に身につける。通常のデータだけで両方を学ぶには、多くの学習データが必要になる。
本研究は、明示した規則から作る「手続き的データ」を先に学ばせる。その経験が、後に続く自然言語、コード、数学の学習で役立ち、必要な通常データ量を減らせるかを調べた。
手法
まず、重複除去や並べ替え、入れ子の括弧、記憶の積み下ろしなどの規則から記号列を作り、モデルを学習させる。例えば括弧の列なら、開いた括弧との対応を追いながら次の記号を予測する。入力と正解の出力が分かれた課題では、出力部分だけで予測の誤りを計算する。
続いて同じモデルを自然言語、コード、数学のデータで学習し、次のトークンを予測させる。トークンは学習のために区切った文字や記号の単位である。通常は学習済みの重みを引き継ぐが、両段階で語彙が対応しない実験では、トークンを受け取る部分を初期化する。注意層とMLP層というモデル内の計算部分を別々に引き継ぐ実験も行った。
新規性
著者らは、簡単なアルゴリズムで作るデータを、通常の学習データに置き換えるだけでなく、その前に置く短い学習段階として検証した。記号操作の経験が、後の自然言語、コード、数学の学習に移るかを調べている。
さらに、先行学習で得た重みを注意層とMLP層に分けて引き継いだ。どの層が役立つかを対象データごとに比べ、異なる種類の手続き的データを混ぜる方法も試した。
従来手法との違い
基準は、同じモデルを手続き的データなしで学習する設定である。通常データ量を固定する追加実験と、通常データを減らして基準と同じ損失に届くかを見る代替実験を行った。
アルゴリズム課題では、手続き的な列をシャッフルし、記号の出現分布を保ちながら並びの構造を崩す比較も行った。著者らは性能が基準付近に戻ったと報告し、列の構造が結果に関わると解釈している。
実験結果
著者らは、30組のキーと値から指定の値を探す課題、加算、乗算、整列で記号操作を評価した。文脈中の値を探す課題では、括弧の対応を表すDyck列で先行学習したモデルの正解率が10%から98%になったと報告する。図示されたアルゴリズム課題の値は10回の異なる初期設定での平均である。
自然言語のWikiTextとコードのJavaCorpusでは、予測しにくさを表すパープレキシティを比較した。大きな事前学習実験では、著者らによるとC4、CodeParrot、DeepMind-Mathで、基準と同じ損失に達する通常データ量は順に55%、67%、86%だった。モデル規模は最大13億パラメータまで検証している。
応用の可能性
編集上の応用案 · 論文が実証した用途とは区別しています。
編集上の応用案:社内向けコード補完モデルを新規学習する際に、この順序を試す。入力は利用可能な社内コードと補完位置までのコード、出力は続きの候補とし、開発者が採否を決める。
学習には規則から生成した記号列と、利用・品質を確認した社内コードが必要になる。正解ラベルはコードの次のトークンから作り、追加センサーは使わない。先行学習後に社内コードで学習し、実際の補完例で効果を確かめる仮説である。
応用先の候補からNauhに相談できます。
導入時の検証
導入時の検証案 · 対象データでの再評価が必要です。
導入時の検証案:利用可能な社内コードを学習用と評価用に分け、近い重複が両方に入らないか確認する。コードの次のトークンを正解ラベルとし、補完位置と正解の続きも用意する。追加センサーは不要である。
同じモデルで、社内コードだけを学ぶ基準と、規則的な記号列を先に学んでから社内コードに適応する設定を比べる。評価用コードの損失、補完の正解率、同じ損失に届くまでのコード量を測る。先行学習を含む総計算量も記録し、社内データでの効果を判断する。
限界と課題
著者らは、手続き的データを増やしても効果が常に増すわけではなく、種類によって学習の難しさが異なると報告する。複数種類を混ぜる実験でも、配合比によって結果が変わる。示されたデータ削減率は、報告された対象データと学習条件での結果である。
編集上の検証事項は、社内コードに有効なデータの種類、先行学習を含めた総計算量、実際の補完品質である。著者らは下流のコード補完でも改善が残ると述べるが、確認できた本文の範囲では、この社内用途に当てはめられる数値はない。
出典
元のタイトル・要旨を確認する(英語)
Procedural Pretraining: Warming Up Language Models with Abstract Data
Pretraining language models directly on web-scale corpora is the de facto paradigm. We study an alternative where the model is initially exposed to abstract structured data to ease the subsequent acquisition of rich semantic knowledge, much like humans learning simple logic and mathematics before higher reasoning. We focus on procedural data, generated by formal languages and other simple algorithms, as such abstract data. We first diagnose the algorithmic skills that different forms of procedural data can improve, often significantly. For example, the accuracy of context recall (Needle-in-a-haystack) jumps from 10 to 98% when a model is pretrained on Dyck sequences (balanced brackets). Second, we study how these gains are reflected in pretraining larger models (up to 1.3B). We find that front-loading as little as 0.1 to 0.3% procedural data significantly outperforms standard pretraining on natural language, code, and informal mathematics (C4, CodeParrot, and DeepMind-Math datasets). Notably, this also enables the models to reach the same loss value with only 55/67/86% of the original data and thus a comparable reduction in FLOPs. Third, we explore the mechanisms behind the benefits and find that procedural pretraining instills non-trivial structure in both attention and MLP layers. The former is particularly important for structured domains (e.g. code), and the latter for language. Finally, we lay a path for combining multiple forms of procedural data. Our results show that procedural pretraining is a simple, lightweight means of improving performance and accelerating language model pretraining, ultimately suggesting the promise of disentangling knowledge acquisition from reasoning in LLMs.
論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01




