코드 작성 없이 CLI와 웹 UI로 100개 이상의 LLM 및 VLM을 효율적으로 파인튜닝하는 통합 프레임워크입니다.
huggingface/trl
SFT, GRPO, DPO, KTO 및 보상 모델링으로 트랜스포머 언어 모델을 후속 학습하는 Hugging Face 라이브러리입니다.
- 스타
- 19,561
- 포크
- 3,086
- 열린 이슈
- 289
- 마지막 커밋
- 2시간 전
어떤 프로젝트인가요?
TRL은 파운데이션 모델의 후속 학습을 위한 라이브러리로, Supervised Fine-Tuning (SFT), Group Relative Policy Optimization (GRPO), Direct Preference Optimization (DPO), Kahneman-Tversky Optimization (KTO), 보상 모델 학습 등의 기법을 지원합니다. 각 기법은 SFTTrainer, GRPOTrainer, DPOTrainer, KTOTrainer, RewardTrainer 같은 트레이너 클래스로 제공되며, 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 및 보상 모델링을 위한 트레이너 클래스.
- 02Accelerate, DeepSpeed, FSDP를 통한 멀티 GPU 및 멀티 노드 학습.
- 03PEFT를 통한 LoRA 및 QLoRA 지원으로 메모리가 제한된 환경에서 학습 가능.
- 04코드를 작성하지 않고 SFT, DPO, KTO를 실행할 수 있는 CLI.
- 05Hugging Face Transformers 및 Hub 데이터셋과의 통합.
활용 사례
- SFT로 instruction 또는 채팅 데이터셋에 오픈 웨이트 LLM을 파인튜닝.
- 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 및 보상 모델링으로 트랜스포머 언어 모델을 후속 학습하는 Hugging Face 라이브러리입니다. TRL은 파운데이션 모델의 후속 학습을 위한 라이브러리로, Supervised Fine-Tuning (SFT), Group Relative Policy Optimization (GRPO), Direct Preference Optimization (DPO), Kahneman-Tversky Optimization (KTO), 보상 모델 학습 등의 기법을 지원합니다. 각 기법은 SFTTrainer, GRPOTrainer, DPOTrainer, KTOTrainer, RewardTrainer 같은 트레이너 클래스로 제공되며, Hugging Face Transformers의 trainer를 래핑합니다.
- trl은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- trl은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- trl은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. trl의 마지막 커밋은 2026년 10월 21일입니다.
- trl은(는) 어디에 사용할 수 있나요?
- SFT로 instruction 또는 채팅 데이터셋에 오픈 웨이트 LLM을 파인튜닝. 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 통계는 매일 갱신됩니다.
관련 프로젝트
트랜스포머 LLM 학습 과정을 처음부터 구현하고 안내하는 PyTorch 코드베이스로, 사전 학습, SFT, 보상 모델링, DPO/PPO/GRPO와 텍스트 생성을 다룹니다.
LLM, RL, RLHF, DPO, GRPO 및 관련 대규모 모델 알고리즘을 설명하는 오리지널 다이어그램 100여 개를 담은 이중 언어 자료입니다.
SFT, DPO, GRPO를 포함해 600개 이상의 대규모 언어 모델과 400개 이상의 멀티모달 모델을 미세 조정, 학습, 추론 및 배포하는 프레임워크입니다.
YAML 파일로 설정하는 무료 오픈소스 프레임워크로, 대규모 언어 모델의 미세 조정과 후속 학습을 지원합니다.
단일 YAML 설정으로 LLM을 미세 조정하고 후속 학습하는 CLI 도구로, 저VRAM 소비자용 GPU에서도 학습할 수 있습니다.