Repolode
huggingface

huggingface/trl

SFT、GRPO、DPO、KTO、報酬モデル学習に対応した、Transformer言語モデルのポストトレーニング用Hugging Faceライブラリ。

スター
19,561
フォーク
3,086
未解決の Issue
289
最終コミット
4 時間前

これは何?

TRLは、基盤モデルのポストトレーニング用ライブラリです。教師ありファインチューニング(SFT)、グループ相対方策最適化(GRPO)、直接選好最適化(DPO)、カーネマン・トヴェルスキー最適化(KTO)、報酬モデルの学習などの手法に対応しています。各手法は、SFTTrainer、GRPOTrainer、DPOTrainer、KTOTrainer、RewardTrainerなどのTrainerクラスとして提供され、Hugging Face TransformersのTrainerをラップしています。

TRLはTransformersエコシステムを基盤とし、Accelerateを使って、単一GPUからDDP、DeepSpeed ZeRO、FSDPを利用するマルチノードクラスターまでスケールできます。PEFTと連携し、限られたハードウェアでも量子化やLoRA/QLoRAによる学習が可能です。また、最適化されたカーネルを提供するUnslothとも連携します。CLIを使えば、コードを書かずにSFT、DPO、KTOを実行できます。

また、予告なく変更される可能性のある機能を提供する実験的な領域として、trl.experimentalも用意されています。最近の更新では、ROCm経由でのAMD Instinct GPU、TorchNeuron経由でのAWS Trainiumを使った学習に対応しました。

主な機能

  • 01SFT、GRPO、DPO、KTO、報酬モデル学習用のTrainerクラス。
  • 02Accelerate、DeepSpeed、FSDPによるマルチGPU・マルチノード学習。
  • 03メモリに制約のある環境で学習できる、PEFT経由のLoRAおよびQLoRA対応。
  • 04コードを書かずにSFT、DPO、KTOを実行できるCLI。
  • 05Hugging Face TransformersおよびHub上のデータセットとの連携。

ユースケース

  • 指示データセットやチャットデータセットを使い、オープンウェイトLLMをSFTでファインチューニングする。
  • DPOを使い、人間の選好ペアに基づいてモデルをアラインメントする。
  • GRPOを使い、強化学習の報酬でモデルを学習する。
  • 後続のRLパイプラインで応答をスコアリングするための報酬モデルを学習する。

クイックスタート

  1. 1

    PyPIからライブラリをインストールする

    pip install trl
  2. 2

    Python APIから基本的なSFTトレーニングの例を実行する

  3. 3

    または、trl CLIでコマンドラインからファインチューニングする

    trl sft --model_name_or_path Qwen/Qwen2.5-0.5B --dataset_name trl-lib/Capybara --output_dir Qwen2.5-0.5B-SFT

使う前に知っておきたいこと

  • 大規模モデルのトレーニングには高性能なGPUハードウェアが必要です。READMEでは、メモリ使用量を抑える方法としてPEFT/LoRAと量子化が紹介されています。
  • trl.experimental配下の実験的な機能は、予告なく変更または削除される場合があります。

トピック

よくある質問

trl とは?
SFT、GRPO、DPO、KTO、報酬モデル学習に対応した、Transformer言語モデルのポストトレーニング用Hugging Faceライブラリ。 TRLは、基盤モデルのポストトレーニング用ライブラリです。教師ありファインチューニング(SFT)、グループ相対方策最適化(GRPO)、直接選好最適化(DPO)、カーネマン・トヴェルスキー最適化(KTO)、報酬モデルの学習などの手法に対応しています。各手法は、SFTTrainer、GRPOTrainer、DPOTrainer、KTOTrainer、RewardTrainerなどのTrainerクラスとして提供され、Hugging Face TransformersのTrainerをラップしています。
trl は無料で使えますか?ライセンスは?
trl は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
trl は今もメンテナンスされていますか?
活発にメンテナンス中。trl の最終コミットは 2026年10月21日 です。
trl は何に使えますか?
指示データセットやチャットデータセットを使い、オープンウェイトLLMをSFTでファインチューニングする。 DPOを使い、人間の選好ペアに基づいてモデルをアラインメントする。 GRPOを使い、強化学習の報酬でモデルを学習する。 後続のRLパイプラインで応答をスコアリングするための報酬モデルを学習する。
trl のインストール方法は?
PyPIからライブラリをインストールする: pip install trl Python APIから基本的なSFTトレーニングの例を実行する または、trl CLIでコマンドラインからファインチューニングする: trl sft --model_name_or_path Qwen/Qwen2.5-0.5B --dataset_name trl-lib/Capybara --output_dir Qwen2.5-0.5B-SFT
trl はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/huggingface/trl

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト