당신의 노트북이 더 똑똑해졌습니다: Gemma 4의 4가지 모델에 대한 완전 가이드
요약
Google의 최신 오픈 소스 모델인 Gemma 4의 4가지 변체에 대한 상세 가이드입니다. 하드웨어 제약에 맞춰 설계된 Edge, Sparse, Dense 아키텍처의 차이점과 Ollama를 이용한 로컬 배포 방법을 설명합니다.
핵심 포인트
- Gemma 4는 Apache 2.0 라이선스의 오픈 소스 멀티모달 모델임
- 하드웨어 병목 해결을 위해 세 가지 구조적 변체를 제공함
- Ollama, LM Studio, vLLM을 통해 로컬 및 프로덕션 배포 가능
- 모델별로 파라미터 수, 아키텍처, 최적 용도가 상이함
이 글은 Gemma 4 Challenge: Write About Gemma 4를 위한 제출물입니다. Gemma 4는 올해 가장 중요한 오픈 소스 (Open-source) AI 이정표 중 하나로 조용히 자리 잡고 있습니다. Google이 상업적으로 허용되는 Apache 2.0 라이선스 하에 출시한 이번 세대는, 프런티어 급 (Frontier-level) 멀티모달 (Multimodal) 애플리케이션을 완전히 개인 하드웨어에서 실행할 수 있게 하여 데이터가 기기를 절대 떠나지 않도록 보장합니다. 이번 출시가 이전 세대와 근본적으로 다른 점은 그 설계 철학 (Architectural philosophy)에 있습니다. 단순히 동일한 모델의 "소형, 중형, 대형" 체크포인트 (Checkpoint)를 출시하는 대신, Google은 특정 하드웨어 병목 현상 (Bottleneck)을 해결하도록 각각 특화되어 설계된 세 가지의 구조적으로 구별되는 변체 (Variants)를 구축했습니다. 어떻게 시작하는지 알아보고, 내부에서 어떤 일이 일어나는지 분석하며, 어떤 변체가 귀하의 특정 설정에 정확히 맞는지 계획해 보겠습니다.
빠른 시작 배포 (60초 미만)
로컬 배포를 위한 가장 빠른 방법은 Ollama를 사용하는 것입니다. Ollama는 하드웨어 감지, 양자화 (Quantization), 로컬 메모리 관리 (Local memory management)를 자동으로 처리합니다.
표준 로컬 실행:
ollama run gemma4
프로덕션 및 컨테이너화된 배포:
Ollama 백그라운드 서비스 시작
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
컨테이너 내에서 모델 실행
docker exec -it ollama ollama run gemma4
그래픽 인터페이스 (GUI) 또는 고급 프로덕션 배치 (Batching)를 위해서는, 이 가중치 (Weights)를 LM Studio (마찰 없는 UI) 또는 vLLM (고처리량 엔터프라이즈 서빙)에 직접 연결하십시오.
아키텍처 비교 매트릭스 (Architectural Comparison Matrix)
올바른 모델을 선택하려면 시스템의 하드웨어 제약 사항을 이해해야 합니다.
Q4 양자화 (Quantization) 기준 기술적 세부 분석:
| 구분 | E2B & E4B (Edge) | 26B A4B (Sparse) | 31B (Dense) |
|---|---|---|---|
| 총 파라미터 수 (Total Parameters) | 5.1B / 8.0B | 25.2B | 30.7B |
| 활성 파라미터 수 (Active Parameters) | 모두 활성화 (All fire) | 토큰당 3.8B 활성화 | 모두 활성화 (All fire) |
| 아키텍처 (Architecture) | Dense + Per-Layer Embeddings | 128-Expert Routing | Hybrid Interleaved Attention |
| 컨텍스트 윈도우 (Context Window) | 128K | 256K | 256K |
| 속도 (RTX 4090 기준) | 110+ tokens/sec | ~95 tokens/sec | ~35 tokens/sec |
| VRAM (Q4 기준) | 3.2GB / 6.0GB | ~15GB | ~19GB |
| 모달리티 (Modalities) | 텍스트, 이미지, 오디오 | 텍스트, 이미지, 비디오 | 텍스트, 이미지, 비디오 |
| 최적 용도 (Best For) | 스마트폰, Pi 5, 노트북 | 단일 소비자용 GPU | 듀얼 GPU 워크스테이션 |
세 가지 차별화된 아키텍처
아키텍처 1: 에지 변형 모델 (Edge Variants, E2B & E4B) — Per-Layer Embeddings를 적용한 Dense 모델
병목 현상 (The Bottleneck): 표준 트랜스포머 (Transformer) 구조에서는 토큰 임베딩 테이블 (Token Embedding Table)이 진입점에서 거대한 룩업 (Lookup) 테이블로 존재합니다. 소형 모델의 경우, 이 테이블 하나만으로도 아무런 처리를 시작하기도 전에 500MB~1GB의 VRAM을 점유합니다. 8GB 용량의 Raspberry Pi나 스마트폰에서는 이것이 성능을 저하시키는 결정적인 원인이 됩니다.
해결책: 레이어별 임베딩 (Per-Layer Embeddings, PLE)
E-시리즈는 이 거대한 테이블을 모든 레이어에 걸쳐 독립적이고 압축된 룩업 방식으로 분산시킵니다 (E2B는 35개, E4B는 42개):
[Token ID] ──> [Layer 1 + Mini Lookup] ──> [Layer 2 + Mini Lookup] ──> [Output]
메모리 사용량 (Memory footprint)이 캐시 라인 (Cache lines) 전체에 고르게 분산되어 CPU/GPU 캐시에 훨씬 더 효율적으로 도달합니다. 4비트 양자화 (4-bit quantization)와 결합하면 E2B의 사용량은 3.2GB까지 떨어집니다.
비밀 병기: 네이티브 오디오 인코딩 (Native Audio Encoding)
E-시리즈는 잠재 공간 (Latent space)에 직접 내장된 300M 파라미터 규모의 네이티브 오디오 인코더를 포함하고 있습니다:
[기존 방식]: 오디오 ──> Whisper ──> 텍스트 ──> LLM (1500ms 지연 시간)
[Gemma 4 E]: 오디오 ──> [네이티브 인코더] ──> 공유 잠재 공간 (50–200ms)
텍스트 번역이라는 중간 단계를 제거함으로써, 엔드 투 엔드 (End-to-end) 음성 처리 지연 시간이 극적으로 감소하여 진정한 실시간 오프라인 음성 오케스트레이션 (Voice orchestration)이 가능해집니다.
E2B 또는 E4B를 선택해야 하는 시점:
E2B: 모바일 앱, IoT, Raspberry Pi 5, 개인정보 보호가 중요한 애플리케이션
E4B: 로컬 코드 어시스턴트 (Local code assistants), 음성 우선 앱 (Voice-first apps), GPU가 없는 노트북 (가장 적절한 선택지)
아키텍처 2: 희소 변형 (Sparse Variant) (26B A4B) — 전문가 혼합 (Mixture of Experts)
병목 현상 (The Bottleneck): 토큰 생성 속도를 희생하지 않으면서 단일 소비자용 GPU (RTX 3090/4090)에서 26B 모델의 개념적 깊이를 확보해야 합니다.
해결책: 128-전문가 Top-8 라우팅 (128-Expert Top-8 Routing)
Gemma 4 A4B는 약 200M(2억) 개의 파라미터를 가진 128개의 분할된 전문가 (fractional experts)로 나뉜 25.2B 파라미터를 포함합니다. 모든 토큰에 대해, 라우터 (Router)는 오직 8개의 전문가와 1개의 영구 활성 공유 전문가 (permanently active shared expert)만을 실행합니다:
[입력 토큰] ──> [라우터] ├──> [전문가 003] ──┐ ├──> [전문가 042] ──┼──> [융합된 출력 (Fused Output)] └──> [공유 전문가] ──┘
수식:
VRAM 내 총 파라미터: 25.2B
토큰당 활성 파라미터: 8 × 200M + 500M (공유) = 3.8B
토큰당 FLOPs: 밀집형 (Dense) 26B 모델의 약 12%
결과: RTX 4090에서 초당 95개 토큰 생성
4B 수준의 속도로 26B 수준의 추론 (Reasoning) 성능을 얻을 수 있습니다.
26B A4B를 선택해야 하는 시점:
실시간 채팅 애플리케이션
함수 호출 (Function-calling)을 포함한 에이전트 워크플로우 (Agentic workflows)
코드 생성 및 디버깅
단일 소비자용 GPU에서 24/7 상시 가동
아키텍처 3: 밀집형 플래그십 (Dense Flagship) (31B) — 최대 추론 깊이
병목 현상 (The Bottleneck): 256K 컨텍스트 윈도우 (Context windows) 내에서 방대한 코드 저장소나 100페이지 분량의 문서를 처리하면 KV 캐시 (KV cache)가 폭발적으로 증가하여 VRAM을 압도하게 됩니다.
해결책: 공유 KV 캐시 (Shared KV Cache) 및 하이브리드 인터리브드 어텐션 (Hybrid Interleaved Attention)
공유 KV 캐시 (Shared KV Cache) (최종 레이어): 레이어 154는 전체 KV 텐서를 계산하며, 레이어 5560은 이를 재사용합니다. 이는 긴 컨텍스트 실행 중 피크 VRAM 사용량을 14% 절감합니다 (256K 추론 시 약 10GB 절약).
하이브리드 인터리브드 어텐션 (Hybrid Interleaved Attention): 모델은 5:1 비율로 교차 작동합니다:
5개 레이어의 슬라이딩 윈도우 어텐션 (Sliding Window Attention) ($O(N imes W)$ 복잡도, 국소적)
1개 레이어의 글로벌 어텐션 (Global Attention) ($O(N^2)$ 복잡도, 전체 컨텍스트)
상위 레이어는 지수적인 메모리 폭발 없이 중간 표현 (intermediate representations)을 통해 훨씬 이전의 정보를 "봅"니다.
사고 모드 (Thinking Mode): 31B 모델은 명시적인 사고 모드 (Thinking Mode, <|thought|> 토큰을 통해 호출됨)를 특징으로 합니다.
이 모델은 사고의 사슬 (Chain-of-Thought, CoT) 단계를 위해 전용 토큰을 할당하여, 성능을 Candidate Master 수준 (경쟁 프로그래밍 기준 Elo 2150)까지 끌어올립니다.
31B를 선택해야 하는 경우:
- 연구 및 복잡한 추론 (Complex Reasoning)
- 도메인 특화 작업에 대한 미세 조정 (Fine-tuning)
- 프로덕션 API 서버 구축
- 100페이지 이상의 문서 처리
실제 활용 시나리오: 무엇을 만들 것인가?
시나리오 1: 로컬 코드 어시스턴트 (GitHub Copilot 대안)
최적의 선택: E4B 또는 26B MoE
- E4B: MacBook Air에서 GPU 없이도 즉각적인 제안이 가능합니다. 20~40ms 내에 응답하여 몰입 상태 (Flow State)를 깨뜨리지 않을 만큼 빠릅니다.
- 26B MoE: 코드 이해도가 더 높으며, 8~12ms의 지연 시간(Latency)으로 여전히 번개처럼 빠릅니다. E4B가 놓칠 수 있는 미묘한 버그를 잡아냅니다.
MacBook에서 E4B 실행 (GPU 없음)
ollama run gemma4:4b-e4b
함수 시그니처를 입력하면 즉시 완성 코드를 얻습니다.
RTX 4090에서 26B MoE 실행
ollama run gemma4:26b-a4b
동일한 품질로 훨씬 더 빠릅니다.
왜 31B를 사용하지 않나요?
31B는 LiveCodeBench (경쟁 프로그래밍)에서 80%를 기록하고 Codeforces Elo 2150 ("Candidate Master")을 달성하여 연구용으로는 놀라운 성능을 보여줍니다. 하지만 한 줄씩 코드를 완성하는 작업에서는 2~3ms의 속도 차이가 누적됩니다. 즉, 분당 더 많은 제안을 받을 수 있고, 더 나은 사용자 경험 (UX)을 제공하며, 개발자의 만족도가 높아집니다.
실제 예시: E4B에 버그가 있는 함수를 입력하고 "이게 왜 잘못됐어?"라고 물어보세요. 코드를 어디로도 전송하지 않고 즉각적인 피드백을 받을 수 있습니다. 당신의 데이터는 기기에 그대로 머뭅니다.
시나리오 2: 도구 호출 (Tool Calling) 기능이 있는 에이전트형 챗봇 (Agentic Chatbot)
최적의 선택: 26B MoE
희소 아키텍처 (Sparse Architecture)는 에이전트 워크플로우 (Agentic Workflows)에서 탁월한 성능을 발휘합니다:
- 라우터 네트워크 (Router Network)가 (입력 관련성에 따라) 어떤 도구를 호출할지 결정합니다.
- 오직 3.8B의 활성 파라미터 (Active Parameters)만 작동하여 빠른 라우팅 결정을 내립니다.
- 공유 전문가 (Shared Expert)가 로직을 검증하고 결과를 통합합니다.
에이전트 워크플로우를 위한 의사 코드 (Pseudo-code)
response = client.chat.completions.create(
model="gemma4:26b-a4b",
messages=[
{
"role": "user",
"content": "이 폴더에 있는 모든 PDF를 찾아서 요약해줘."
} ], tools = [ { " name " : " list_files " , " description " : " 디렉토리 내 파일 목록 나열 " }, { " name " : " read_pdf " , " description " : " PDF에서 텍스트 추출 " }, { " name " : " summarize " , " description " : " 텍스트 요약 " } ] ) # MoE (Mixture-of-Experts) 라우팅은 각 단계에서 관련 있는 전문가(experts)만 활성화합니다. 왜일까요? E4B는 다단계 워크플로우 (multi-step workflows)를 수행하기 위한 추론 깊이 (reasoning depth)가 부족합니다. 31B는 과합니다. 26B MoE가 3배 더 빠른 속도로 이를 완벽하게 처리합니다. 시나리오 3: 도메인 특화 작업에 대한 미세 조정 (Fine-Tuning) 최선의 선택: 31B Dense 모델만 사용. 31B는 과적합 (overfitting) 없이 도메인 특화 패턴을 흡수할 수 있는 충분한 추론 깊이를 가지고 있습니다. 다음 작업에 완벽합니다: 의료 언어 이해, 법률 문서 분석, 맞춤형 기업 지식 베이스, 과학 논문 이해.
from transformers import AutoModelForCausalLM , AutoTokenizer
from peft import get_peft_model , LoraConfig
from transformers import Trainer , TrainingArguments
model = AutoModelForCausalLM . from_pretrained ( " google/gemma-4-31b " , load_in_8bit = True , device_map = " auto " )
tokenizer = AutoTokenizer . from_pretrained ( " google/gemma-4-31b " )
# 미세 조정 시 VRAM을 줄이기 위해 LoRA 적용
config = LoraConfig ( r = 64 , lora_alpha = 128 , lora_dropout = 0.05 , task_type = " CAUSAL_LM " )
model = get_peft_model ( model , config )
# 도메인 데이터로 학습
training_args = TrainingArguments ( output_dir = " ./gemma-4-finetuned " , num_train_epochs = 3 , per_device_train_batch_size = 4 , learning_rate = 2e-4 , )
trainer = Trainer ( model = model , args = training_args , train_dataset = your_dataset , tokenizer = tokenizer )
trainer . train ( )
E4B는 너무 작습니다. 26B MoE의 라우팅 전략은 미세 조정을 복잡하게 만듭니다. 31B가 가장 적절한 선택 (Goldilocks choice)입니다. 시나리오 4: Raspberry Pi 5 음성 비서 유일한 선택: E2B. Q4 양자화 (quantization, 3.2GB) 적용 시, E2B가 Pi 5에 들어갈 수 있는 유일한 모델입니다.
네이티브 오디오 인코딩 (Native audio encoding, Whisper 의존성 없음)을 통해 다음이 가능해집니다:
ollama run gemma4:2b-e2b 이제 다음과 같은 것들을 구축해 보세요:
- 음성 인식 비서: "Hey Gemma, 날씨가 어때?" → 완전히 오프라인으로 실행
- 오프라인 번역: 영어로 말하면 일본어 응답을 받음 — 인터넷이 필요 없음
- 스마트 홈 제어: 음성 명령이 로컬에서 실행되어 클라우드 지연 시간(latency)이 없음
- 개인정보 보호 우선 배포: 모든 처리가 온디바이스(on-device)에서 이루어지며, 외부 API 호출이 전혀 없음
300M 네이티브 오디오 인코더는 지연 시간을 제거합니다. 음성부터 응답까지 총 응답 시간은 100~300ms입니다. Whisper와 클라우드 LLM을 사용하여 이 성능을 구현해 보십시오.
시나리오 5: 연구 및 복잡한 추론 (Research & Complex Reasoning)
최선의 선택: 31B Dense
멀티홉 추론 (multi-hop reasoning), 새로운 문제 해결, 또는 깊은 의미론적 이해 (semantic understanding)가 필요할 때:
예시: 모델에게 복잡한 문제에 대해 추론하도록 요청
response = client.chat.completions.create(
model="gemma4:31b",
messages=[{
"role": "user",
"content": "이 폴더에 있는 100개의 학술 논문을 바탕으로, 떠오르는 연구 트렌드를 식별하고 이들이 어떻게 연결되어 있는지 매핑하세요."
}],
extra_body={
"thinking_mode": "enabled",
"max_thinking_tokens": 1500 # 모델이 깊이 생각할 수 있도록 허용
}
)
31B는 다음과 같은 역량을 갖추고 있습니다:
- 단일 컨텍스트 내에서 256K 토큰 문서 (100페이지 이상) 처리
- 가시적인 사고 단계(thinking steps)를 포함한 사고 사슬 (chain-of-thought) 추론 수행
- 명시적으로 학습되지 않은 새로운 문제 처리
- 일반적인 능력을 저하시키지 않으면서 니치(niche) 영역에 대한 미세 조정 (fine-tune) 가능
E2B와 E4B는 이를 처리할 수 없습니다. 26B MoE는 가능하지만, 진정으로 새로운 작업에서는 신뢰도가 약간 떨어질 수 있습니다.
프로덕션 구현 예시
Python을 통한 사고 모드 (Thinking Modes) 초기화
사고 스트림 (thinking streams)을 지원하는 로컬 러너 (local runner)에 쿼리할 때:
import openai
client = openai.OpenAI(
base_url="http://localhost:11434/v1",
api_key="ollama"
)
response = client.chat.completions.create(
model="gemma4:31b",
messages=[{
"role": "user",
"content": "이 코드에서 레이스 컨디션 (race conditions)을 분석하세요."
}]
)
}] }, extra_body = { " thinking_mode " : " enabled " , " max_thinking_tokens " : 1500 , " logit_cap " : 30.0 # 긴 추론 과정에서의 로짓 드리프트 (logit drift) 방지 } ) print ( response . choices [ 0 ]. message . content )
표준화된 샘플링 설정 (Standardized Sampling Configuration)
vLLM 또는 Hugging Face를 통해 배포하든 관계없이:
sampling_params = { " temperature " : 1.0 , " top_p " : 0.95 , " top_k " : 64 , " logit_cap " : 30.0 }
하드웨어 결정 트리 (Hardware Decision Tree)
GPU가 있습니까?
├── 아니오 (NO) ──> 모바일/IoT 장치입니까?
│ ├── 예 (YES) ──> E2B (오프라인 음성/텍스트)
│ └── 아니오 (NO) ──> E4B (노트북 CPU)
└── 예 (YES) ──> 사용 가능한 총 VRAM은 얼마입니까?
├── 8–16GB ──> E4B 또는 26B MoE (양자화 버전)
├── 24GB ──> 26B A4B (최적의 스윗 스팟)
└── 48GB+ ──> 31B Dense (플래그십 추론 모델)
핵심 통찰: 이 트리는 임의로 만들어진 것이 아닙니다. 각 분기는 아키텍처를 형성한 특정 하드웨어 제약 조건을 반영합니다:
- E2B/E4B 병목 현상: 소형 장치에서 임베딩 테이블 (Embedding tables)의 폭발적 증가 → 레이어별 임베딩 (Per-Layer Embeddings)으로 해결
- 26B MoE 병목 현상: 26B의 속도 없이 26B의 추론 능력이 필요함 → 128-전문가 희소 라우팅 (128-expert sparse routing)으로 해결
- 31B 병목 현상: 256K 컨텍스트 (context)로 인한 KV 캐시 (KV cache) 폭증 → 공유 KV (shared KV) 및 하이브리드 어텐션 (hybrid attention)으로 해결
당신의 제약 조건을 해결할 수 있는 아키텍처를 선택하십시오. 그러면 그것이 얼마나 잘 작동하는지에 놀라게 될 것입니다.
하드웨어 및 비용 현실 (Hardware & Cost Reality)
| 귀하의 설정 | 권장 모델 | 메모리 | 비용 |
|---|---|---|---|
| iPhone/iPad | E2B | 4GB | 무료 |
| MacBook Air M2/M3 | E4B | 8–16GB | 무료 |
| 게이밍 노트북 (RTX 3060) | E4B | 6GB VRAM (16GB 시스템 RAM) | 무료 |
| 데스크탑 (RTX 4090) | 26B MoE | 24GB VRAM | 무료 |
| 듀얼 GPU (2× RTX 4090) | 31B Dense | 48GB VRAM | 무료 |
| 중고 GPU (RTX 3090) | 26B MoE / 31B | 24GB VRAM | $650-800 |
가성비 최고: 2023년 이후 출시된 MacBook의 E4B 또는 중고 RTX 3090 Ti ($650-800 일회성 비용)는 실제 업무의 90%를 처리할 수 있습니다. 노트북에서 실행되는 E4B는 월 $20–100 수준의 클라우드 API와 진정으로 경쟁할 만한 수준입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기