MENU

TRL — LLMを強化学習・選好学習でしつけるライブラリ

TRL アイキャッチ
TRL

TRL(Transformer Reinforcement Learning)は、Hugging Face社が2020年に公開したPython製ライブラリで、Transformer系言語モデルを強化学習や選好学習でファインチューニングするための実装を集約しています。もともとはレオンドロ・フォン・ヴェラ氏が個人プロジェクトとして始めたものをHugging Faceが取り込み、現在ではPPO(Proximal Policy Optimization)・DPO(Direct Preference Optimization)・SFTTrainer・RewardTrainerなどを提供しています。OpenAIのRLHF手法を再現するためのオープン実装として、ChatGPT登場以降の生成AI研究で必須の道具になりました。

目次

この記事の目次

  1. SFT・報酬モデル・PPO/DPOの三段構成
  2. ChatGPT登場前後の発展
  3. RLHF・チャット調整での主な使われ方
  4. 通常のファインチューニングとの違い
  5. まとめ

SFT・報酬モデル・PPO/DPOの三段構成

SFT・報酬モデル・PPO/DPOの三段構成

TRLが提供する学習パイプラインは、典型的にはSFT(Supervised Fine-Tuning)→報酬モデル学習→PPOまたはDPOの三段構成です。SFTTrainerは人間が書いた望ましい応答を教師とした通常の教師あり学習を担当し、RewardTrainerはペア比較データ(同じ質問への2応答のどちらが好まれるか)から報酬モデルを学習します。

PPOTrainerはOpenAIが2017年に発表したProximal Policy Optimizationを言語モデル向けに実装したもので、学習中の方針モデルとリファレンス方針のKLダイバージェンスを制約に入れつつ報酬を最大化します。2023年に登場したDPO(スタンフォードのラフェル・ラファイロフ氏ら)はそもそも報酬モデルを別途学習せず、ペア選好データから直接方針を最適化する手法で、TRLのDPOTrainerは現在のRLHF代替として広く使われています。Accelerateと組み合わせて分散学習することが前提の設計です。

ChatGPT登場前後の発展

ChatGPT登場前後の発展

TRLの最初のリリースは2020年末、レオンドロ・フォン・ヴェラ氏(現Hugging Faceエンジニア)が個人プロジェクトとしてGitHubに公開したのが始まりです。当時は「GPT-2をPPOで微調整する」ためのコードがほとんど存在せず、強化学習研究者や言語モデル研究者の橋渡しになる実装として注目を集めました。2022年にHugging Faceの傘下に正式に取り込まれ、Transformers・Accelerateとの結合度が高まりました。

2022年11月のChatGPT登場でRLHFが一気に注目を浴びると、TRLは「OpenAIに近い学習手順をオープンに再現できる唯一のライブラリ」として急速に普及しました。2023年5月にDPO論文が発表されると、その翌月にはTRLにDPOTrainerが実装され、報酬モデルなしで選好学習ができる手軽さで主流入り。2024年以降はOnline DPO・RLOO・KTO・SimPOなど派生手法の取り込みが進み、PEFT・bitsandbytesと組み合わせてコンシューマGPUでもRLHFが可能な構成が標準化しました。

RLHF・チャット調整での主な使われ方

RLHF・チャット調整での主な使われ方

TRLは「ベースLLMを対話用に整える」工程の中核として使われます。LLaMAやMistralのベースモデルをSFTで対話形式に慣らし、RewardTrainerで人間評価のペア比較データから報酬モデルを作り、PPOまたはDPOで方針を選好に沿わせる、という一連の流れがTRLだけで完結します。オープンチャットモデルのZephyr・Tülu・Open-AssistantなどはTRLベースで開発されており、再現実装として参照されることも多いライブラリです。

有害発話や不正確な応答を抑えるための「Constitutional AI」風の手法も、TRLのDPOTrainerを使って実装できます。社内ペルソナへの口調調整、コード生成の品質向上、医療・法律分野での慎重な応答の学習など、「正解が1つに定まらないが、人間が良し悪しを判断できる」タスクで広く活用されています。PEFTと組み合わせれば、選好学習部分もLoRAで省メモリ実行でき、48GB GPU 1枚でRLHFを回す例も日常的になりました。

通常のファインチューニングとの違い

通常のファインチューニングとの違い

通常の教師ありファインチューニング(SFT)は、「この質問にはこう答える」という明示的な正解データで学習します。シンプルで実装も軽いですが、「同じ意味だが言い回しの違う複数応答」のどれが良いかといった微妙な品質差は伝えにくく、応答の調子(丁寧さ・簡潔さ・安全性)の調整には不向きでした。

TRLが扱う選好学習・強化学習は、人間が「どちらの応答が好ましいか」を選ぶペアデータから学ぶため、明示正解では表現できない暗黙的な好みや、複数応答の相対的な質を反映できます。実用上は「SFTで土台を作り、TRLで仕上げる」二段構えが現代の標準パターンで、両者は対立するものではなく、後工程としてTRLを置く形で連携しています。DPO以降は実装も平易になり、研究室から企業の生成AIチームまで広く採用されるようになりました。

まとめ

TRLはHugging Face社が2020年から発展させてきたTransformer向け強化学習・選好学習ライブラリで、SFT・報酬モデル・PPO・DPOを共通APIで扱えます。ChatGPT後にRLHFが注目を集めると一気に普及し、レオンドロ・フォン・ヴェラ氏らによってDPOやOnline DPOといった新手法が次々取り込まれてきました。PEFTやAccelerateと組み合わせてコンシューマGPUでも回せる手軽さから、現代の生成AI開発における「仕上げ工程」の標準ツールとして定着しています。

※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次