【ぷれふぃっくすちゅーにんぐ】

プレフィックスチューニング とは?

公開:
💡 全層に隠し命令書を差し込む効率的な学習法
📌 このページのポイント
プレフィックスチューニング ソフトプロンプトチューニング Layer 0(入力) └ prefix のみ Layer 1(凍結) Layer 2(凍結) Layer 3(凍結) 🔒 入力だけにプレフィックス プレフィックスチューニング Layer 0(入力) └ prefix K/V ★ Layer 1 └ prefix K/V ★ Layer 2 └ prefix K/V ★ Layer 3 └ prefix K/V ★ ★ 全層のキー・バリューに学習ベクトル付加 プレフィックスチューニングは各層に直接届くため表現力が高い どちらも元モデルの重みは凍結(PEFT)—— 変えるのは小さなプレフィックスだけ
プレフィックスチューニングのイメージ
ひよこ ひよこ
ペンギン先生、プレフィックスチューニングってソフトプロンプトチューニングと何が違うの?
ペンギン先生 ペンギン先生
大きな違いは「どこにベクトルを挿入するか」だよ。ソフトプロンプトは入力の先頭だけだけど、プレフィックスチューニングは全Transformer層のキーとバリューに付け加えるんだよ。
ひよこ ひよこ
全層に付けることの何がいいの?
ペンギン先生 ペンギン先生
深い層にも直接情報を届けられるから表現力が上がるんだよ。入力層だけに付けると、その影響が深い層まで届くのに層を通る処理で薄まってしまうことがあるんだ。
ひよこ ひよこ
じゃあ全層に付けた方が常にいいんだね!
ペンギン先生 ペンギン先生
表現力は高いんだけど、ソフトプロンプトよりパラメータ数は増えるよ。それでも元モデル全体をファインチューニングするよりは圧倒的に少ないから、PEFTとして有効なんだよ。
ひよこ ひよこ
どんなタスクに向いているの?
ペンギン先生 ペンギン先生
テキスト生成・要約・翻訳など、各層の深い理解が必要なタスクに向いているよ。Stanfordが2021年に発表した研究では、通常のファインチューニングより少ないパラメータで匹敵する精度を出せたんだよ。
ひよこ ひよこ
学習するパラメータがすごく少ないってこと、そんなに大事なの?
ペンギン先生 ペンギン先生
大事だよ。大規模モデルを全部ファインチューニングすると数百GBものパラメータを更新する必要があるけど、プレフィックスチューニングなら元モデルは凍結したまま小さなプレフィックスだけ保存すればいいから、コストが全然違うんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プレフィックスチューニング」って出てきたら「全Transformer層に学習ベクトルを差し込む効率的なPEFT手法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Prefix Tuning」 = プレフィックスチューニング
💬 各Transformer層の「接頭辞(prefix)」として学習ベクトルを挿入するから、この名前が付いたよ
← 用語集にもどる