ChatGPTが出てきたとき、「どうやってこんな自然な会話ができるんだ?」って興味が湧いて、仕組みを調べまくった。結論から言うと、めちゃくちゃシンプルな原理の上に、膨大な計算とデータを積み重ねてるだけだった。
GPTのコアはTransformerという2017年にGoogleが発表したアーキテクチャ。これが従来のRNNやLSTMと決定的に違うのは「Attention(注意機構)」。文章全体を一度に見渡して、「どの単語がどの単語と関連してるか」を重み付けできる。これのおかげで長文でも文脈を見失わない。
学習は大きく3段階:
- 事前学習(Pre-training) — インターネット上の膨大なテキストを食わせて「次に来る単語を予測する」ゲームを延々と繰り返す。この段階で文法も知識も世界の常識も全部吸収する。GPT-3で約45TBのテキスト。想像を絶する量だ。
- 教師ありファインチューニング(SFT) — 人間が「良い応答」の例をたくさん作って、それに近づけるように学習。ここで「丁寧に答える」「質問にちゃんと答える」といった振る舞いを覚える。
- RLHF(人間のフィードバックからの強化学習) — これがChatGPTを「使える」ものにしたキモ。モデルの回答を人間がランク付けして、その好みを学習させる。「有害なことは言わない」「わからないときは素直にわからないと言う」みたいな振る舞いがここで刷り込まれる。
つまりGPTは「超巨大な確率計算機」。次に来る単語の確率を計算して、それを一個ずつ出力してるだけ。なのに、そこから知性らしきものが立ち現れる。この「創発(emergence)」って現象、何度考えても鳥肌が立つ。