ゼロコードのCLIとWeb UIで、100種類以上のLLMやVLMを効率よくファインチューニングできる統合フレームワーク。
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
PyPIからライブラリをインストールする
pip install trl - 2
Python APIから基本的なSFTトレーニングの例を実行する
- 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 の数値は毎日更新されます。
関連プロジェクト
PyTorchでTransformer LLMをゼロから学べる解説とコードベース。事前学習、SFT、報酬モデル、DPO/PPO/GRPO、生成までを網羅。
LLM、RL、RLHF、DPO、GRPOなど、大規模モデルのアルゴリズムを解説する100点以上のオリジナル図解を収録したバイリンガル資料集。
SFT、DPO、GRPOに対応し、600以上の大規模言語モデルと400以上のマルチモーダルモデルのファインチューニング、学習、推論、デプロイを支援するフレームワーク。
YAMLファイルで設定できる、大規模言語モデルのファインチューニングとポストトレーニング向けの無料・オープンソースフレームワークです。
単一のYAML設定からLLMのファインチューニングや追加学習を行うCLIツール。VRAMの少ない一般向けGPUにも対応。