가제: 제약된 로컬 하드웨어에서 한국어 LLM 면접관의 품질·지연·동시성 트레이드오프 — 클라우드 LLM 대체 가능성에 대한 실증 연구 각 절에 들어갈 근거 자료와 남은 작업을 함께 적었다. 상태: ✅ 확보 · 🔄 진행 중 · ⏳ 필요
| 절 | 내용 | 자료 | 상태 |
|---|---|---|---|
| 1.1 배경 | 생성형 AI 모의면접의 확산, 클라우드 LLM 의존의 비용·데이터 통제·가용성 문제 | 선행연구 §2 (PolyInterview, Aka et al.), 운영 사고: 게이트웨이 월 사용량 소진으로 AI 기능 중단(2026-09-17) | ✅ |
| 1.2 연구 문제 | 로컬/오픈 모델로 어느 과제까지 대체 가능한가 | research-design.md §2 |
✅ |
| 1.3 연구 질문 | RQ1~RQ7 | research-design.md §3 |
✅ |
| 1.4 기여 | ① 한국어 면접 3과제 × 로컬 모델 품질·지연·동시성 결합 실측 ② 제약 GPU 에서 배칭 무효 영역과 프리필 병목 규명 ③ 한국어 과제 기준 양자화·재양자화·보정 언어 영향 ④ 한국어 토크나이저 효율의 지연 영향 ⑤ LLM 판정자 계열 편향의 품질 통제 추정 ⑥ 재사용 가능한 평가 하네스 공개 | 전체 | 🔄 (③②④ 확보, ①⑤ 판정 대기) |
| 절 | 자료 | 상태 |
|---|---|---|
| 2.1 LLM 모의면접·면접 평가 | related-work.md §2, §4 |
✅ |
| 2.2 꼬리질문 생성 | §3 | ✅ |
| 2.3 LLM 서빙 병목·엣지 추론 | §7 | ✅ |
| 2.4 양자화와 다국어 | §8 | ✅ |
| 2.5 구조화 출력 | §9 | ✅ |
| 2.6 LLM-as-a-judge 방법론 | §12 | ✅ |
| 2.7 연구 공백 | §13 | ✅ |
| 절 | 내용 | 자료 | 상태 |
|---|---|---|---|
| 3.1 StackUp 아키텍처 | 프론트·Core·RealTime·AI 서버, 메시지 흐름 | docs/architecture.md, docs/data-flow.md |
✅ |
| 3.2 LLM 과제 정의 | 질문 풀(JSON), 스트리밍 꼬리질문(의도·4축 채점 태그), 코칭 | ai/src/ai_server/chain/prompts/* |
✅ |
| 3.3 운영 부하 특성 | 입력 토큰 분포(질문 풀 p90 4.7k), 답변 길이, 세션당 호출 수 | 1라운드 리포트 §2.2 | ✅ |
| 3.4 티어별 엔드포인트 구조 | Pro/Flash 분리 오버라이드(PR #234) | 코드 | ✅ |
| 절 | 내용 | 자료 | 상태 |
|---|---|---|---|
| 4.1 하드웨어·서빙 환경 | GTX 1660 Ti 80W, llama.cpp, 컨테이너 격리 | 2라운드 리포트 §3 | ✅ |
| 4.2 후보 모델 선정 | 크기·라이선스·한국어 근거 | 1·2라운드 리서치 | ✅ |
| 4.3 테스트 케이스 | v2 70건, 생성 주체 공개, 라벨 독립 검증 | cases_v2.py, label-verification.md |
✅ (LLM 2차 주석자 κ 1.0, 인간 검증 미실시) |
| 4.4 자동 지표 | 태그·JSON 준수, 의도·점수 라벨, 사실대조, 근거 인용 | analyze.py |
✅ |
| 4.5 블라인드 판정 | 3계열 판정자, 순서 2회, 같은 계열 제외 패널 | judge.py, judge-panel-analysis.md |
🔄 (양자화 12/40 케이스에서 채점 키 소진) |
| 4.6 인간 평가 | 전문가 3인, 60~80 출력 | human-eval/README.md |
⏳ |
| 4.7 성능 측정 | 개방형 Poisson 부하, 60초×3회, TTFT·TPOT·goodput, GPU 원격 측정 | latency_bench.py, load_test.py |
✅ |
| 4.8 양자화 측정 | KL 발산, 한국어 imatrix·재양자화 설계, 16조건 스윕 | quantization-study.md §1 |
✅ |
| 4.9 통계 분석 | 부트스트랩 CI, Wilcoxon·TOST·Holm, 혼합모형, 검정력 | stats.py, judge_bias.py |
✅ (도구) |
| 절 | RQ | 현재 근거 (탐색) | 확증에 필요한 것 | 상태 |
|---|---|---|---|---|
| 5.1 품질 | RQ1 | 소형 모델 유의하게 낮음(Holm p<0.02), 26B-A4B 차이 비유의. 계열 제외 패널 점수 확보 | v2 케이스 전체 판정(채점 키 대기), TOST | 🔄 |
| 5.2 규칙 준수·의도 분류 | RQ4 | v2 70케이스로 16조건 측정 완료. 태그 준수·의도·점수 라벨·사실대조 전부 집계 | 게이트웨이 모델 v2 재측정(운영 키 외 필요) | 🔄 |
| 5.3 양자화 | RQ2 | 완료 — 비트 곡선 10종 KL, 한국어 보정 효과(0.739→0.337), 재양자화 손실, 크기 의존성 | — | ✅ quantization-study.md |
| 5.4 서빙 병목·동시성 | RQ3 | 완료 — 개방형 Poisson 부하, 프리픽스 캐시 필수성, 처리 용량 경계(0.6 req/s), J/token | — | ✅ latency-experiment.md |
| 5.5 토크나이저 | RQ5 | 완료 — 토큰 수 → TTFT 회귀(R² ≥ .996), 토크나이저가 지연 격차의 49% | — | ✅ prefill-scaling.md |
| 5.6 판정자 편향 | RQ6 | 3계열 패널 α 0.715, 같은 계열 편향 +0.43 [0.27, 0.58], 양자화 판정에서도 재현 | 인간 평가(평가자 필요) | 🔄 |
| 5.7 비용 | RQ7 | 손익분기 월 2,400~5,500 세션 | 민감도 분석 | ✅ (모형) |
- 6.1 "로컬 전환"은 모델 선택이 아니라 하드웨어 결정이다 — 6GB 급에서는 품질·동시성이 동시에 막힘, 24GB+ 에서 26B MoE 가 현실적 경계
- 6.2 과제별 차등 대체 — 의도 분류·질문 풀은 소형도 일부 가능, 꼬리질문 깊이·코칭은 대형 필요 → 라우팅 설계 함의
- 6.3 한국어 특수성 — 토크나이저 효율, 저비트 손상, 판정자 한계
- 6.4 운영 교훈 — 공유 GPU 의 CUDA 초기화 간헐 실패(컨테이너 재생성 직후), 기본 문맥 절단, 외부 LLM 사용량 한도
- 6.5 타당도 위협 (
research-design.md§9)
- 요약, 실무 권고(현 시점 클라우드 유지 + 대비책), 향후: 24GB GPU 실측, QLoRA 증류로 소형 모델 과제 특화, 로컬–클라우드 라우팅, 인간 평가 확대
| 순위 | 작업 | 막힌 이유 | 없으면 |
|---|---|---|---|
| 1 | 양자화 판정 나머지 28케이스 (163회 호출) | 게이트웨이 채점 키 크레딧 소진 | 엄격 경계 동등성(48케이스 필요) 미확인, Gemma 8비트 우위 판정 불가 |
| 2 | 게이트웨이 모델(Gemini·Gemma 31B 등) v2 케이스 재측정 | 실험 전용 키 필요 | 1·2라운드 v1 결과로 대체 서술 |
| 3 | 인간 전문가 평가 3인 | 평가자 섭외 | 5.6절이 LLM 판정자 간 비교에 머무름 |
| 4 | 비트 폭별 처리 용량 (개방형 부하) | 없음 (GPU 야간 실행) | 양자화와 서빙 장을 잇는 결론이 빠짐 |
| 5 | 24GB GPU 실측 | 하드웨어 없음 | 6.1절 경계 주장이 추정으로 남음 |
- A. 프롬프트 전문 · B. 케이스 목록과 라벨 · C. 판정 루브릭 · D. 전체 결과 표 · E. 재현 명령 · F. 운영 사고 기록