Google이 2026년 6월 3일 Gemma 4 12B를 공개했습니다. 로컬 개발자들이 가장 원하던 포지션을 정확히 겨냥한 모델입니다. 추론 성능은 충분히 강력하면서, 이미 가지고 있는 노트북에서 돌릴 수 있을 만큼 가볍습니다.

이번의 핵심은 새로운 중간 크기입니다. 기존 Gemma 4 라인업에는 작은 엣지 모델과 26B 플래그십만 있었고, 그 사이가 비어 있었습니다. 12B가 이 공백을 메웁니다. Google에 따르면 벤치마크 성능은 26B 모델에 근접하면서 메모리 사용량은 절반 미만입니다. 게다가 최근 Mac이나 중급 GPU 대부분이 이미 16GB 최소 기준을 넘기 때문에, 모델 전체가 이 안에 들어갑니다.

이 가이드에서는 12B 변형에서 무엇이 바뀌었는지 먼저 살펴보고, Ollama로 실행한 뒤 OpenCode에 로컬 프라이빗 코딩 어시스턴트로 연결하는 과정을 단계별로 안내합니다.

Gemma 4 12B의 새로운 점

  • 120억 파라미터. E4B 엣지 모델과 26B Mixture-of-Experts 플래그십 사이에 위치합니다.
  • 네이티브 멀티모달 입력. 텍스트, 비전, 오디오가 하나의 모델로 들어갑니다. 아키텍처는 인코더 없는 방식입니다. 이미지는 경량 임베딩 모듈을 통과하고, 원시 오디오는 텍스트 토큰 공간으로 직접 투영됩니다. 별도의 비전 인코더를 덧붙이는 방식보다 구조가 단순합니다.
  • 26B 모델에 근접하는 추론 성능. Google은 12B의 벤치마크 성능이 26B 변형에 근접하며, 메모리 사용량은 절반 미만이라고 보고합니다.
  • Multi-Token Prediction(MTP) 드래프터로 지연 시간을 낮춰, 토큰 하나하나를 기다리는 대화형 사용에 유리합니다.
  • 에이전트 워크플로우를 염두에 두고 설계되어 도구 호출과 다단계 코딩 루프가 부가 기능이 아니라 핵심 기능으로 동작합니다.
  • Apache 2.0 라이선스. 상업적 사용, 파인튜닝, 재배포 모두 가능합니다. Gemma 4 제품군은 누적 다운로드 1억 5천만 건을 돌파했습니다.

가중치는 Hugging Face와 Kaggle에 올라와 있으며, Transformers, llama.cpp, MLX, SGLang, vLLM에서 출시와 동시에 지원됩니다. Ollama는 llama.cpp와 GGUF 기반이므로 기존 Gemma 4 모델과 동일한 방식으로 12B를 실행할 수 있습니다.

Gemma 4 12B와 제품군 비교

변형최적 용도메모리
E4B (엣지)스마트폰, 임베디드·온디바이스 앱최소
12B (신규)노트북에서 로컬 코딩 + 비전/오디오16GB+
26B MoE (플래그십)고강도 추론, 대규모 멀티파일 작업24GB+

사양이 낮은 기기를 사용 중이거나 더 작은 기본 모델을 원한다면, 기존 Gemma 4 + Ollama + OpenCode 설정이 여전히 유효합니다. 12B는 메모리 여유가 있고 26B로 넘어가지 않으면서도 추론 성능을 눈에 띄게 끌어올리고 싶을 때 선택하는 업그레이드입니다.

준비물

  • Apple Silicon(M1–M5) 탑재 Mac, 통합 메모리 16GB 이상, 또는 16GB 이상 GPU를 탑재한 PC
  • macOS의 경우 Homebrew
  • OpenCode 설치 완료 (opencode.ai 참고)

Google이 제시한 최소 사양은 16GB입니다. 이 수준이면 일상 작업에서 12B를 쾌적하게 실행할 수 있습니다. 24GB 이상이라면 긴 세션이나 큰 컨텍스트 윈도우도 부담이 없습니다.

1단계: Ollama 설치

macOS의 경우:

brew install --cask ollama-app
open -a Ollama

Linux의 경우:

curl -fsSL https://ollama.com/install.sh | sh

메뉴 막대 아이콘(macOS) 또는 서비스가 시작될 때까지 기다린 후, 서버가 정상 작동하는지 확인합니다:

ollama list

로컬 API는 http://localhost:11434에서 실행됩니다.

2단계: Gemma 4 12B 가져오기

