Gemma 4를 로컬에서 Ollama와 OpenCode로 실행하기
Source: Dev.to
번역을 진행하려면 실제 텍스트(본문 내용)를 제공해 주시겠어요?
본문을 알려주시면 요청하신 대로 한국어로 번역해 드리겠습니다.
첫 단계
Gemma 4를 Ollama에서 실행하기 위한 일반적인 첫 번째 단계는 모델을 가져오는 것입니다:
ollama pull gemma4:e4b
사용 가능한 모델을 확인하고 시스템에 맞는 올바른 버전을 선택하세요.
하드웨어가 지원한다면 e4b 변형이 좋은 시작점입니다.
모델이 사용 가능한지 확인하세요:
ollama list
테스트
모델을 실행하여 정상적으로 동작하는지 확인합니다:
ollama run gemma4:e4b
간단한 질문을 하거나 “Hello”라고 말한 뒤 /bye 로 종료합니다.
즉시 ollama ps 를 실행합니다. 다음과 같은 출력이 나타나야 합니다:
NAME ID SIZE PROCESSOR CONTEXT UNTIL
gemma4:e4b c6eb396dbd59 10 GB 100% GPU 4096 4 minutes from now
CONTEXT 값에 특히 주의하세요.
4096 이 표시되면 Ollama가 기본 4 K 컨텍스트 윈도우를 사용하고 있다는 뜻입니다. 이는 OpenCode에서 모델을 사용할 때(예: 모델이 “원하는 작업을 알려 주세요”라고 반복) 문제를 일으킬 수 있습니다. 시스템 프롬프트가 사용 가능한 컨텍스트 대부분을 차지해 프롬프트가 잘려버리기 때문입니다.
컨텍스트 윈도우 늘리기
OpenCode에서는 컨텍스트 크기를 지정할 수 있지만, Ollama 기반 모델에서는 신뢰성 있게 동작하지 않을 수 있습니다. 대신 Ollama 내부에서 더 큰 컨텍스트 윈도우를 설정합니다:
ollama run gemma4:e4b
# Ollama 프롬프트 안에서 실행:
/set parameter num_ctx 32768
/save gemma4:e4b-32k
/bye
그런 다음 새 모델이 존재하는지 확인합니다:
ollama list
num_ctx 에 대한 참고 사항:
- 2의 거듭 제곱이어야 합니다(예: 32 K 윈도우는 32768).
- 작은 윈도우(16 K)도 충분할 수 있으며, 큰 윈도우(64 K, 128 K)는 VRAM/메모리 사용량을 증가시킵니다.
- 하드웨어에 맞는 크기를 선택하세요.
/save 로 저장하는 모델 이름은 자유롭게 지정할 수 있습니다 – 컨텍스트 크기를 나타내기 위해 -32k 같은 접미사를 추가하면 됩니다.
OpenCode에서 모델 사용하기
이미 OpenCode에 익숙하다고 가정하고, 새 모델을 opencode.json에 추가합니다 (전역 ~/.config/opencode/opencode.json 혹은 프로젝트 폴더에).
{
"$schema": "https://opencode.ai/config.json",
"default_agent": "plan",
"compaction": {
"auto": true,
"prune": true,
"reserved": 8192
},
"provider": {
"ollama": {
"name": "Ollama",
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "http://localhost:11434/v1"
},
"models": {
"gemma4:e4b-32k": {
"name": "gemma4:e4b-32k",
"_launch": true,
"id": "gemma4:e4b-32k",
"tool_call": true,
"options": {
"temperature": 0.1
},
"maxTokens": 16384
},
"ministral-3:8b-OC32k": {
"_launch": true,
"id": "ministral-3:8b-OC32k",
"name": "Ministral 3 8B (32k)",
"options": {
"temperature": 0.1
},
"maxTokens": 16384
}
}
}
}
}
중요한 필드
| 필드 | 의미 |
|---|---|
| name | OpenCode TUI에 표시되는 친숙한 라벨 (예: “Gemma 4 (32k)”). |
| id | 명령줄에서 사용하는 식별자, 예: opencode run PROMPT --model gemma4:e4b-32k. |
| _launch | 보통 true 로 설정; ollama launch opencode 실행 시 필요합니다. |
| tool_call | Gemma가 툴 호출을 처리하도록 true 로 설정해야 합니다; 그렇지 않으면 “task” 툴에서 멈춥니다. |
| options | 모델별 옵션 (예: temperature). |
| maxTokens | 프롬프트에 대해 기대하는 최대 출력 길이. |
OpenCode 실행
opencode.json이 설정된 상태에서 OpenCode를 실행합니다:
cd path/to/project
opencode
OpenCode TUI가 나타납니다. 모델 선택 메뉴(Ctrl‑P 또는 Ctrl‑X m)를 열고 “ollama”로 필터링하면 gemma4:e4b-32k가 표시됩니다. 선택하세요.
이제 로컬 Gemma 모델을 사용하고 있습니다. 필요에 따라 질문을 하거나 작업을 실행하거나 프로젝트를 구축하는 등 자유롭게 상호작용하세요. 성능은 하드웨어에 따라 달라지며, 약 16 GB VRAM을 가진 시스템은 모델이 로드된 후 보통 1‑2초 정도의 응답 지연이 발생합니다.
관찰
저는 실제 작업에 Gemma 4를 이제 막 사용하기 시작했습니다. 성능은 충분하지만 다른 모델보다 좀 더 명시적인 지시가 필요할 때가 있습니다. 컨텍스트 윈도우를 조정하고 옵션(예: temperature)을 튜닝하면 보다 원활한 상호작용을 얻을 수 있습니다.
기본 Zen Big Pickle 모델은 사과 대 사과 비교가 아닙니다. 그래도 지금까지 모델은 충분히 유능합니다. 진짜 시험은 제가 이 모델을 제 market analysis 프로젝트에 사용해 볼 때가 될 것입니다.
결론
도움이 되었기를 바랍니다. 제 정보가 틀렸거나 개선될 수 있다면 알려 주세요.
LLM을 로컬에서 실행한 경험은 어떠신가요? 댓글로 알려 주세요.