최신 AI 릴리스를 탐색하려면 단순히 프롬프트를 작성하는 법을 아는 것 이상이 필요합니다. 모델이 거대한 256K 컨텍스트 윈도우에서 복잡한 데이터를 어떻게 파싱하는지 이해하기 위해서는 포괄적인 Gemma 4 토크나이저 가이드가 필요합니다. Google의 최신 오픈 모델 진화형인 Gemma 4는 텍스트, 오디오, 시각적 데이터를 동시에 처리하도록 설계된 정교한 컨트롤 토큰 시스템을 도입했습니다. 대화형 게임 어시스턴트를 구축하든 복잡한 코딩 에이전트를 구축하든, 이러한 토큰을 마스터하는 것이 모델의 잠재력을 최대한 발휘하는 열쇠입니다.
이 Gemma 4 토크나이저 가이드에서는 새로운 대화 구조, 멀티모달 플레이스홀더의 통합, "생각 모드(Thinking Mode)" 및 에이전트 도구 호출에 사용되는 특정 토큰에 대해 자세히 설명합니다. 이 튜토리얼을 마치면 2026년에 사용 가능한 가장 효율적인 토큰화 전략을 사용하여 고유한 애플리케이션에서 구조화된 추론과 원활한 도구 루프를 구현할 수 있게 될 것입니다.
Gemma 4 토크나이저 가이드: 핵심 컨트롤 토큰 및 대화 구조
Gemma 4와의 모든 상호작용의 기초는 대화 컨트롤 토큰에 있습니다. 이전 버전과 달리 Gemma 4는 턴 테이킹(turn-taking)에 대해 더 세밀한 접근 방식을 사용하여 모델이 시스템 지침, 사용자 입력 및 자체 내부 추론 프로세스를 명확하게 구분할 수 있도록 합니다.
Gemma 4 아키텍처의 주요 변화는 <|turn> 및 <turn|> 구분 기호의 도입입니다. 이 토큰들은 대화의 모든 교환을 감싸는 괄호 역할을 하며 추론 엔진에 명확한 경계를 제공합니다.
| 토큰 | 유형 | 용도 |
|---|---|---|
| **`< | turn>`** | 경계 |
system | 역할 | 이어지는 텍스트가 시스템 지침임을 지정합니다. |
user | 역할 | 인간 사용자가 수행한 턴을 나타냅니다. |
model | 역할 | AI 어시스턴트가 생성한 턴을 나타냅니다. |
| **`<turn | >`** | 경계 |
💡 팁: 모델이 세션 내내 페르소나와 안전 제약 조건을 유지할 수 있도록 프롬프트의 맨 시작 부분에 항상 시스템 지침을
<|turn>system블록으로 감싸세요.
멀티모달 토큰 통합
Gemma 4는 네이티브 멀티모달 모델입니다. 즉, 별도의 캡션 모델을 통해 이미지를 "보는" 것이 아니라 커스텀 비전 인코더를 통해 직접 처리합니다. 이를 용이하게 하기 위해 토크나이저는 소프트 임베딩(soft embeddings)을 나타내는 특수 플레이스홀더 토큰을 사용합니다. 이는 단순한 텍스트 문자열이 아니라, 모델이 순방향 패스(forward pass) 중에 고차원 데이터로 교체하는 어휘집의 특정 인덱스입니다.
이미지나 오디오 파일로 작업할 때, 텍스트를 기준으로 모델이 데이터를 "인식"하기를 원하는 정확한 위치에 이러한 플레이스홀더를 삽입해야 합니다.
| 멀티모달 토큰 | 사용 시나리오 |
|---|---|
| **`< | image |
| **`< | audio |
| **`< | image>/<image |
| **`< | audio>/<audio |
Gemma 4를 사용하여 스케치를 기반으로 퀘스트를 설계하는 게임 개발자라면 프롬프트는 다음과 같을 것입니다:
<|turn>user\n이 게임 지도를 분석해 주세요: <|image|>\n표시된 랜드마크를 기반으로 레벨 10 퀘스트를 생성해 주세요.<turn|>\n<|turn>model
생각 모드 및 추론 토큰
2026년 Gemma 4 업데이트의 눈에 띄는 기능 중 하나는 "생각 모드(Thinking Mode)"입니다. 이를 통해 모델은 최종 답변을 내놓기 전에 숨겨진 "채널"에서 생각의 사슬(Chain-of-Thought, CoT) 처리를 수행할 수 있습니다. 이는 직접적인 응답이 환각(hallucination)으로 이어질 수 있는 복잡한 수학, 코딩 또는 논리 퍼즐에 특히 유용합니다.
이를 활성화하려면 시스템 지침에 <|think|> 토큰을 포함해야 합니다. 그러면 모델은 다음과 같은 구조를 사용합니다:
- 채널 열기: 모델이
<|channel>thought를 출력합니다. - 내부 처리: 모델이 추론 단계를 생성합니다.
- 채널 닫기: 모델이
<channel|>를 출력하고 즉시 사용자용 응답을 시작합니다.
⚠️ 경고: 표준 멀티턴 대화에서는 다음 사용자 턴이 시작되기 전에 **생성된 생각들을 히스토리에서 제거(strip)**하는 것이 중요합니다. 프롬프트에 원시 생각들을 남겨두면 모델이 이전 논리를 계속 반복하고 앞으로 나아가지 못하는 "순환 추론 루프"에 빠질 수 있습니다.
에이전트 워크플로우 및 도구 사용
Gemma 4는 "에이전트 중심(Agentic)" 모델로 설계되어 함수 호출을 통해 외부 환경과 상호작용할 수 있습니다. 토크나이저에는 모델과 애플리케이션 코드 사이의 이러한 "핸드셰이크"를 관리하기 위한 6개의 전용 토큰이 포함되어 있습니다.
Gemma 4 도구 호출 프로토콜의 독특한 기능은 <|\"|> 토큰의 사용입니다. 이는 도구 호출 내의 모든 문자열 값에 대한 범용 구분 기호 역할을 합니다. 이를 통해 문자열에 중괄호나 쉼표와 같은 문자가 포함되어 있어도 토크나이저가 이를 도구 선언의 JSON과 같은 구조와 혼동하지 않도록 보장합니다.
| 토큰 쌍 | 용도 |
|---|---|
| **`< | tool>/<tool |
| **`< | tool_call>/<tool_call |
| **`< | tool_response>/<tool_response |
도구 호출 핸드셰이크 프로세스
- 선언:
<|tool>블록 내에get_weather와 같은 도구를 정의합니다. - 호출: 모델이 날씨 정보가 필요하다고 판단하면
<|tool_call>call:get_weather{location:<|\"|>Seoul<|\"|>}<tool_call|>을 출력합니다. - 응답: 애플리케이션이 이를 가로채서 실제 코드를 실행하고
<|tool_response>response:get_weather{temp:15}<tool_response|>를 피드백합니다.
vLLM 및 Transformers를 이용한 구현
프로덕션 환경에서 Gemma 4 토크나이저 가이드를 사용하려면 vLLM과 같은 프레임워크를 사용하게 될 것입니다. 2026년 4월 현재, Gemma 4의 새로운 컨트롤 토큰을 올바르게 인식하려면 transformers==5.5.0 이상의 버전이 필요합니다.
vLLM 서버를 실행할 때, 추론 및 도구 호출 파서가 활성화되도록 특정 플래그를 사용해야 합니다. 이렇게 하면 "생각" 채널이 최종 사용자에게 표시되는 것을 방지하고 도구 호출이 API 핸들러에 의해 캡처되도록 보장할 수 있습니다.
vllm serve google/gemma-4-31B-it \
--max-model-len 32768 \
--enable-auto-tool-choice \
--reasoning-parser gemma4 \
--tool-call-parser gemma4
동적 비전 해상도
Gemma 4를 사용하면 이미지에 대한 "토큰 예산"을 구성할 수 있습니다. 이는 중요한 최적화 단계입니다. 단순한 아이콘을 분석하는 경우에는 최대 해상도가 필요하지 않습니다.
| 해상도 설정 | 토큰 비용 | 사용 사례 |
|---|---|---|
| 낮음 (Low) | 70 - 140 | 아이콘, 단순 텍스트, 썸네일 |
| 중간 (Medium) | 280 - 560 | 일반 사진, 도표, UI 스크린샷 |
| 높음 (High) | 1120 | 복잡한 지도, 법률 문서, 세밀한 인쇄물 |
메모리 최적화 및 성능
최대 256K의 컨텍스트 윈도우에서는 메모리 관리가 무엇보다 중요합니다. Gemma 4 토크나이저 가이드 전략을 사용하면 KV 캐시 풋프린트를 줄이는 데 도움이 될 수 있습니다.
- FP8 KV 캐시: vLLM에서
--kv-cache-dtype fp8플래그를 사용하여 추론 품질의 큰 손실 없이 메모리 사용량을 거의 50% 줄이세요. - 멀티모달 프로파일링: 특정 작업이 텍스트만 포함하는 경우,
--limit-mm-per-prompt image=0 audio=0을 전달하여 멀티모달 인코더를 위한 메모리 할당을 완전히 건너뛰세요. - 적응형 생각 효율성: 시스템 지침을 사용하여 모델에게 "효율적으로 생각하라"고 지시할 수 있습니다. 연구에 따르면 "LOW thinking" 지침은 단순한 작업에 대해 정확도를 유지하면서 추론 토큰 수를 약 20% 줄일 수 있습니다.
모델 아키텍처에 대한 자세한 정보는 공식 Google AI for Developers 포털을 방문하세요.
FAQ
Q: Gemma 4 토크나이저는 이전 Gemma 2 또는 3 프롬프트와 호환되나요?
A: Gemma 4가 이전 프롬프트 형식을 이해할 수는 있지만 권장되지는 않습니다. 이 모델은 <|turn> 및 <|channel> 토큰에 특별히 최적화되어 훈련되었습니다. 레거시 포맷을 사용하면 추론 정확도가 낮아지고 도구 호출에 문제가 발생할 수 있습니다.
Q: Gemma 4 토크나이저 가이드를 사용하여 단일 프롬프트에서 여러 이미지를 처리하려면 어떻게 해야 하나요?
A: 텍스트에 여러 개의 <|image|> 플레이스홀더를 삽입할 수 있습니다. 그러나 추론 엔진이 전송하려는 이미지 수(N)에 맞춰 --limit-mm-per-prompt image=N으로 구성되어 있는지 확인해야 합니다.
Q: 멀티턴 채팅에서 "생각"을 제거하는 것을 잊으면 어떻게 되나요?
A: 모델이 혼동을 일으켜 이전의 내부 독백을 현재 대화의 사실적 근거(ground truth)의 일부로 처리할 수 있습니다. 이는 종종 반복적인 출력을 생성하거나 모델이 자신의 이전 논리와 "논쟁"하는 결과를 초래합니다.
Q: 모든 도구 호출에 <|\"|> 구분 기호가 필요한가요?
A: 예. Gemma 4는 도구 블록 내에서 이 특정 토큰을 문자열 래퍼로 기대하도록 훈련되었습니다. 이를 생략하면 토크나이저가 처음 나타나는 쉼표나 중괄호에서 문자열을 끊어버려 잘못된 함수 인수가 생성될 수 있습니다.