【じこかいきもでる】

自己回帰モデル とは?

💡 前の言葉を読んで次の言葉を当てる、しりとり名人のようなAI
📌 このページのポイント
自己回帰モデルの生成フロー 今日 天気 良い Transformer デコーダー 過去のトークンから次を予測 出力を入力に フィードバック 次のトークンの確率分布 良い 45% 悪い 20% いい 15% すごい 8% ... 12% 最も確率の高いトークンを選択(または確率に基づいてサンプリング)
自己回帰モデルの逐次生成の仕組み
ひよこ ひよこ

自己回帰モデルって、自分に回帰するってどういうこと?

ペンギン先生 ペンギン先生

たとえば「今日は天気が」という文を生成したら、次に来る言葉を予測するんだ。予測結果の「良い」を付け加えて「今日は天気が良い」にして、またその続きを予測する。自分の出力を入力に回して使うから自己回帰と呼ぶんだよ

ひよこ ひよこ

ChatGPTが文字をちょっとずつ表示するのもそれ?

ペンギン先生 ペンギン先生

まさにそう!1トークンずつ順番に生成しているから、あのストリーミング表示になるんだ。一気に全文を出すわけじゃなくて、左から右に向かって1つずつ生み出しているんだよ

ひよこ ひよこ

1個ずつ出すって遅くないの?

ペンギン先生 ペンギン先生

いい質問だね。実際それが最大の弱点で、長い文章ほど生成に時間がかかる。だからSpeculative DecodingやKVキャッシュの最適化など、推論を高速化する研究がとても盛んなんだ

ひよこ ひよこ

自己回帰じゃないモデルもあるの?

ペンギン先生 ペンギン先生

あるよ。BERTのようなマスク言語モデルは文の一部を隠して予測する非自己回帰的なアプローチだね。また拡散モデルも厳密には自己回帰ではない。ただテキスト生成においては自己回帰型が圧倒的に強くて、GPT-4もClaude もこの仕組みがベースになっているんだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「自己回帰モデル」って出てきたら「前の出力を見て次を予測するモデル」と思えればだいたいOK!
📖 おまけ:英語の意味
「Autoregressive Model」 = 自己回帰モデル
💬 Autoは自分自身、Regressiveは回帰(前に戻る)という意味で、自分の過去の出力に回帰して次を予測する仕組みを表しているよ
← 用語集にもどる