- ビックデータで,RLHF 前のモデルをつくる。
以下,これを「基礎モデル」と呼ぶ。
- 基礎モデルに対し,教師あり微調整(SFT)
| (1) |
訓練データは,つぎのペア
(テクスト,正解ラベル)」
(RLHF は,この訓練データをつくることが,最もたいへん)
|
| (2) |
この訓練用の「どんなふうに読んだか」指標 p を設ける。
訓練は,p が「正解ラベル」を示すように,逆伝播でパラメータを調節する,というもの。
|
| (3) |
モデルは,データの一つ一つを「ただ読む」。
順 伝播・逆伝播アルゴリズムは,pが変更になった分だけ,変更。
|
| (4) |
異なるタイプの訓練を加えることになるので,最初の訓練で出来上がったたパラメータ値を損なうことにはなるが,
しかし実際は,たいしたことにはならない。
|
| (5) |
訓練終了を以て,アルゴリズムとpの設定を,もとに戻す。
この訓練が済んだモデルを,以下「SFT済みモデル」と呼ぶ。
|
- 「報酬モデル」を,別途構築
| (1) |
報酬モデル用に,SFT済みモデルを複製
|
| (2) |
報酬モデルを訓練するデータの作成
SFT済みモデルの逆伝播を,一旦外す。
モデルに複数の回答を生成させ,人間が「どれが良いか」を順位付け。
訓練用データを,つぎの形式で作成
(回答1, 回答2, 回答3, … , 順位ラベル)
|
| (3) |
報酬モデル」の訓練
訓練用データで,訓練 (「教師あり」)
|
| (4) |
訓練終了
逆伝播アルゴリズムを外す。
パラメータを固定
|
- SFT済みモデルの強化訓練(PPO)
報酬モデルを使ったつぎの評価ループで,訓練:
入力
↓
┌─(報酬)─→ SFT済みモデル
報酬モデル │
↑ (回答を出力)
└─────────┘
(逆伝播で,パラメータ更新):
- RLHF 終了
逆伝播アルゴリズを外す。
パラメータを固定する。
チャットAI としてデプロイ
|