ollama pull gemma4:12b

기본 4비트 양자화 기준 다운로드 크기는 약 8GB입니다. 정상적으로 받아졌는지 확인합니다:

ollama list
# NAME             ID              SIZE      MODIFIED
# gemma4:12b       ...             ~8 GB     ...

간단한 동작 확인을 실행합니다:

ollama run gemma4:12b "Write a small TypeScript function that debounces a callback"

GPU가 실제로 작업을 처리하는지 확인합니다:

ollama ps
# Should show a CPU/GPU split, e.g. 12%/88% CPU/GPU

Apple Silicon에서는 최신 Ollama 빌드가 Apple의 MLX 백엔드를 자동으로 사용하므로, 가속을 위한 별도 설정이 필요 없습니다.

태그를 찾을 수 없나요? Gemma 4 12B는 방금 공개된 모델이므로, Ollama 레지스트리에 아직 gemma4:12b 태그가 등록되지 않았다면 Hugging Face에서 공식 GGUF를 받아 가져오거나, Ollama를 업데이트(brew upgrade ollama-app)한 후 다시 시도하세요.

3단계: Gemma 4 12B를 OpenCode에 연결하기

OpenCode는 ~/.config/opencode/opencode.jsonc에서 설정을 읽습니다. Ollama를 커스텀 프로바이더로 추가합니다:

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:12b": {}
      }
    }
  }
}

Ollama는 키를 검증하지 않지만, OpenCode는 여전히 인증 항목을 요구합니다. ~/.local/share/opencode/auth.json에 플레이스홀더를 추가합니다:

{
  "ollama": {
    "type": "api",
    "key": "ollama"
  }
}

OpenCode를 재시작하고 /models를 실행한 뒤, ollama/gemma4:12b로 전환합니다. 이제 코드 한 줄도 기기 밖으로 나가지 않는 코딩 어시스턴트를 갖추게 됩니다.

4단계: 모델을 계속 메모리에 유지하기

기본적으로 Ollama는 약 5분간 유휴 상태이면 모델을 언로드하므로, 터미널로 돌아올 때마다 콜드 스타트가 발생합니다. 계속 로드해 두려면:

launchctl setenv OLLAMA_KEEP_ALIVE "-1"

적용하려면 Ollama를 재시작하세요. 재부팅 후에도 유지하려면 ~/.zshrc에 다음을 추가합니다:

export OLLAMA_KEEP_ALIVE="-1"

Ollama 메뉴 막대 아이콘에서 로그인 시 시작을 활성화하면 사용자가 쓰기 전에 서버가 먼저 준비됩니다.

OpenCode에서 Gemma 4 12B가 잘 처리하는 작업

추가된 파라미터와 MTP 드래프터는 이전 작은 모델에서 아쉽게 느껴지던 작업에서 가장 큰 차이를 보여줍니다:

  • 다단계 편집. 여러 파일에 걸친 계획을 8B보다 잘 유지하므로, 작은 리팩터링이 한 번에 성공하는 경우가 많아졌습니다.
  • 코드 설명 및 리뷰. 모듈의 역할이나 버그가 숨어 있을 위치를 물으면 더 정확한 답변을 제공합니다.
  • 보일러플레이트 및 스캐폴딩. 설정 파일, 테스트 스텁, 라우트 핸들러, CRUD 레이어를 깔끔하게 생성합니다.
  • 비전 입력. 12B는 멀티모달이므로, 오류 창 스크린샷이나 UI 목업을 넘기고 수정 방법이나 컴포넌트를 요청할 수 있습니다. 별도 비전 모델을 띄울 필요가 없습니다.

아직 부족한 부분

  • 여러 파일을 동시에 바꾸는 대규모 리팩터링. 십여 개 파일에 걸친 변경을 맞추는 작업은 여전히 엇갈립니다. 12B가 8B보다 나아졌지만 근본적인 문제가 해결된 것은 아닙니다.
  • 가장 어려운 디버깅. 여러 추상화 계층에 걸치거나 깊은 도메인 지식이 필요한 버그는 여전히 프론티어 클라우드 모델이 필요한 영역입니다.
  • 16GB에서의 매우 긴 컨텍스트. 모델 자체는 큰 윈도우를 지원하지만, 16GB 기기에서는 메모리 압박 시 품질이 저하됩니다. 입력을 적절히 제한하거나 24GB 이상으로 업그레이드하세요.

하이브리드 활용: 로컬 Gemma 4 12B + 클라우드 모델

