Unsloth로 Qwen3 파인튜닝하기

Unsloth로 Qwen3 파인튜닝하기

이 가이드는 Unsloth로 Qwen3 모델을 쉽게 훈련하는 방법을 알려드려요. Unsloth는 로컬 모델 훈련을 단순화해서, 로딩과 양자화부터 훈련, 평가, 실행, 그리고 Ollama·llama.cpp·vLLM 같은 추론 엔진으로의 배포까지 모두 처리해 줘요. Qwen 모델을 2배 더 빠르게, VRAM은 70% 덜 써서 훈련할 수 있답니다.

출처: 문서

본문

GitHub 저장소: Unsloth

⭐ 핵심 기능

  • 전체 파인튜닝(full fine-tuning), 사전 훈련(pretraining), LoRA, QLoRA, 8-bit 훈련 등을 지원해요
  • 단일 및 멀티 GPU 지원 (Linux, Windows, Colab, Kaggle; NVIDIA GPU, 곧 AMD & Intel)
  • 모든 transformer 모델과 호환: TTS, 멀티모달, STT, BERT, RL
  • RLHF 지원: GRPO, DPO, DAPO, RM, PPO, KTO 등
  • 직접 작성한 Triton 커널과 수동 역전파 엔진 덕분에 정확도 저하가 없어요 (0% 근사화)

퀵스타트

로컬 설치 (Linux 권장):

pip install unsloth

Unsloth의 전체 설치 안내는 여기에서 확인할 수 있어요.

Unsloth로 Qwen3 파인튜닝하기

Unsloth는 Qwen3 파인튜닝을 2배 더 빠르게, VRAM 사용을 70% 줄이고, 컨텍스트를 8배 더 길게 지원해요. Qwen3 (14B)는 무료 16 GB Colab Tesla T4 GPU에 들어가요.

Qwen3의 추론 능력을 유지하려면 추론 데이터셋 75% 대 비추론 데이터셋 25% 비율을 사용하세요 (예: NVIDIA의 수학 추론 데이터셋 + Maxime의 FineTome). 자세한 내용은 Unsloth의 전체 Qwen3 파인튜닝 가이드를 참고하세요.

Colab 노트북

  • Qwen3 (14B) Reasoning + Conversational
  • Qwen3 (4B) Advanced GRPO LoRA
  • Qwen3 (14B) Alpaca (Base model)

Unsloth를 로컬에서 업데이트하려면:

pip install --upgrade --force-reinstall --no-cache-dir unsloth unsloth_zoo

Qwen3 MoE 모델 파인튜닝하기

지원되는 MoE 모델에는 30B-A3B와 235B-A22B가 있어요. Unsloth는 30B-A3B 모델을 단 17.5 GB VRAM으로 파인튜닝해요. 라우터 레이어 파인튜닝은 기본적으로 비활성화되어 있어요.

MoE 파인튜닝에는 FastModel을 사용하세요:

from unsloth import FastModel

model, tokenizer = FastModel.from_pretrained(
    model_name="unsloth/Qwen3-30B-A3B",
    max_seq_length=2048,
    load_in_4bit=True,
    load_in_8bit=False,
    full_finetuning=False,
)

노트북 가이드

엔드투엔드 전체 과정을 보려면 Unsloth의 전체 엔드투엔드 파인튜닝 가이드를 참고하세요.

노트북을 열고 → Runtime ▸ Run all을 클릭하세요. 노트북 안에서 설정(예: 모델 이름, 컨텍스트 길이)을 직접 조정할 수 있어요:

  • max_seq_length: 2048 권장 (Qwen3는 최대 40960 지원)
  • load_in_4bit=True: 메모리 사용을 4배 줄여요
  • 전체 파인튜닝(full_finetuning=True) 또는 8-bit 훈련(load_in_8bit=True) 활성화 가능

ModelScope에서 모델을 직접 사용하고 싶다면:

pip install modelscope -qqq
import os
os.environ["UNSLOTH_USE_MODELSCOPE"] = "1"

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Qwen3-4B-Base",
    max_seq_length=2048,
)

Qwen3로 RL & GRPO

Unsloth로 Qwen 모델을 강화학습(RL)으로 훈련할 수도 있어요. 근접 기반 보상 스코어링과 Hugging Face의 Open-R1 수학 데이터셋을 활용한 Unsloth의 고급 GRPO 노트북을 살펴보세요: Qwen3 (4B) Advanced GRPO LoRA 노트북.

  • 더 가까운 답변에 대한 근접 기반 보상
  • 커스텀 GRPO 포맷과 템플릿
  • 정규식 매칭을 통한 평가 정확도 향상

리소스 & 링크

이렇게 하면 Unsloth로 Qwen 모델을 쉽게 훈련할 수 있어요. 도움이 필요하다면 Unsloth의 Discord나 GitHub 페이지에서 토론에 참여해 보세요.

링크:

  • Unsloth 문서
  • Unsloth Discord
  • Unsloth 웹사이트
  • Unsloth Reddit

더 알아보기 (Learn more)