自然言語処理

自己回帰モデル じこかいきもでる

自己回帰モデルAutoregressive Modelテキスト生成GPT次トークン予測言語モデル
自己回帰モデルについて教えて

簡単に言うとこんな感じ!

自己回帰モデルは「今まで生成したトークンを入力にして次のトークンを予測し、それを繰り返してテキストを生成する」モデルだよ。GPTがまさにこれで、「私は→私は猫→私は猫が→私は猫が好き」と1単語ずつ積み上げていくんだ!


自己回帰モデルとは

自己回帰モデル(Autoregressive Model) は、過去の出力を入力として使いながら次の出力を逐次的に生成するモデルです。テキスト生成では「これまでに生成したトークン系列を条件に、次のトークンの確率分布を予測」し、その確率に従ってトークンをサンプリングすることを繰り返します。

数式で表すと:P(x_t | x_1, x_2, ..., x_{t-1}) ——時刻 t のトークンが、それ以前のすべてのトークンを条件にして決まることを表します。これが「自己(自分自身)を回帰(参照する)」という意味です。

GPT系の大規模言語モデル(LLM)はすべて自己回帰モデルです。学習時は「正解のトークン列を見ながら次のトークンを予測する(Teacher Forcing)」、推論時は「自分が生成したトークンを使って次のトークンを予測する」という動作をします。


自己回帰生成の流れ

プロンプト: "今日の天気は"

Step 1: P(? | "今日の天気は") → "晴れ" を選択
Step 2: P(? | "今日の天気は晴れ") → "です" を選択
Step 3: P(? | "今日の天気は晴れです") → "。" を選択
Step 4: P(? | "今日の天気は晴れです。") → <EOS> を選択(終了)

出力: "今日の天気は晴れです。"

歴史と背景

  • 1980年代〜:時系列統計モデル(ARIMA等)で自己回帰の概念が使われていた
  • 2013年RNNベースの言語モデルが自己回帰でテキスト生成
  • 2018年:OpenAIのGPTがTransformerベースの自己回帰言語モデルを提案
  • 2020年:GPT-3(1750億パラメータ)が自己回帰生成でチャット・コード生成など驚異的な能力を示す
  • 2022年以降:ChatGPT・Claude・Geminiなど現在の主要LLMすべてが自己回帰モデル

自己回帰 vs 非自己回帰モデル

項目自己回帰モデル非自己回帰モデル
生成方法1トークンずつ逐次生成全トークンを並列生成
生成品質高い(文脈の一貫性)やや低い(独立性の仮定)
生成速度遅い(並列化困難)速い
代表モデルGPT・Claude・LlamaBERT(生成用途外)・並列デコーダ

サンプリング戦略

戦略内容特徴
Greedy最高確率のトークンを選ぶ決定的・単調になりやすい
Top-k Sampling上位k個からランダムサンプリング多様性と品質のバランス
Top-p(Nucleus)Sampling累積確率がpを超える上位から選択より自然な文章生成
Temperature確率分布の鋭さを調整高い→多様、低い→集中

関連用語