대부분의 개발자가 정착하는 구성은 일상적인 70%는 로컬로, 어려운 30%는 클라우드로 처리하는 것입니다. 각각의 선택지는 다음과 같습니다:

  • haimaker.ai — Claude Opus, GPT-5, Gemini Pro 등 수백 개 모델을 하나의 API 키로 사용할 수 있으며, 통합 가격 정책과 벤치마크를 제공해 라우팅 전에 모델을 비교할 수 있습니다.
  • Ollama — 로컬 Gemma 4 12B. 무료이고 프라이빗하며, 일상적인 편집과 읽기에 적합합니다.
  • 프로바이더 API 직접 사용 — 특정 클라우드 벤더 하나만 필요하고 프로바이더별 키를 직접 관리하고 싶을 때 적합합니다.

OpenCode에서 Ollama와 함께 Haimaker를 추가합니다:

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "gemma4:12b": {}
      }
    },
    "haimaker": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://api.haimaker.ai/v1"
      },
      "models": {
        "anthropic/claude-sonnet-4-6": {},
        "openai/gpt-5": {},
        "google/gemini-2.5-pro": {}
      }
    }
  }
}

Haimaker 키를 auth.json에 추가합니다:

{
  "ollama": {
    "type": "api",
    "key": "ollama"
  },
  "haimaker": {
    "type": "api",
    "key": "YOUR_HAIMAKER_API_KEY"
  }
}

빠른 작업에는 Gemma 4 12B를 사용하고, 작업이 어려워지면 /models에서 Sonnet이나 GPT-5로 전환하세요. 모든 작업을 프론티어 모델로 처리하는 것에 비해 클라우드 비용이 크게 줄어듭니다. 수동 전환이 번거롭다면 Haimaker 자동 라우터가 작업 복잡도를 감지해 모델을 자동으로 선택해 줍니다.

haimaker.ai에서 가입하고 전체 모델 카탈로그를 둘러보세요.

HAIMAKER API 키 받기

문제 해결

/models에 프로바이더가 표시되지 않음. 설정 수정 후 OpenCode를 재시작하세요. 실행 중에는 opencode.jsonc를 다시 읽지 않습니다.

“Model not found” 오류. ollama list를 실행하고 모델 ID를 정확히 일치시키세요. 보통 gemma4:12b입니다. 레지스트리에 아직 태그가 없다면 2단계의 Hugging Face GGUF 가져오기 참고 사항을 확인하세요.

Ollama 인증 오류. "key": "ollama"의 플레이스홀더 auth.json로 충분합니다. OpenCode는 항목이 존재하기만 하면 됩니다.

생성 속도가 느림. Apple Silicon에서 MLX 가속을 위해 최신 Ollama 빌드를 사용하고 있는지 확인하세요(ollama --version). 메모리를 많이 사용하는 앱을 닫으세요. 16GB에서는 브라우저 탭 몇 개에서 영상이 돌아가는 것만으로도 스왑이 발생할 수 있습니다.

긴 프롬프트에서 품질 저하. 16GB 기기에서의 메모리 압박 때문입니다. 컨텍스트 입력을 적절히 제한하거나, 여유를 위해 24GB 이상으로 업그레이드하세요.

유용한 Ollama 명령어

명령어설명
ollama list다운로드된 모델 목록 표시
ollama ps실행 중인 모델과 메모리 사용량 표시
ollama run gemma4:12b인터랙티브 채팅
ollama stop gemma4:12b메모리에서 언로드
ollama pull gemma4:12b최신 버전으로 업데이트
ollama rm gemma4:12b모델 삭제

결론

Gemma 4 12B는 많은 사람들이 기다려온 로컬 모델입니다. 멀티모달을 지원하고, Apache 라이선스이며, 16GB 노트북에서 일상 코딩의 대부분을 처리할 만큼 강력합니다. Ollama로 실행하고 OpenCode를 연결하면 일상 작업을 위한 프라이빗 어시스턴트를 갖추게 됩니다. 어려운 문제를 위해 클라우드 모델을 /models로 바로 전환할 수 있게 두면, 로컬 실행의 속도와 프라이버시를 유지하면서 추론 성능 한계에 부딪히지 않을 수 있습니다.


로컬 환경 구축이 처음이라면, 더 작은 기본 모델용 Gemma 4 + OpenCode 가이드로 시작하거나, OpenClaw를 에이전트로 사용 중이라면 Gemma 4 + OpenClaw 설정을 참고하세요. 클라우드 가격 정보는 모델 카탈로그에서 확인할 수 있습니다.