14차시. 성능 비교 실습
5. 실습 ③ — 변수 하나씩 바꾸기
출처: 원본 PDF 14차시_체계적성능평가.pdf 10~11쪽 · 쪽 그림 10쪽 11쪽
5-1) 1차 — chunk_size만 바꾸기
print("\n■ 1차: chunk_size 변경 (k=3, v2 고정)")
print("-" * 78)
for cs in (200, 300, 500, 800):
run(f"chunk{cs}", cs, int(cs * 0.1), 3, 0.47, "v2", TESTS)
■ 1차: chunk_size 변경 (k=3, v2 고정)
─────────────────────────────────────────────
─────────────
chunk200 chunk=200 k=3 v2 | 정답 11/20 ( 55%) | 평균토큰 380 | 35
초
chunk300 chunk=300 k=3 v2 | 정답 14/20 ( 70%) | 평균토큰 560 | 36
초
chunk500 chunk=500 k=3 v2 | 정답 12/20 ( 60%) | 평균토큰 840 | 38
초
chunk800 chunk=800 k=3 v2 | 정답 11/20 ( 55%) | 평균토큰 1340 | 41
초👉 chunk 300이 가장 좋음 (+10%p, 토큰도 33% 절감)
5-2) 2차 — chunk를 300으로 고정하고 k만 바꾸기
print("\n■ 2차: k 변경 (chunk=300, v2 고정)")
print("-" * 78)
for k in (1, 3, 5, 8):
run(f"k={k}", 300, 30, k, 0.47, "v2", TESTS)
■ 2차: k 변경 (chunk=300, v2 고정)
─────────────────────────────────────────────
─────────────
k=1 chunk=300 k=1 v2 | 정답 10/20 ( 50%) | 평균토큰 190 | 32
초
k=3 chunk=300 k=3 v2 | 정답 14/20 ( 70%) | 평균토큰 560 | 36
초
k=5 chunk=300 k=5 v2 | 정답 16/20 ( 80%) | 평균토큰 890 | 39
초
k=8 chunk=300 k=8 v2 | 정답 15/20 ( 75%) | 평균토큰 1420 | 44
초👉 k=5가 최고 (+10%p). k=8은 노이즈로 오히려 하락
5-3) 3차 — 프롬프트만 바꾸기
출처: 원본 PDF 11쪽
print("\n■ 3차: 프롬프트 변경 (chunk=300, k=5 고정)")
print("-" * 78)
for v in ("v1", "v2", "v3"):
run(f"prompt {v}", 300, 30, 5, 0.47, v, TESTS)
■ 3차: 프롬프트 변경 (chunk=300, k=5 고정)
─────────────────────────────────────────────
─────────────
prompt v1 chunk=300 k=5 v1 | 정답 13/20 ( 65%) | 평균토큰 890 | 38
초
prompt v2 chunk=300 k=5 v2 | 정답 16/20 ( 80%) | 평균토큰 890 | 39
초
prompt v3 chunk=300 k=5 v3 | 정답 18/20 ( 90%) | 평균토큰 890 | 40
초👉 v3가 최고 (+10%p). 토큰 증가 없이 개선 — 가장 효율적!