성능 최적화 - 100-hours-a-week/20-real-wiki GitHub Wiki
🛠️ 성능 최적화
앞선 내용을 통해 확인된 병목 요소는 다음과 같습니다:
-
중국어 출력 문제
긴 문장 입력 시 중국어로 출력되지만, 실제로는 질문 이해 및 응답 내용이 정확한 출력 포맷 오류 -
모델 사이즈 부담
Qwen2.5-7B-Instruct
는 중형 모델로, 클라우드 환경에서의 메모리 및 비용 부담 존재 -
CPU 추론 한계
CPU 기반 실행 시 수 분 단위의 지연 발생으로 인한 실용성 저하
1️⃣ 출력 언어 문제 → 프롬프트 튜닝 + LoRA 기반 개선 예정
"반드시 한국어로 출력하세요"
등의 명확한 시스템 프롬프트 삽입을 통해 출력 언어 오류를 최소화하고자 합니다.- 그래도 반복된다면, LoRA 기반으로 한국어 출력 패턴을 학습시킬 예정입니다.
- LoRA 장점:
- 적은 GPU 자원으로도 빠르게 튜닝 가능
- 출력 편향 개선에 효과적
2️⃣ 양자화 모델 테스트 결과 → 도입 보류 결정
- Q4 / Q5 GGUF 포맷의 양자화 모델을 테스트해 모델 경량화를 시도했습니다.
- 그러나 테스트 결과:
- ❌ 메모리 효율은 좋아졌지만, 응답 품질이 눈에 띄게 저하
- ❌ 복잡한 문장에서의 문장 구성력/정확도 부족 확인
- 👉 따라서 현재는 기본 버전 유지가 최선으로 판단됩니다.
3️⃣ CPU 응답 속도 이슈 → 추후 서빙 프레임워크 최적화 고려
-
현재 CPU 환경에서는 실용적인 추론 속도 확보가 어려움
-
llama.cpp
에서-threads
,-numa
,-blas
등 옵션 조정으로 일부 개선 가능 -
👉 그러나 근본적인 해결을 위해 다음 프레임워크 도입을 검토 중:
- vLLM – 고속 대규모 배치 추론 지원
- Triton – 유연한 서빙 파이프라인 구성
- DeepSpeed-Inference – 고속 저지연 추론 최적화
🌱 최적화 적용 후 기대 효과
아래는 해당 전략을 적용한 후 기대되는 효과입니다.:
✅ 1. 한국어 출력 안정성 확보
- 프롬프트 튜닝 및 LoRA 기반 한국어 응답 학습을 통해
→ 긴 문장 입력 시에도 자연스럽고 정확한 한국어 출력이 가능해집니다.
✅ 2. 가벼운 구조 유지 + 품질 보장
- 7B 모델에 LoRA만 추가해도 14B 모델 수준의 성능에 근접합니다.
- 따라서 경량 모델로도 높은 품질의 응답이 가능하며,
→ 클라우드 환경에서의 비용 효율성과 운영 안정성을 동시에 확보할 수 있습니다.
✅ 3. CPU 기반 경량화 가능성 확보
-
llama.cpp
,vLLM
,DeepSpeed-Inference
등 추론 최적화 기술을 활용하면
→ GPU 없이도 실행 가능한 경량 AI 서비스 구축이 가능합니다. -
이는 클라우드 비용을 절감하면서도
→ 스케일링과 유지보수에 유리한 구조로 발전할 수 있는 기반이 됩니다.
🌱 최적화 적용 후 기대 성능 지표
항목 | 최적화 전 | 최적화 후 |
---|---|---|
한국어 출력 안정성 | 한국어 질문에도 일부 응답이 중국어로 출력됨 | 한국어 질문에도 모든 응답이 한국어로 출력됨 |
응답 속도 | 평균 3.70초 | 응답 품질 우선 전략 유지 |
서비스 적용성 | 클라우드 GPU 기반에서 실사용 가능 → 확장성·비용 부담 존재 | CPU 경량 실행 가능성 확보 → 비용 효율 + 서비스 확장성 강화 |