# benchmark_model.md
## 모델 벤치마크 및 검토 기록
## 작성: 2026-03-29

---

# 1. 테스트 환경
- 서버: llama (AMD ROCm GPU, VRAM ~96GB)
- llama.cpp server + --jinja
- 테스트 방식: 직접 HTTP API 호출 / 실제 로컬 서버 로드
- 목적: 멀티에이전트 상시 운용 모델 + 특수 작업 모델 + 비전 모델 선별

---

# 2. 코딩/분석 계열 벤치마크

## 2.1 기본 비교
| 모델 | 크기 | VRAM | 간단코드 | KIS 작업 | 생성 속도 | 비고 |
|------|------|------|---------|----------|----------|------|
| Qwen2.5-7B | 4GB | 5GB | 3초 | 10초 | ? | 구형 |
| Qwen3.5-9B-Uncensored-HauhauCS | 5.6GB | 5GB | 3.7초 | 54초 | 37.6 t/s | 가벼운 보조 모델 |
| Qwen3.5-27B-Claude-Opus | 16.5GB | 16GB | 13.6초 | 161초 | 12.6 t/s | 품질 좋지만 느림 |
| Qwen2.5-Coder-32B | 18GB | 18GB | ❌ | ❌ | - | 툴호출 불가 |
| Qwen3-Coder-Next Q6 | 76GB | 68GB | 12초 | 50초 | ~11 t/s | VRAM 과다 |
| **Qwen3.5-122B-A10B-MoE-IQ3_XXS** | 47GB | **45GB** | **6초** | **37.7초** | **36.5 t/s** | 최고 성능 |

## 2.2 확장 테스트
### 복잡 코딩
| 모델 | 결과 | 산출물 | 시간 |
|------|------|--------|------|
| 122B MoE | ✅ | 6327자 / 203줄 | 44초 |
| 9B | ✅ | 281자 / 13줄 | 6.6초 |
| 27B Claude | ✅ | 362자 / 9줄 | ~30초 |

### 플랜/스케줄 작성
| 모델 | 결과 | 산출물 | 시간 |
|------|------|--------|------|
| 122B MoE | ✅ | 6196자 / 202줄 | 53초 |
| 9B | ✅ | 693자 / 22줄 | ~20초 |
| 27B Claude | ✅ | 1290자 | ~30초 |

### 뉴스 분석
| 모델 | 결과 | 산출물 | 시간 |
|------|------|--------|------|
| 122B MoE | ✅ | 5827자 / 117줄 | 49초 |
| 9B | ✅ | 1621자 / 44줄 | ~30초 |
| 27B Claude | ⚠️ | 타임아웃 | - |

## 2.3 해석
### 122B MoE
- 장점:
  - 속도와 품질이 동시에 높음
  - 복잡 코드 / 긴 플랜 / 장문 분석에 강함
  - 출력 구조가 가장 풍부함
- 단점:
  - VRAM 45GB로 상시 운용 부담 큼
- 최종 판단:
  - **특수 작업용 수동 로드 모델**
  - 상시 모델은 아님

### Qwen3-Coder-Next-Q3_K_M
- 장점:
  - 코딩 전용으로 빠르고 안정적
  - 상시 실행기 용도로 적합
- 단점:
  - 경우에 따라 품질 하한선이 낮을 수 있음
- 최종 판단:
  - **Coder 메인 채택**

### Qwen3.5-9B-Uncensored-HauhauCS
- 장점:
  - 매우 가볍고 빠름
  - QA/보조 실행기로 적합
- 단점:
  - 장문/복잡 구조 생성은 약함
- 최종 판단:
  - **QA 전용 채택**

### Qwen2.5-Coder-32B
- 문제:
  - 툴호출 실패
  - 실사용 불가
- 최종 판단:
  - **삭제**

### Qwen3-Coder-Next Q6
- 문제:
  - VRAM 68GB 사용
  - 상시 멀티모델 구조 불가
- 최종 판단:
  - **삭제**

---

# 3. 비전 모델 벤치마크

## 3.1 후보
- Qwen3-VL-8B-Instruct
- HauhauCS Qwen3VL-8B-Uncensored
- moondream2
- (검토 후 제외) 4B/2B 계열

## 3.2 1차 텍스트 벤치
| 모델 | VRAM | 응답 | 속도 |
|------|------|------|------|
| Qwen3-VL-8B-Instruct | 11% | OK | 52.7 tok/s |
| **HauhauCS Qwen3VL-8B-Uncensored** | **8%** | OK | **81.9 tok/s** |
| moondream2 | 7% | 빈 문자열 | 불안정 |

## 3.3 실전 OCR 테스트
테스트 이미지: 전주번호/전봇대 표찰 사진

### HauhauCS Qwen3VL-8B-Uncensored 결과
- 추출 결과:
  - 위험
  - 1658S
  - 223
  - 가수원선
  - 85
  - R63L13
  - R7
  - 1404
  - 14M
  - (중동본부)
  - 0
  - 123
- 메인 전주번호 추정: **1658S**
- 응답시간: **2.15초**

### Qwen3-VL-8B-Instruct
- 로드/텍스트 응답은 성공
- OCR 실전 비교는 HauhauCS보다 우세한 근거 확보 실패
- 속도/VRAM 면에서 열세

### moondream2
- 기본 텍스트 응답부터 불안정
- 메인 비전 후보 탈락

## 3.4 해석
### HauhauCS Qwen3VL-8B-Uncensored
- 장점:
  - 공식판보다 더 빠름
  - 더 적은 VRAM 사용
  - 실제 OCR 결과 usable
- 최종 판단:
  - **비전 메인 채택**

### Qwen3-VL-8B-Instruct
- 장점:
  - 공식판, 비교 기준으로 의미 있음
- 단점:
  - HauhauCS 대비 속도/VRAM 열세
- 최종 판단:
  - **미채택 / 비교용 종료 후 삭제**

### moondream2
- 최종 판단:
  - **탈락 / 삭제**

---

# 4. 최종 채택 모델
| 역할 | 모델 | 포트 | 컨텍스트 | 비고 |
|------|------|------|----------|------|
| 메인/플래너/분석 | Qwen3.5-35B-MoE-Claude-Q4_K_M | 8080 | 262K | 상시 |
| Coder | Qwen3-Coder-Next-Q3_K_M | 8081 | 64K | 상시 |
| QA | Qwen3.5-9B-Uncensored-HauhauCS-Q4_K_M | 8082 | 64K | 상시 |
| 특수 작업 | Qwen3.5-122B-MoE-IQ3_XXS | 8083 | 32K | 수동 로드 |
| Vision | Qwen3VL-8B-Uncensored-Q4_K_M | 8084 | 32K | 상시 |

---

# 5. 폐기/미채택 모델 요약
- Qwen2.5-Coder-32B → 툴호출 불가
- Qwen3-Coder-Next Q6_K_XL → VRAM 과다
- Qwen3-VL-8B-Instruct → 비전 비교에서 밀림
- moondream2 → 기본 응답 불안정
- 4B/2B 비전 계열 → 실사용 하한선 미달 우려로 제외

---

# 6. 운영 메모
- 122B는 성능 부족으로 빠진 것이 아니라 **상시 운용 효율 때문에 특수 작업용으로 이동**함.
- Coder 품질 미달 / QA 반복 실패 시:
  1. Coder 결과 drop
  2. Coder + Vision off 권장
  3. 122B 수동 로드
  4. 결과 생성 후 QA 검증
  5. 작업 종료 시 122B drop, Coder + Vision 재실행
