2026-07-22 로그
VLM 데모 튜닝 — 한국어가 모델 선택을 뒤집었다
Qwen3-VL은 영어는 완벽했지만 한국어에서 반복·환각이 심했다. 결국 데모 모델을 Gemma 3 12B로 교체한 과정의 기록.
VLM 데모를 열자마자 문제가 보였다. 스시 사진을 "장면 묘사"로 물으면 "참돔 - 생선의 고기로 구성됨"이 열 번 반복되는 식의 답이 나왔다. 조정 과정을 기록한다.
시도한 것들
| 시도 | 결과 |
|---|---|
| 샘플링 조정 (temperature 0.7 → 1.0, top_p 조정) | 실패 반복은 줄지 않고 환각 증가 ("달걀자극 스테이크") |
| repetition penalty + 반복 금지 시스템 프롬프트 | 실패 스시가 "수제 과일"이 되는 등 오히려 품질 저하 |
| Qwen3-VL 4B → 8B 업그레이드 | 부분 나아졌지만 문단 단위 반복은 여전 |
| 같은 8B에 영어로 질문 | 완벽 salmon·tuna·shrimp nigiri, maki 4롤, 생강·와사비까지 정확 |
| Gemma 3 12B로 교체 (한국어) | 해결 유창하고 정확, 반복 없음 |
영어 테스트가 결정적이었다. 시각 인식은 멀쩡한데 한국어 "생성"이 무너지는 것 — 4bit 양자화된 중소형 모델에서 비주류 언어의 유창성이 먼저 깨진다는 얘기다. 벤치마크 순위(Qwen3-VL이 위)와 실사용 품질(한국어에선 Gemma가 위)이 갈린 사례.
배운 것
- 출력 언어의 생성 품질을 먼저 검증하라. VL 벤치마크는 대부분 영어 기준이다. 한국어 서비스라면 한국어로 먼저 찔러봐야 한다.
- 반복 루프는 샘플링으로 안 잡힌다. 언어 능력 부족이 원인일 때 페널티 조정은 반복을 환각으로 바꿀 뿐이었다.
- 동적 모델 전환의 함정. VLM 서버에서 요청
model필드로 Gemma를 지정하면 이미지 처리가 깨진 채 그럴듯한 상상을 답했다(이미지 토큰은 들어갔는데 전혀 다른 장면 묘사). 비전 모델은 프로세서까지 함께 로드되도록 서버에 네이티브로 지정해야 했다.
조정 결과
- VLM 데모 모델: Qwen3-VL-4B → Gemma 3 12B(4bit, ~7GB). 생성 ~14 tok/s로 느려졌지만 품질을 택했다.
- 노드 1 메모리 재배치: VLM 7GB 상주로 인해 Qwen3-14B(8.4GB) 채팅은 노드 2로 이관. 이제 노드 1 = 채팅 4B + VLM 12B, 노드 2 = 채팅 8B·14B·gpt-oss-20b.
- 부팅 시 GPU 메모리 한도 상향 데몬을 노드 1에도 설치.