RAG2026-5일14차시 · 성능 비교 실습8 / 18← 이전목차다음 →MetaContents

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). 토큰 증가 없이 개선 — 가장 효율적!

← 이전 절14차시 · 4. 실습 ② — 기준선 측정다음 절 →14차시 · 6. 결과 종합 — 최종 비교표