모델별 실행 레시피
Gemma 4 12B 로컬 서빙 가이드: LM Studio·vLLM 16GB 레시피
Q4 데스크톱 경로와 공식 체크포인트 경로를 나눈 12B 로컬 서빙
쉽게 말하면
Gemma 4 12B는 호환되는 Q4 변환본을 16GB급 장비에서 시작해 볼 수 있는 밀도형 모델입니다. 텍스트 서빙을 기준으로 8K 문맥과 LM Studio 경로를 먼저 설명하고, 공식 체크포인트를 쓰는 서버 경로는 별도로 구분합니다.
장비를 고를 때
16GB 장비는 Q4 텍스트 요청의 시작점입니다. 이미지·오디오 입력, 긴 문맥, 다른 앱의 메모리 사용까지 고려하면 24GB 이상에서 운영 여유가 커집니다. 공식 BF16 경로는 32GB 이상을 기준으로 봅니다.
이 글에서 확인할 내용
- Q4 양자화(약 7.5GB)로 16GB 장비에서도 단독 풀 오프로드 서빙이 가능합니다.
- 공식 Transformers/vLLM 모델 ID는 google/gemma-4-12B-it이며 텍스트 서빙이 기준선입니다.
- LM Studio CLI를 통해 127.0.0.1:1234 포트로 로컬 엔드포인트를 개방합니다.
하드웨어별 속도 튜닝 및 서빙 레시피 요약
단일 사용자 지연시간 최소화 기준의 안전 시작 문맥, 권장 런타임, GPU 오프로드 및 예상 속도 요약입니다.
| 하드웨어 | 적합도 | 권장 런타임 | 안전 문맥 | 토큰 생성 | 첫 토큰 |
|---|---|---|---|---|---|
| MBP M5 Pro 48GB (41GB) | 메모리 적정 | LM Studio | 16,384 토큰 | 31.3 ~ 34.8 tok/s | 21.3 ~ 46.3초 |
| Studio M5 Ultra 256GB (236GB) | 메모리 적정 | LM Studio | 16,384 토큰 | 122.4 ~ 136 tok/s | 10.3 ~ 18.9초 |
| Studio M5 Ultra 512GB (480GB) | 메모리 적정 | LM Studio | 16,384 토큰 | 122.4 ~ 136 tok/s | 10.3 ~ 18.9초 |
| RTX 4090 24GB (22.5GB) | 메모리 적정 | llama.cpp (CUDA) | 16,384 토큰 | 107.1 ~ 118.5 tok/s | 7.8 ~ 8.0초 |
| 2× RTX 3090 48GB (NVLink) (45GB) | 메모리 적정 | llama.cpp (멀티 GPU) | 16,384 토큰 | 129.8 ~ 180.3 tok/s | 8.3 ~ 14.1초 |
| RTX PRO 6000 96GB (93GB) | 메모리 적정 | llama.cpp (CUDA) | 16,384 토큰 | 198 ~ 218.3 tok/s | 5.8 ~ 7.0초 |
| DGX Spark 128GB (116GB) | 메모리 적정 | llama.cpp (CUDA) | 16,384 토큰 | 27.8 ~ 30.9 tok/s | 19.7 ~ 26.6초 |
| Ryzen AI Max+ 395 128GB (116GB) | 메모리 적정 | llama.cpp (ROCm/HIP) | 16,384 토큰 | 25.4 ~ 28.3 tok/s | 110.7 ~ 204.8초 |
상세 튜닝 설정은 위 섹션에서 확인할 수 있습니다. 복사할 실행 명령은 아티팩트와 런타임 경로가 확인된 조합에만 표시합니다.
아티팩트 및 런타임 선택
Gemma 4 12B는 11.95B 파라미터 밀도형 모델로 256K 네이티브 문맥과 멀티모달 입력을 지원합니다. 데스크톱에서는 현재 런타임과 호환되는 Q4_K_M GGUF 또는 MLX 변환 파일을 확인해 사용합니다. 16GB 장비에서는 운영체제와 KV 캐시 몫을 남기고 8K 문맥부터 시험합니다.
공식 지시 튜닝 가중치(google/gemma-4-12B-it)는 BF16 가중치만 약 24GB이므로 런타임 여유를 포함해 32GB 이상을 기준으로 잡습니다. 텍스트, 이미지, 오디오 입력에 따라 요청 메모리가 달라져 텍스트 단독 추론을 기준선으로 둡니다.

로컬 서버 구동 (LM Studio CLI / vLLM)
데스크톱 로컬 서빙은 LM Studio CLI(lms)를 사용해 간편하게 실행할 수 있습니다. lms ls로 확인한 모델 식별자를 lms load 명령어로 불러오고, --gpu=max와 8K(8,192 토큰) 컨텍스트를 지정합니다.
단일 GPU Linux 서버 환경에서는 vLLM으로 구동할 수 있으며, 127.0.0.1 로컬 바인딩으로 외부 비인가 접근을 차단합니다. 네트워크에 열 때는 인증과 방화벽을 먼저 구성합니다.
LM Studio CLI 로컬 서빙 (데스크톱 16GB~24GB)
# 1. 모델 목록 확인
lms ls
# 2. GPU 최대 오프로드 및 8K 컨텍스트로 모델 로드
lms load <gemma-4-12b-identifier> --gpu=max --context-length=8192
# 3. 로컬 서버 데몬 구동 (127.0.0.1:1234)
lms server start --port 1234LM Studio가 설치된 Mac/Windows 환경에서 즉시 로컬 API를 서비스합니다.
공식 vLLM 텍스트 서빙 (NVIDIA GPU)
vllm serve google/gemma-4-12B-it --host 127.0.0.1 --port 8000 --max-model-len 8192 --gpu-memory-utilization 0.9032GB 이상 NVIDIA 환경에서 공식 instruction 가중치를 127.0.0.1:8000으로 서빙합니다.

엔드포인트 검증 및 챗 요청
로컬 서버 구동 후 curl로 /v1/models 엔드포인트를 호출하여 모델이 준비됐는지 확인합니다. 이어서 /v1/chat/completions로 짧은 질문을 보내 응답 형식, 첫 토큰 시간, 디코드 처리량을 기록합니다.
텍스트 기준 확인이 끝난 뒤 이미지나 오디오 입력을 하나씩 추가하면 어떤 입력에서 메모리와 첫 토큰 시간이 늘어나는지 구분하기 쉽습니다.
OpenAI 호환 API 테스트
curl http://127.0.0.1:1234/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "<gemma-4-12b-identifier>",
"messages": [
{"role": "user", "content": "한국어로 자기소개를 간단히 작성해줘."}
],
"max_tokens": 512
}'127.0.0.1:1234 포트로 로컬 API 호출을 검증합니다.

메모리 점검 및 트러블슈팅
16GB 장비에서는 모델 파일 크기만 보고 적합 여부를 판단하지 않습니다. 로드 뒤 실제 점유량, 8K KV 캐시, 운영체제와 다른 앱의 메모리를 합쳐 여유 공간을 확인합니다.
비전이나 오디오 입력을 활성화할 경우 추가적인 인코더 메모리가 소모되므로, 멀티모달 작업을 본격적으로 수행할 때는 24GB 이상의 메모리 환경을 추천합니다.