성능 테스트 결과 요약 - 100-hours-a-week/5-yeosa-wiki GitHub Wiki
1. CLIP vs RAM++ 이미지 임베딩 성능 테스트 결과 (100장 기준)
모델 | 디바이스 | 배치 | 총 시간 (s) | 1장당 평균 (s) | GPU 메모리 (MB) | CPU 사용률 (%) |
---|---|---|---|---|---|---|
CLIP | CPU | 1 | 7.23 | 0.0723 | 0 | 400.1 |
CLIP | CPU | 16 | 5.35 | 0.0535 | 0 | 399.7 |
CLIP | CPU | 32 | 4.49 | 0.0449 ✅ | 0 | 399.5 |
CLIP | GPU (T4) | 1 | 1.81 | 0.0181 | 356 | 374.5 |
CLIP | GPU (T4) | 16 | 0.96 | 0.0096 ✅ | 384 | 396.2 |
CLIP | GPU (T4) | 32 | 0.96 | 0.0096 | 416 | 376.5 |
RAM++ | CPU | 1 | 143.78 | 1.438 ❗ | 0 | 390.3 |
RAM++ | CPU | 16 | 143.57 | 1.436 | 0 | 391.3 |
RAM++ | CPU | 32 | 149.93 | 1.499 | 0 | 385.4 |
RAM++ | GPU (T4) | 1 | 8.52 | 0.0852 | 1754 | 124.7 |
RAM++ | GPU (T4) | 16 | 7.52 | 0.0752 | 3607 | 127.1 |
RAM++ | GPU (T4) | 32 | 7.59 | 0.0759 | 5582 ❗ | 127.5 |
2. 결과 비교
a. 총 시간 (Total Time) 기준 비교
기준 | 요점 |
---|---|
CLIP | - GPU(Batch 32): 0.96초로 가장 빠름 |
- CPU(Batch 32): 4.49초로 RAM++ 대비 약 32배 빠름 | | RAM++ | - GPU(Batch 32): 7.59초, CLIP보다 약 8배 느림
- CPU(Batch 32): 149.9초, 절대적으로 느림 |
- CLIP은 CPU와 GPU 모두에서 RAM++보다 빠르며, 특히 GPU에서 극적인 속도 차이를 보임
b. 1장당 평균 시간 (Avg Time/Image) 기준 비교
기준 | 요점 |
---|---|
CLIP | - GPU(Batch 32): 0.0096초 |
- CPU(Batch 32): 0.0449초, 여전히 빠름 | | RAM++ | - GPU(Batch 32): 0.0759초, CLIP보다 약 8배 느림
- CPU(Batch 32): 1.499초, 33배 느림 |
- CLIP은 실시간 처리에도 적합한 수준의 속도를 제공, RAM++는 GPU를 사용해도 1장당 0.07초 이상 소요
c. GPU 메모리 사용량 기준 비교
기준 | 요점 |
---|---|
CLIP | - GPU(Batch 32): 416 MB- 전체적으로 매우 낮음 |
RAM++ | - GPU(Batch 32): 5,582 MB |
- Swin-L 백본 특성상 13배 이상 높은 메모리 사용 |
- CLIP은 모바일/저사양 GPU 환경에서도 사용 가능, RAM++는 고사양 GPU 필수
d. CPU 사용률 (CPU Utilization) 기준 비교
기준 | 요점 |
---|---|
CLIP | - 대부분 환경에서 CPU 사용률 370~400%, 즉 4코어 풀사용 수준 |
- 빠른 처리 속도 덕분에 짧은 시간 안에 부하 집중 | | RAM++ | - CPU: 390% 내외, 병목이 크고 처리 시간 길어 지속 부하 유발
- GPU: 약 125%, 멀티코어 활용은 적음 |