Gemma 4

Unsloth로 Gemma 4 파인튜닝

Unsloth는 LLM 파인튜닝을 최대 2배 빠르게 하면서 60% 적은 메모리를 사용하는 오픈 소스 라이브러리입니다. 표준 훈련 대비 정확도 손실 없이 커스텀 CUDA 커널과 최적화된 훈련 루프를 통해 이를 달성합니다.

Gemma 4는 모든 4가지 변형(E2B, E4B, 26B MoE, 31B)을 포함하여 Unsloth에서 완전히 지원됩니다. 이 가이드는 설치, 데이터셋 준비, 훈련 구성, 파인튜닝된 모델 내보내기를 다룹니다.

왜 Unsloth로 파인튜닝해야 하나요?

2배 빠른 훈련

커스텀 Triton 커널이 어텐션, MLP, 임베딩 레이어를 최적화합니다. 표준 방법으로 10시간 걸리는 파인튜닝이 Unsloth로는 약 5시간이 걸립니다.

60% 적은 메모리

지능적인 그래디언트 체크포인팅과 메모리 관리를 통해 더 작은 GPU에서 더 큰 모델을 파인튜닝할 수 있습니다. E4B 모델은 단일 RTX 3090에서 파인튜닝할 수 있습니다.

정확도 손실 제로

Unsloth의 최적화는 표준 훈련과 수학적으로 동등합니다. 근사치나 트레이드오프 없이 더 적은 연산으로 동일한 모델 품질을 얻을 수 있습니다.

간편한 내보내기

파인튜닝된 모델을 GGUF(Ollama/llama.cpp용), SafeTensors(vLLM용)로 내보내거나 Hugging Face로 바로 푸시할 수 있으며 — 모두 한 줄 명령으로 가능합니다.

설치

pip로 Unsloth를 설치합니다. Python 3.10 이상과 PyTorch 2.0 이상이 필요합니다.

pip install unsloth

빠른 시작: E4B 파인튜닝

자체 데이터셋으로 LoRA를 사용하여 Gemma 4 E4B를 파인튜닝하는 최소 예제입니다.

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="google/gemma-4-e4b-it",
    max_seq_length=4096,
    load_in_4bit=True,
)

model = FastLanguageModel.get_peft_model(
    model, r=16, lora_alpha=16,
    target_modules=["q_proj", "k_proj", "v_proj", "o_proj"],
)

# Train with your dataset
from trl import SFTTrainer
trainer = SFTTrainer(
    model=model, tokenizer=tokenizer,
    train_dataset=dataset,
    max_seq_length=4096,
)
trainer.train()

데이터셋 준비하기

Unsloth는 Gemma 4 파인튜닝을 위해 여러 데이터셋 포맷을 지원합니다.

unslothPage.datasets.formats.0.title

user/assistant 턴을 갖는 대화입니다. 챗봇과 어시스턴트 파인튜닝에 가장 적합합니다.

unslothPage.datasets.formats.1.title

지속 사전 훈련이나 도메인 적응을 위한 원시 텍스트입니다.

unslothPage.datasets.formats.2.title

선호 기반 훈련을 위한 chosen/rejected 쌍입니다.

파인튜닝을 위한 하드웨어 요구사항

unslothPage.hardware.desc

unslothPage.hardware.headers.modelunslothPage.hardware.headers.gpuunslothPage.hardware.headers.time
E2B LoRARTX 3060 (12 GB)~15 min / 1K steps
E4B LoRARTX 4060 Ti (16 GB)~25 min / 1K steps
E4B QLoRARTX 3060 (12 GB)~30 min / 1K steps
27B MoE LoRARTX 4090 (24 GB)~60 min / 1K steps
27B MoE QLoRARTX 4070 Ti (16 GB)~90 min / 1K steps

모델 내보내기

파인튜닝 후 선호하는 포맷으로 내보내세요.

# Save to GGUF for Ollama
model.save_pretrained_gguf("gemma4-custom", tokenizer, quantization_method="q4_k_m")

# Save to SafeTensors for vLLM
model.save_pretrained_merged("gemma4-custom-merged", tokenizer)

# Push to Hugging Face
model.push_to_hub_merged("your-username/gemma4-custom", tokenizer)

Unsloth + Gemma 4 자주 묻는 질문

Unsloth란 무엇인가요?

Unsloth는 커스텀 CUDA 커널을 통해 LLM 훈련을 2배 더 빠르게 하고 메모리를 60% 덜 사용하는 오픈 소스 파인튜닝 라이브러리입니다. Gemma 4, Llama, Mistral 등 인기 있는 모델 제품군을 지원합니다.

일반 소비자 GPU에서 Gemma 4 E4B를 파인튜닝할 수 있나요?

네. Unsloth의 QLoRA 4비트를 사용하면 RTX 4060(8GB)에서 E4B를 파인튜닝할 수 있습니다. LoRA는 RTX 3090(24GB)이 필요합니다. 더 큰 모델은 전문 GPU(A100/H100)나 클라우드 인스턴스가 필요합니다.

LoRA와 QLoRA의 차이점은 무엇인가요?

LoRA(Low-Rank Adaptation)는 기본 가중치를 동결한 상태에서 작은 훈련 가능 행렬을 모델에 추가합니다. QLoRA는 추가로 기본 모델을 4비트로 양자화하여 메모리를 크게 줄입니다. 둘 다 유사한 품질의 결과를 만듭니다.

파인튜닝을 위해 얼마나 많은 데이터가 필요한가요?

도메인 적응의 경우 1K-10K개의 고품질 예시가 종종 충분합니다. 지시 튜닝의 경우 5K-50K개의 대화 쌍이 잘 동작합니다. 품질이 양보다 더 중요합니다 — 1K개의 우수한 예시가 100K개의 잡음 데이터를 이깁니다.

LoRA 가중치를 기본 모델에 병합할 수 있나요?

네. Unsloth는 어댑터 오버헤드 없이 배포할 수 있도록 LoRA 가중치를 기본 모델에 병합하는 것을 지원합니다. GGUF나 SafeTensors 포맷으로 단일 병합 모델로 내보내세요.

Unsloth는 MoE 모델을 지원하나요?

네, Unsloth는 Gemma 4 26B A4B MoE 모델 파인튜닝을 지원합니다. MoE 아키텍처 특성상 LoRA는 일반적으로 공유 레이어와 전문가 라우팅에 적용되며, 유사한 활성 파라미터 수의 dense 모델보다 더 많은 VRAM을 필요로 합니다.

unslothPage.faq.items.6.q

unslothPage.faq.items.6.a

unslothPage.faq.items.7.q

unslothPage.faq.items.7.a

unslothPage.faq.items.8.q

unslothPage.faq.items.8.a

unslothPage.faq.items.9.q

unslothPage.faq.items.9.a

Gemma 4 파인튜닝 시작하기

Unsloth를 설치하고, 데이터셋을 준비하여 몇 시간 내에 커스텀 Gemma 4 모델을 만드세요.