Gemma 4 12B란 무엇인가 — 출시 배경과 핵심 특징
2026년 6월 3일 Google DeepMind가 Gemma 4 패밀리를 공식 출시했다. 라인업은 E2B·E4B·12B·26B A4B MoE·31B Dense로 구성되며, 이 중 12B 모델은 통합 멀티모달 기능에 특화된 포지션이다.
라이선스가 눈에 띄게 달라졌다. 이전 Gemma 1·2·3은 Gemma Terms of Use로 배포되어 상업적 재배포에 제약이 있었는데, Gemma 4부터는 Apache 2.0으로 전환했다. 프로덕션 제품에 내장하거나 파생 모델을 배포할 때 별도 허가 없이 가능하다는 의미다.
아키텍처 측면의 핵심 변화는 encoder-free 멀티모달 설계다. 텍스트·이미지·오디오를 별도 인코더 없이 단일 모델 내에서 처리한다. Gemma 시리즈에서 오디오를 네이티브로 다루는 건 이번이 처음이고, 덕분에 별도 ASR 파이프라인 없이 음성 파일을 직접 프롬프트에 넣는 게 가능해졌다.
로컬 실행 전 환경 요건 체크리스트
설치에 앞서 현재 하드웨어가 어느 경로에 해당하는지 확인하자.
FP16 전체 정밀도 실행 기준으로 최소 16GB VRAM 또는 통합 메모리가 필요하다. Apple Silicon은 M2 Pro 이상의 24GB 통합 메모리 구성이 안정적이고, NVIDIA GPU라면 RTX 3090·4080 계열이 적합하다.
4비트 양자화(Q4_K_M) 기준으로는 8GB RAM 환경에서도 구동이 가능하다. M1/M2 MacBook Pro 16GB 기본 모델, RTX 3070 8GB도 여기에 해당한다. 정확도가 FP16 대비 소폭 낮아지지만 대부분의 일상 작업에서 체감 차이는 크지 않다.
CPU-only 실행도 가능하다. 다만 토큰 생성 속도가 초당 1~3토큰 수준으로 떨어져 긴 응답을 기다리는 게 불편해진다. 실사용 목적이라면 GPU 또는 통합 메모리 환경을 권장한다.
OS별로 추가로 챙겨야 할 것:
- macOS: Ollama 설치 시 MLX 백엔드가 자동으로 활용됨. 별도 CUDA 불필요
- Windows: CUDA 12.x 드라이버 설치 필요. WSL2 환경도 동일
- Linux: CUDA 또는 ROCm(AMD).
nvidia-smi로 드라이버 버전부터 확인
설치 방법 3가지 — Ollama·llama.cpp·LM Studio
Ollama — 가장 빠른 시작
Ollama는 모델 다운로드와 서버 기동을 한 줄로 처리한다.
ollama run gemma4:12b
처음 실행 시 모델 파일을 자동으로 내려받고 대화형 프롬프트를 시작한다. 백그라운드 서버(http://localhost:11434)도 자동으로 올라오므로 나중에 Python SDK나 curl로 API를 호출하기도 편하다. 모델만 미리 받아두고 싶다면 ollama pull gemma4:12b를 쓴다.
llama.cpp — 양자화 세밀 조정이 필요할 때
Hugging Face의 unsloth/gemma-4-12b-it-GGUF 리포지토리에서 GGUF 파일을 직접 받는다. 파일명에서 Q4_K_M은 4비트 중간 품질, Q3_K_S는 더 작은 용량을 뜻한다.
# 모델 다운로드
huggingface-cli download unsloth/gemma-4-12b-it-GGUF \
gemma-4-12b-it-Q4_K_M.gguf --local-dir ./models
# 실행
./llama-cli -m ./models/gemma-4-12b-it-Q4_K_M.gguf \
-p "한국 AI 산업 현황을 요약해줘" -n 512
VRAM이 빠듯하면 --n-gpu-layers 옵션으로 GPU에 올릴 레이어 수를 조절한다. --n-gpu-layers 20은 하단 20개 레이어만 GPU에 올리고 나머지를 CPU로 처리해 메모리 사용량을 줄인다.
LM Studio — GUI 환경 추천
LM Studio는 검색·다운로드·실행을 GUI로 처리하고, Chat UI와 OpenAI 호환 로컬 API 서버를 함께 제공한다. 상단 검색창에 gemma 4 12b를 입력하면 GGUF 파일 목록이 나타난다. Q4_K_M을 골라 내려받은 뒤 “Load Model”을 누르면 끝이다.
로컬 API 서버는 Local Server 탭에서 활성화하면 http://localhost:1234/v1으로 접근할 수 있다. OpenAI SDK를 그대로 쓰면서 base_url만 바꾸면 기존 코드가 그대로 동작한다.
vLLM과 SGLang도 Gemma 4 12B를 지원하지만 멀티-GPU 서버 배포 환경에 특화된 옵션이라, 단일 PC 목적이라면 위 세 가지로 충분하다.
멀티모달 기능 실전 활용 — 이미지·오디오 입력 사용법
이미지 입력
Ollama Python SDK를 쓰면 이미지 첨부가 간단하다.
import ollama
response = ollama.chat(
model='gemma4:12b',
messages=[{
'role': 'user',
'content': '이 이미지에서 텍스트를 모두 추출해줘',
'images': ['./screenshot.png'] # 로컬 경로 또는 base64 문자열
}]
)
print(response['message']['content'])
curl을 쓸 때는 이미지를 base64로 인코딩해 images 배열에 넣는다.
IMAGE_B64=$(base64 -i ./screenshot.png)
curl http://localhost:11434/api/chat -d "{
\"model\": \"gemma4:12b\",
\"messages\": [{
\"role\": \"user\",
\"content\": \"이 이미지를 설명해줘\",
\"images\": [\"$IMAGE_B64\"]
}]
}"
오디오 입력
Gemma 4 12B의 오디오 네이티브 지원은 별도 ASR 변환 없이 모델이 직접 음성 파일을 처리한다는 의미다. 이전 방식처럼 Whisper로 먼저 텍스트를 추출하고 LLM에 넘기는 파이프라인이 불필요해진다.
llama.cpp에서 멀티모달을 쓸 때는 모델과 함께 배포된 멀티모달 프로젝터 파일이 필요하다. --mmproj 플래그로 해당 파일 경로를 지정한다. mmproj 파일은 Hugging Face GGUF 리포지토리에서 모델 파일과 함께 내려받는다.
./llama-cli -m gemma-4-12b-it-Q4_K_M.gguf \
--mmproj gemma-4-12b-mmproj.gguf \
-p "이 회의 내용을 항목별로 정리해줘"
오디오 파일 입력은 이미지와 동일한 패턴으로 멀티모달 인터페이스를 통해 전달한다. WAV(16kHz, 모노)가 권장 포맷이며, Ollama는 최신 버전에서 이 설정을 내부적으로 처리한다.
활용 시나리오를 세 가지 꼽으면: 문서 스캔 OCR(이미지 → 텍스트 추출), 이미지 기반 보고서 자동 설명 생성, 음성 회의록 변환(음성 파일 직접 요약). 세 작업 모두 API 비용 없이 로컬에서 처리할 수 있다.
Claude·GPT-4o와 성능·비용 비교 — 어떤 경우에 로컬 모델이 유리한가
벤치마크 수치는 테스트 조건마다 편차가 크니 절대 숫자보다 경향을 보는 게 낫다. 공개된 평가 기준으로 Gemma 4 12B는 코딩·수학 추론에서 동급 로컬 모델 중 상위권이며, 멀티모달 이해력에서는 파라미터 수 대비 경쟁력 있는 위치다. 다만 Claude 상위 모델이나 GPT-4o 수준의 복잡한 다단계 추론에서는 여전히 격차가 있다.
비용 구조가 더 명확한 차이점이다.
| 항목 | Gemma 4 12B (로컬) | 상용 API |
|---|---|---|
| 토큰 비용 | 없음 | 입력·출력 토큰당 과금 |
| 반복 대용량 처리 | 비용 선형 증가 없음 | 요청 수에 비례 |
| 오프라인 환경 | 가능 | 인터넷 연결 필수 |
| 데이터 프라이버시 | 완전 로컬 | 외부 서버 전송 |
문서 수천 건 분류, 이미지 캡셔닝 파이프라인 같은 대량 배치 작업이나 내부 데이터를 다루는 작업이라면 로컬 실행이 월등히 유리하다.
반면 상용 API가 나은 시나리오도 분명 있다. 컨텍스트 창이 매우 길어야 하거나, 최고 수준의 코딩 에이전트 작업, 레이턴시가 극도로 중요한 실시간 서비스라면 클라우드 모델이 더 적합하다. Q4 양자화 모델로 처리하면 추론 품질이 FP16 대비 소폭 낮고, CPU-only 환경에서는 응답 속도가 실용 수준을 벗어날 수 있다.
정리하면: 반복 대용량·민감 데이터·오프라인 환경은 Gemma 4 12B 로컬, 복잡 추론·긴 컨텍스트·프로덕션 SLA는 상용 API다.
자주 겪는 문제와 해결 방법
VRAM 부족 오류 — Q4_K_M에서 Q3_K_S로 양자화 레벨을 낮춘다. Q3_K_S는 파일 용량과 VRAM 요구량이 줄어드는 대신 품질이 추가로 소폭 감소한다. llama.cpp라면 --n-gpu-layers 값을 줄여 일부 레이어를 CPU로 오프로드한다.
멀티모달 입력이 작동하지 않는 경우 — Ollama라면 ollama --version으로 최신 버전인지 먼저 확인한다. 이미지는 JPEG·PNG가 안정적이고, 오디오는 WAV(16kHz·모노)가 권장 포맷이다. llama.cpp라면 --mmproj 파일 경로가 올바른지 재확인하고, mmproj 파일과 GGUF 모델 파일의 버전이 일치하는지 체크한다.
Mac에서 MLX 가속을 직접 쓰고 싶은 경우 — Ollama가 내부적으로 MLX를 활용하지만, 명시적으로 제어하려면 mlx_lm 패키지를 직접 쓴다.
pip install mlx-lm
mlx_lm.generate \
--model mlx-community/gemma-4-12b-it-4bit \
--prompt "파이썬으로 퀵소트 구현해줘"
모델 업데이트 — Ollama는 ollama pull gemma4:12b로 최신 버전으로 갱신한다. llama.cpp·LM Studio 사용자는 Hugging Face 리포지토리의 최신 GGUF 파일로 교체하면 된다.
자주 묻는 질문
Q. Ollama, llama.cpp, LM Studio 중 어떤 걸 선택해야 하나?
진입 장벽 기준으로는 LM Studio → Ollama → llama.cpp 순서다. LM Studio는 GUI만으로 모든 걸 처리하고 Chat UI가 내장되어 있어 CLI가 낯선 사람에게 적합하다. Ollama는 한 줄 명령으로 시작하고 Python SDK·REST API 연동이 쉬워 자동화 스크립트를 붙일 때 유리하다. llama.cpp는 양자화 레벨·GPU 레이어 분배 같은 세밀한 튜닝이 필요할 때 선택한다.
Q. 4비트 양자화와 FP16의 실제 품질 차이는 얼마나 되나?
한국어 대화, 요약, 코드 작성 수준에서는 Q4_K_M과 FP16의 차이를 체감하기 어렵다. 차이가 두드러지는 건 수학 계산, 긴 컨텍스트에서의 일관성, 미묘한 지시 따르기 같은 작업이다. 8GB VRAM 환경이라면 Q4_K_M이 사실상 유일한 선택지이고, 그 범위 내에서 충분히 실용적이다.
Q. 기업 내부 문서 처리에 써도 되나?
Apache 2.0 라이선스이므로 상업적 사용·재배포 모두 허용된다. 로컬 실행이면 데이터가 외부 서버로 나가지 않아 데이터 프라이버시도 보장된다. 다만 모델 출력 정확도에 대한 보증은 없으므로, 법적·의료·금융 판단이 포함된 작업에는 사람 검토를 반드시 병행해야 한다.
Q. Gemma 4 12B와 26B A4B MoE 중 어떤 걸 선택해야 하나?
12B는 단일 GPU·통합 메모리 환경에서 멀티모달 작업을 효율적으로 처리하는 데 특화된 모델이다. 26B A4B MoE는 Mixture-of-Experts 구조로 활성 파라미터가 4B 수준이라 추론 속도가 빠를 수 있지만, 전체 모델 로딩에 더 많은 메모리가 필요하다. 이미지·오디오 멀티모달 기능을 주로 쓴다면 12B가 이 용도에 특화된 선택이다.