성능 최적화 - 100-hours-a-week/20-real-wiki GitHub Wiki

🛠️ 성능 최적화

앞선 내용을 통해 확인된 병목 요소는 다음과 같습니다:

  1. 중국어 출력 문제
    긴 문장 입력 시 중국어로 출력되지만, 실제로는 질문 이해 및 응답 내용이 정확한 출력 포맷 오류

  2. 모델 사이즈 부담
    Qwen2.5-7B-Instruct는 중형 모델로, 클라우드 환경에서의 메모리 및 비용 부담 존재

  3. 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 경량 실행 가능성 확보 → 비용 효율 + 서비스 확장성 강화