# LLM 모델 비교 분석 **최종 업데이트**: 2025-12-02 **초기 조사**: 2025-08-04 ## 개요 로빙 프로젝트를 위한 멀티 LLM 전략 수립을 위해 주요 LLM 모델들의 성능, 비용, 품질을 비교 분석했습니다. ## 테스트 환경 - 테스트 도구: `/home/happybell/projects/ivada/test_llm/test_all_for_ro-being.py` - 로빙 시스템 프롬프트 적용 - 한국어 테스트 케이스 사용 ## 모델별 상세 분석 ### 1. Gemini 2.5 Flash-Lite ⭐ - **가격**: $0.10 / $0.40 (입력/출력 per 1M tokens) - **응답 시간**: 2.04초~2.76초 - **Rate Limit (무료 티어, 2025-12-02 기준)**: - RPM (Requests Per Minute): 15회 - TPM (Tokens Per Minute): 250K - RPD (Requests Per Day): 1K - **특징**: - 2025년 8월 1일 정식 출시 - 가장 저렴한 가격 - 안정적인 성능 - 무료 tier 활용 가능 - **추천 용도**: 메인 모델 ### 2. Gemini 2.5 Flash - **가격**: $0.30 / $2.50 (입력/출력 per 1M tokens) - **Rate Limit (무료 티어, 2025-12-02 기준)**: - RPM: 10회 - TPM: 250K - RPD: 250회 - **특징**: - Flash-Lite보다 약간 높은 가격이지만 더 나은 성능 - 일일 요청 제한(RPD)이 Flash-Lite보다 낮음 (250 vs 1K) - **추천 용도**: Flash-Lite 대안, 더 높은 성능 필요 시 ### 3. Gemini 2.5 Pro - **가격**: $1.25 / $10.00 (입력/출력 per 1M tokens) - **Rate Limit (무료 티어, 2025-12-02 기준)**: - RPM: 2회 - TPM: 125K - RPD: 50회 - **특징**: - 가장 제한적인 무료 티어 (RPM 2회) - 가장 높은 가격 - 최고 성능 - **추천 용도**: 무료 티어에서는 대량 호출 부적합, 유료 플랜 필요 ### 4. GPT-4o-mini - **가격**: $0.15 / $0.60 - **응답 시간**: 1.78초~4.68초 - **특징**: - 균형잡힌 응답 품질 - 빠른 초기 응답 - OpenAI의 안정성 - **추천 용도**: 백업 모델 ### 5. Mistral Small 3.1 - **가격**: $0.75 / $4.00 - **응답 시간**: 1.49초~3.02초 - **특징**: - 가장 빠른 응답 속도 - 상세하고 체계적인 답변 - 토큰 효율적 (평균 200~300 토큰) - **추천 용도**: 품질 우선 시 ### 6. Claude 3.5 Haiku - **가격**: 비공개 (사용량 기반) - **응답 시간**: 2.57초~4.60초 - **특징**: - 높은 응답 품질 - 대화형 응답 - 과부하 시 불안정 (529 에러) - **추천 용도**: 복잡한 대화 필요 시 ### 7. Grok (제외) - **가격**: $2.00~$3.00 / $10.00~$15.00 - **특징**: - X/Twitter 실시간 데이터 접근 - 너무 비싼 가격 - grok-3-mini는 빈 응답 문제 - **결론**: 특수 목적 외 비추천 ## 성능 비교 ### 응답 속도 순위 1. Mistral Small 3.1: 1.49초 2. GPT-4o-mini: 1.78초 3. Gemini 2.5 Flash-Lite: 2.04초 4. Claude 3.5 Haiku: 2.57초 ### 비용 효율성 순위 1. Gemini 2.5 Flash-Lite: $0.10/$0.40 2. GPT-4o-mini: $0.15/$0.60 3. Mistral Small 3.1: $0.75/$4.00 4. Grok: $2.00/$10.00 이상 ### Rate Limit 비교 (무료 티어, 2025-12-02 기준) | 모델 | RPM | TPM | RPD | 비고 | |------|-----|-----|-----|------| | Gemini 2.5 Flash-Lite | 15 | 250K | 1K | 가장 유리 | | Gemini 2.5 Flash | 10 | 250K | 250 | RPD 낮음 | | Gemini 2.5 Pro | 2 | 125K | 50 | 가장 제한적 | **주의**: IR Deck 평가 시 15페이지 이상일 경우 Flash-Lite도 Quota 초과 가능 (종합 1회 + 페이지별 15회 = 16회 호출) ### 응답 품질 특성 - **Mistral**: 가장 상세하고 체계적 (번호 목록, 이모지 활용) - **GPT-4o-mini**: 균형잡힌 구조적 답변 - **Gemini**: 간결하면서도 핵심 포착 (표 활용) - **Claude**: 대화형, 공감적 응답 ## 로빙 프로젝트 추천 전략 ### 멀티 LLM 전략 1. **메인 모델**: Gemini 2.5 Flash-Lite - 가장 저렴한 비용 - 안정적인 성능 - 무료 tier 활용 (RPM 15회) - **주의**: 15페이지 이상 평가 시 Quota 초과 가능 2. **백업 모델**: GPT-4o-mini - 메인 모델 장애 시 대체 - 균형잡힌 성능 3. **보조 모델**: Mistral Small 3.1 - 고품질 응답 필요 시 - 빠른 응답 필요 시 ### 환경변수 설정 ```bash # .env 파일 GEMINI_API_KEY=(Gemini API 키) OPENAI_API_KEY=(OpenAI API 키) MISTRAL_API_KEY=(Mistral API 키) ANTHROPIC_API_KEY=(Anthropic API 키) # XAI_API_KEY=(xAI API 키) # 비용 문제로 제외 # 기본 LLM 모델 설정 (모든 서비스에서 사용) DEFAULT_LLM_MODEL=gemini-2.5-flash-lite ``` **참고**: 기본값은 `rb8001/app/core/config.py`에서 `gemini-2.5-flash-lite`로 설정되어 있으며, 환경변수 `DEFAULT_LLM_MODEL`로 오버라이드 가능합니다. ### 사용 예시 ```python # 환경변수에서 기본 모델 가져오기 (권장) from app.core.config import settings default_model = settings.DEFAULT_LLM_MODEL # "gemini-2.5-flash-lite" (기본값) # 모델 선택 로직 if task_type == "general": model = settings.DEFAULT_LLM_MODEL # 기본 모델 사용 elif task_type == "quality": model = "mistral-small-latest" # 품질 우선 elif task_type == "fast": model = "gpt-4o-mini" # 속도 우선 ``` ## Rate Limit 대응 전략 ### 문제 상황 - IR Deck 평가 시 15페이지 이상: Flash-Lite RPM 15회 제한 초과 - 종합 평가 1회 + 페이지별 평가 N회 (N > 14) = 총 15회 이상 ### 해결 방안 1. **배치 처리**: 페이지별 평가를 10-15페이지씩 묶어서 처리 (호출 횟수 감소) 2. **Rate Limiting**: 요청 간 간격 제어 (분당 15회 이하 유지) 3. **모델 전환**: Flash-Lite 대신 Flash 사용 (RPM 10회지만 RPD는 낮음) 4. **대기 시간**: 평가 시작 전 30-60초 대기 (이전 요청 쿼터 해제 대기) ## 결론 ### 핵심 발견사항 1. Gemini 2.5 Flash-Lite가 비용 대비 최고 효율 2. 각 모델마다 고유한 강점 존재 3. 멀티 LLM 전략으로 안정성 확보 필요 4. 토큰 제한 설정 시 충분한 여유 필요 (500 토큰 이상) 5. **Rate Limit 고려 필수**: 15페이지 이상 평가 시 Quota 초과 주의 ### 향후 고려사항 - 정기적인 모델 성능 재평가 - 새로운 모델 출시 모니터링 - 사용량 기반 비용 최적화 - 모델별 특화 작업 정의 - Rate Limit 모니터링 및 대응 전략 수립 ## 참고 자료 - 테스트 코드: `/test_llm/test_all_for_ro-being.py` - 개별 테스트: `/test_llm/test_*.py` - 트러블슈팅: `/DOCS/troubleshooting/250804_happybell80_LLM멀티모델테스트.md` - Gemini API Rate Limit: https://ai.dev/usage?tab=rate-limit (2025-12-02 기준) - Vertex AI 가격 책정: https://docs.cloud.google.com/vertex-ai/generative-ai/pricing?hl=ko