
백엔드
ML gpu model server 성능을 유지하며 cpu server로 전환한 경험 공유
두줄요약
GPU 모델 서버를 CPU 서버로 전환하면서 성능 저하를 막기 위해 worker, thread, IPEX, KD를 함께 최적화했습니다. 그 결과 서비스 품질을 유지하며 GPU 자원을 절감했습니다.
핵심 내용
- GPU 기반 TorchServe 모델 서버를 CPU 서버로 전환하면서 성능 하락 없이 서비스 품질을 유지한 사례
- CPU 전환 과정에서 처리량 저하와 긴 지연시간을 해결하기 위해 엔지니어링 설정 최적화와 모델 경량화를 병행
- TorchServe worker 수, torch thread 수, IPEX socket pinning, Knowledge Distillation 적용으로 성능 개선
- 최종적으로 여러 모델에서 RPS를 크게 끌어올리고 GPU 자원을 절감한 운영 결과
적용해볼 점
- CPU 환경에서는 worker 수와 thread 수를 물리 코어 기준으로 맞추는 검토 필요
- IPEX와 TorchServe 버전 호환성, pod CPU limit 정렬 같은 운영 조건 확인 필요
- 정확도가 중요한 서비스에서는 pruning보다 KD와 입력 크기 조정 같은 경량화 전략 고려
