누구에게 어떤 파인튜닝 프레임워크가 맞을까: Unsloth vs Axolotl vs TRL vs LLaMA-Factory 비교
LLM 파인튜닝 도구를 고를 때 가장 흔한 실수는 GitHub 스타 수나 벤치마크 차트만 보고 결정하는 것이다. 중요한 건 “내가 가진 GPU로, 내가 원하는 학습 방식을, 얼마나 안정적으로 돌릴 수 있는가”다. 이 글은 Unsloth vs Axolotl vs TRL vs LLaMA-Factory comparison을 속도·VRAM·멀티 GPU 관점에서 정리하고, 어떤 상황에서 어떤 도구를 선택해야 하는지 판단 기준을 제공한다.
네 도구의 본질: 엔지니어링의 방향이 결정하는 차이
네 프레임워크는 모두 PyTorch와 Hugging Face 스택 위에서 돌아간다. 따라서 기능의 유무보다 엔지니어링 자원을 어디에 투입했는지가 실제 사용 경험을 가른다. 이 관점에서 보면 네 도구는 서로 다른 길을 걸어왔고, 그 차이는 곧 선택의 기준이 된다.
Unsloth는 속도와 메모리에 올인한다. Flash Attention, LoRA 연산, Cross-Entropy 손실을 Triton 커널로 재작성하고 여러 CUDA 연산을 하나로 융합해 기본 Hugging Face 대비 2~5배 빠른 학습 속도를 제공한다1. MoE 모델에서는 최대 12배까지 속도 향상을 주장한다. 백프로퍼게이션 과정도 자동 미분에 맡기지 않고 수동으로 유도해 중간 텐서의 메모리 사용을 줄인다. 단일 GPU 환경에서의 극한 효율이 목표다.
Axolotl은 병렬 처리의 조합에 집중한다. YAML 설정 파일 하나로 DeepSpeed ZeRO-2/3, FSDP, 텐서 병렬, 컨텍스트 병렬을 조합할 수 있다. 속도 경쟁보단 “여러 GPU에서 재현 가능하게 돌리는 파이프라인”에 가치를 둔다. Ring FlashAttention을 이용한 시퀀스 병렬 처리로 단일 GPU 메모리 한계를 넘는 32K 이상의 초장문 컨텍스트 파인튜닝도 지원하며, 이는 대규모 분산 학습에서 차별화된 강점이다2.
TRL은 Hugging Face의 공식 RLHF 라이브러리다. PPO, DPO, ORPO는 물론 DeepSeek가 사용한 GRPO의 레퍼런스 구현체도 제공하며, 정렬 학습 방법의 표준으로 간주된다2. Axolotl과 LLaMA-Factory가 내부적으로 호출하는 트레이너 API를 정의하는 계층이기도 하다. 속도 최적화보다 연구 목적의 정확성과 모듈성을 우선시하며, 이 때문에 API가 버전 간에 자주 변경되어 마이그레이션이 까다로울 수 있다.
LLaMA-Factory는 가장 넓은 범용성을 추구한다. 100개 이상의 모델과 가장 다양한 학습 방법을 지원하며, 웹 UI(LlamaBoard)를 통해 비연구자도 GUI 환경에서 학습·평가·추론을 설정할 수 있다1. 자체 커널을 개발하진 않지만, 설정 파일에서 use_unsloth: true나 enable_liger_kernel: true만 추가하면 다른 도구의 최적화를 그대로 가져다 쓸 수 있는 유연함이 강점이다.
속도·VRAM·멀티 GPU: 실제 숫자로 본 차이
단일 GPU: Unsloth의 압도적 우위
Llama 3.1 8B 모델을 시퀀스 길이 2048로 QLoRA 학습할 때 Unsloth는 RTX 3080(10GB)에서도 구동된다. 다른 프레임워크는 최소 RTX 3090(24GB)을 요구한다1. 컨텍스트 길이로 보면 격차가 더 극명하다. 24GB GPU에서 Unsloth는 78,475 토큰까지 처리하는 반면, Transformers + FlashAttention 2 조합은 5,789 토큰에서 멈춘다3.
MoE 모델에서는 이 차이가 더 벌어진다. Unsloth는 GPT-OSS-20B 파인튜닝을 12.8GB 안에서 처리하지만, 같은 모델을 Transformers v5로 돌리면 73.80GB를 사용한다3. 이는 PEFT가 모든 전문가에 대해 LoRA 델타를 미리 계산하는 문제를 Unsloth가 연산 순서 재배치로 우회하기 때문이다. Axolotl도 자체 Triton 커널과 SonicMoE LoRA를 도입해 최대 1.45배 속도 향상과 30% 메모리 절감을 달성했지만, 이는 Unsloth에서 영감을 받은 후발 대응이다3. LLaMA-Factory는 자체 커널 없이 타 도구의 최적화를 플래그로 활성화하는 전략을 취한다.
멀티 GPU: 순위가 뒤집힌다
GPU가 여러 대 필요해지면 Unsloth의 단일 GPU 우위는 큰 의미를 잃는다. 멀티 GPU 지원은 아직 수동 설정에 의존하며, 공식 지원도 “곧 발표 예정”인 상태다3.
진짜 강자는 Axolotl이다. FSDP와 텐서·컨텍스트·전문가 병렬 처리를 DeviceMesh로 조합할 수 있으며, FSDP+TP+CP 같은 삼중 조합도 지원한다. 시퀀스 병렬 처리로 GPU 8대에서 129,024 토큰 컨텍스트까지 확장되며, 처리량 효율은 떨어지지만 컨텍스트 확장 자체는 거의 선형적으로 이루어진다3.
TRL도 Ring Attention(FSDP2)과 ALST/Ulysses(DeepSpeed)라는 두 가지 시퀀스 분할 백엔드를 제공한다. Ring Attention은 100만 토큰 이상의 초장문에 적합하고, Ulysses는 NVLink 환경에서 50만 토큰까지 효율적이다3. TRL의 자체 벤치마크에서는 H100 8대로 Qwen3-8B를 30만 토큰 이상의 컨텍스트에서 학습할 수 있었다.
LLaMA-Factory는 Megatron-core 기반의 대규모 분산 학습 경로를 열었지만, 분산 설정은 웹 UI가 아닌 YAML과 CLI로만 가능하다. 웹 UI의 편리함을 기대하고 도입한 팀이라면 GPU 한 대를 넘어서는 순간 러닝 커브가 급증한다는 점을 염두에 두어야 한다.
무엇을 선택할 것인가
GPU 한 대로 최대 효율을 뽑고 싶다면: Unsloth. RTX 3080에서 8B 모델을 돌릴 수 있는 유일한 선택이다.
여러 GPU로 재현 가능한 프로덕션 파이프라인을 구축 중이라면: Axolotl. YAML 설정 하나로 모든 병렬 처리 전략을 조합할 수 있다.
RLHF·GRPO·DPO 같은 정렬 학습이 목적이라면: TRL. 표준 구현체이자 나머지 도구들이 의존하는 기반이다.
파인튜닝을 처음 접하고 빠르게 시험해보고 싶다면: LLaMA-Factory. 웹 UI가 진입 장벽을 낮춰준다.
핵심은 하나의 도구가 모든 상황에서 최고일 수 없다는 점이다. TRL에 Unsloth를 결합해 속도를 높이거나, Axolotl이 TRL의 트레이너를 호출하는 구조는 이 도구들이 경쟁보다 상호 보완에 가깝다는 걸 보여준다. 자신의 GPU 환경과 학습 목표를 먼저 정의한 뒤, 그에 맞는 조합을 선택하자.
1Fine-tuning Tools Comparison | Guides | Clore.ai
2EVAL #003: Fine-Tuning in 2026 - Axolotl vs Unsloth vs TRL vs LLaMA-Factory
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
