본문 바로가기

LLM

SLM 실전 가이드 — Gemma 4, Qwen3.5, Phi-4로 API 비용 95% 줄이는 법

반응형

Claude API 쓰다 보면 월말에 이런 청구서가 날아와요.

API 비용: $3,200
예산: $500

원인은 단순해요. 모든 요청에 수천억 파라미터 모델을 쓰고 있어서예요.

고객이 "배송 얼마나 걸려요?"라고 물어봐도 Claude Opus가 답하고 있어요.

SLM(Small Language Model)은 이걸 해결해요.


SLM이 뭔가

LLM: 100B ~ 1T+ 파라미터
SLM: 500M ~ 10B 파라미터

LLM:
→ H100 GPU 여러 장 필요
→ API 비용 높음
→ 응답 느림

SLM:
→ RTX 4070 노트북 1대로 가능
→ 로컬 실행 시 비용 거의 0
→ 응답 빠름

2026년 기준으로 프로덕션 AI 업무의 80%는 SLM으로 충분해요.


2026년 주요 SLM 정리

Microsoft Phi-4 Mini (3.8B)

특징:
- 추론, 수학, 코딩에 특화
- 핸드폰에서도 실행 가능
- SimpleQA 91.1% (10배 큰 모델과 동급)
- MIT License

VRAM: 4GB+
추천 용도: 수학 문제 풀이, 코드 완성, 온디바이스 AI

Qwen3.5-9B (Alibaba)

특징:
- 9B인데 GPT-OSS-120B(13배 큰 모델) 성능 능가
- 201개 언어 지원
- 멀티모달 네이티브 (이미지 + 텍스트)
- Apache 2.0

VRAM: 8GB+
추천 용도: 다국어 서비스, 비전+텍스트 통합, 성능 우선

Google Gemma 4 (2B / 4B / 26B MoE / 31B)

2026년 4월 2일 출시. Gemini 3 연구 기반이에요.

라인업:
E2B   — 2.3B 유효 파라미터. 모바일/엣지 전용. 오디오 지원
E4B   — 4.5B 유효 파라미터. 컨슈머 하드웨어
26B MoE — 26B 전체 / 4B 활성. 속도+품질 균형
31B Dense — 플래그십. 파인튜닝 최적

공통 특징:
- 멀티모달 (텍스트, 이미지, 비디오 전 모델)
- E2B/E4B는 오디오까지
- 컨텍스트: E2B/E4B 128K, 26B/31B 256K
- Thinking 모드 내장 (단계별 추론)
- 함수 호출 네이티브 지원
- Apache 2.0
- 140개+ 언어

벤치마크 (31B):
AIME 2026:    89.2%
LMArena:      1452점
LiveCodeBench: 경쟁력 있음

VRAM:
E2B: 4GB, E4B: 6GB
26B MoE: 약 16GB (활성 파라미터 4B라 빠름)
31B: 약 19GB

SGLang으로 서빙하기

설치

pip install sglang[all]

Gemma 4 서빙

# E4B (소형, 빠름)
python -m sglang.launch_server \
  --model-path google/gemma-4-4b-it \
  --port 30000

# 26B MoE (균형)
python -m sglang.launch_server \
  --model-path google/gemma-4-26b-it \
  --port 30000

# 31B Dense (고품질)
python -m sglang.launch_server \
  --model-path google/gemma-4-31b-it \
  --tp 2 \  # GPU 2장
  --port 30000

Qwen3.5-9B 서빙

# Thinking 모드 포함
python -m sglang.launch_server \
  --model-path Qwen/Qwen3.5-9B-Instruct \
  --reasoning-parser qwen3 \
  --port 30000

Phi-4 Mini 서빙

python -m sglang.launch_server \
  --model-path microsoft/Phi-4-mini-instruct \
  --port 30000

사용 (OpenAI 호환)

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:30000/v1",
    api_key="sglang"
)

response = client.chat.completions.create(
    model="google/gemma-4-4b-it",
    messages=[{"role": "user", "content": "고객 이메일 분류해줘"}]
)

기존 Claude/OpenAI API 코드에서 base_url만 바꾸면 돼요.


파인튜닝 — 도메인 특화 모델 만들기

500~1,000개 예시만 있으면 돼요.

from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import LoraConfig, get_peft_model

# Gemma 4 E4B 파인튜닝 (8GB VRAM)
model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-4-4b-it",
    load_in_4bit=True,
    device_map="auto"
)

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.1,
    task_type="CAUSAL_LM"
)

model = get_peft_model(model, lora_config)

# 학습 데이터
train_data = [
    {
        "instruction": "고객 이메일 분류해줘",
        "input": "배송이 3일 늦었어요. 환불 원해요.",
        "output": "불만/환불요청"
    }
    # 500~1000개
]

비용:

RTX 3090 (24GB VRAM):
- 시간: 2~4시간
- 전기세: $0.5~$2
- Google Colab Pro: $10 이하

도메인 특화 SLM이 일반 LLM을 이기는 경우가 많아요.

법률 문서 전용 Gemma 4 E4B (파인튜닝):
계약서 검토 정확도: 94%

GPT-5 일반 모델:
계약서 검토 정확도: 87%

하이브리드 아키텍처 — 실제 프로덕션 패턴

def process_request(user_message: str) -> str:
    # 1단계: SLM으로 복잡도 분류
    complexity = classify_with_slm(user_message)

    if complexity == "SIMPLE":
        # SLM으로 처리 (로컬, 비용 거의 0)
        return answer_with_slm(user_message)
    else:
        # 복잡한 경우만 Claude API
        return answer_with_claude(user_message)

# 80% 요청이 SLM 처리 → 비용 75% 절감

비용 비교

월 10,000건 처리 기준:

Claude Sonnet API:   $450/월
SLM 로컬 서버:       $30~$80/월 (서버 전기/임대비)
→ 80~93% 절감

API 완전 제거 시:
초기 GPU 투자: RTX 4090 $1,500
손익분기점: 3~4개월

VRAM별 추천 모델

4GB: Gemma 4 E2B, Phi-4 Mini
6~8GB: Gemma 4 E4B, Qwen3.5-9B
16GB: Gemma 4 26B MoE (활성 4B라 빠름)
19~24GB: Gemma 4 31B Dense

M-시리즈 맥북은 통합 메모리라 램이 VRAM 역할을 해요. M2 Pro 16GB면 Gemma 4 26B MoE 쾌적하게 돌아요.


SLM 쓰면 안 되는 경우

❌ SLM 부적합:
- 복잡한 멀티스텝 추론
- 넓은 분야 일반 지식
- 긴 컨텍스트 창의적 글쓰기
- 최신 정보 (학습 데이터 cutoff 이후)

✅ SLM 최적:
- 반복적 분류 작업
- 특정 도메인 Q&A
- 짧은 텍스트 생성
- 개인정보 민감한 데이터
- 오프라인 환경
- 빠른 응답 필요

 

반응형