LLM 모델 추론 성능 최적화 - 100-hours-a-week/6-nemo-ai GitHub Wiki

1. LLM 로컬 모델 비교 분석

Gemini API 기반 모델에서 로컬 추론으로 전환하기 위해 다음과 같은 Hugging Face 기반 모델들을 테스트하였다:

  • google/gemma-3-4b-it
  • Qwen/Qwen2.5-3B-Instruct
  • kakaocorp/kanana-nano-2.1b-instruct
  • naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-1.5B

각 모델은 동일한 텍스트 생성 과제를 기준으로 CPU/GPU 환경에서 추론 시간, VRAM 사용량, 결과 품질을 비교하였다.

2. 모델 선정 기준

평가 항목 설명
추론 속도 짧은 응답 시간 확보 (1건 기준 30초 이내)
메모리 효율성 24GB 이하 GPU에서 무리 없이 실행 가능
응답 품질 문맥 자연스러움, 주제 적합성, 명사형 종결 등
API 연동성 vLLM 연동 및 FastAPI 연계 용이성
양자화 가능 여부 4bit/8bit 등 양자화 가능 여부와 효과

3. 모델별 성능 비교 (GPU: GCP L4 환경 기준)

Model 추론 시간 (1건) GPU 메모리 사용 응답 품질 비고
google/gemma-3-4b-it 80~85초 약 13~14GB 주제 일치 + 문법 안정성 우수 최종 선정, FastAPI 연동 완료
Qwen/Qwen2.5-3B-Instruct 24~28초 약 14~15GB 표현력 좋으나 지시 일관성 낮음 다국어 강점, 속도 다소 느림
kakaocorp/kanana-nano-2.1b-instruct 18~22초 약 8~9GB 다소 단순한 문장 구성 응답 구조 균일, 품질 보통 수준
naver-hyperclovax/HyperCLOVAX-SEED-Instruct-1.5B 15~20초 약 7~8GB 품질 보통, 마무리 부정확 빈도 있음 VRAM 효율적, 가벼운 과제에 적합

4. 병목 요소 분석

모델 병목 요소 주요 특성 요약
gemma-3-4b-it 병렬 시 최대 VRAM 사용량 급증 → 메모리 튜닝 필요 응답 구조가 가장 자연스럽고 후처리 최소화 가능
Qwen2.5-3B 응답 형식 다양성으로 후처리 부담 발생 프롬프트 명확성 요구, 문장력은 강함
kanana-nano-2.1b 모델 크기 작아 빠르나, 문장 구조 단순화 짧은 응답에서만 적절, 설명형 문장엔 한계
hyperclovax-1.5B 문장 완결성 부족으로 후처리 필수 속도와 메모리는 우수하나 응답 통제 어려움

5. 적용 최적화 기법

기법 기대 효과
4-bit 양자화 VRAM 25~40% 절감
vLLM 엔진 사용 병렬 추론 최적화, KV 캐시 활용
FastAPI 분리 서빙 요청 처리 안정성 증가
후처리 로직 적용 명사형 마무리, 문법 정제

6. 모델 선정 및 결론

✅ 최종 선정 모델: google/gemma-3-4b-it

  • 선정 사유:

    • GPU 환경에서의 추론 속도 및 VRAM 소비 적정

    • 한국어 문장 생성 품질 우수 (요약, 설명, 커리큘럼 모두 적용)

    • FastAPI 연동 테스트 완료

❗Gemma-3-4b-it 모델은 특히 추론 시간이 가장 길었음에도 불구하고 출력 품질과 문장 안정성, 후처리 등의 강점을 바탕으로 최종 선정되었음.

7. 향후 개선 방향

  • Gemma 모델 양자화 버전 적용으로 응답 시간 추가 단축 실험
  • 후처리 로직 통합 자동화로 품질 일관성 확보