🍣
RLHFとTRLとPEFTの関係性
はじめに
- 生成AIをファインチューニングする際にはいくつかの手法が存在します。その中で、よく登場するキーワードの意味がよく混合してしまうので、整理してみました。
それぞれの解説
RLHF
- RLHFとは、Reinforcement Learning from Human Feedbackの略で、人間からのフィードバックを用いた強化学習のことです。
- RLHFは、AIモデルの出力に人間の価値基準や好みを反映させるための学習プロセスであり、人間がAIの生成結果に対して評価やランク付けを行うことで、AIがより適切な応答を学習する仕組みです。
- 会話型AIや指示型AIなど、人間とのインタラクションが重要なタスクに適用されます。
TRL
- TRLとは、Transformers Reinforcement Learningの略で、HuggingFaceで教師あり微調整ステップ(SFT)、報酬モデリングステップ(RM)から近位ポリシー最適化(PPO)ステップ等を使用して事前学習済みの言語モデルをRLHFでファインチューニングするための一連のツールを提供するフルスタックライブラリです。
- 報酬関数やメトリックなどをカスタマイズできる柔軟性や、PEFTと組み合わせて少ないVRAMで大規模なモデルをファインチューニングできる効率性を提供します。
PEFT
- PEFTとは、Parameter-Efficient Fine-Tuningの略で、モデルの全体のファインチューニングなしに、事前学習済みの言語モデルをさまざまな下流タスクに適応させることができるライブラリです。
- LoRA, Prefix Tuning, P-Tuning, Prompt Tuningなどの手法をサポートしており、メモリ効率や計算コストを低減しながら、高い性能を達成できます。
それぞれの関係性
- RLHFは、人間からのフィードバックを用いた強化学習の一般的な枠組み
- TRLは、HuggingFaceでRLHFを実装するためのライブラリ。PEFTと連携して使用することができる
- PEFTは、RLHFを行う際に利用できるパラメータ効率的なファインチューニング手法のライブラリ
つまり、生成AIを下流タスクに適応させるために
- RLHF(という手法)を実施したいので
- TRL(HuggingFaceでRLHFを実装するためのライブラリ)と
- PEFT(計算量コストを下げるためのライブラリ)と
が使われているよという話でした。
Discussion