벤치마크 최적화 루프은(는) 무엇을 하나요?
이 스킬을 사용하여 '20배 더 빠르게' 또는 '50회 반복 최적화 시도'를 실제로 시스템을 개선할 수 있는 제한된 측정 루프로 변환하세요.
필수 기준
다음이 존재할 때까지 최적화하지 마세요:
- 최적화 대상 작업;
- 반드시 통과해야 하는 정확성 게이트;
- 지표: 벽 시간, p95 지연 시간, 행/초, 비용/실행, 메모리, 오류율;
- 현재 기준;
- 검색 예산: 최대 변형 수, 최대 시간, 최대 비용, 최대 데이터 영향.
사용자가 비현실적인 목표를 요청하더라도 야망은 유지하되 루프를 제한적이고 측정 가능하게 만드세요.
루프
- 기준을 측정합니다.
- 증거를 바탕으로 병목 현상을 식별합니다.
- 각각 하나의 가설을 테스트하는 변형을 생성합니다.
- 동일한 입력 형태로 변형을 실행합니다.
- 정확성, 안전성 또는 재현성에 실패한 변형은 거부합니다.
- 가장 빠른 안전 변형을 승격합니다.
- 승리 경로를 스크립트, 명령어, 테스트, 구성 또는 문서로 코드화합니다.
- 기준과 승자를 다시 실행하여 델타를 확인합니다.
변형 테이블
이와 같이 변형을 추적합니다:
변형 | 가설 | 명령어 | 시간 | 정확? | 비고
baseline | 현재 경로 | npm run job | 120초 | 예 | 안정적
batch-500 | 왕복 횟수 감소 | npm run job -- --batch 500 | 42초 | 예 | 승자
parallel-8 | 워커 증가 | npm run job -- --workers 8 | 31초 | 아니오 | 속도 제한
반복 검색
반복 또는 하이퍼파라미터 작업의 경우:
- 모든 실행을 원장에 영구 기록합니다;
- 이전 실행뿐만 아니라 이전에 승인된 승자와 비교합니다;
- 홀드아웃 또는 재생성 검사를 유지합니다;
- 개선이 잡음 수준 이내이거나, 정확성에 실패하거나, 비용이 예산을 초과하거나, 검색이 설명할 수 있는 것보다 더 많은 변수를 변경하기 시작하면 중지합니다.
검색 공간이 실제로 완전 탐색되지 않는 한 '전역 최적점' 대신 '측정된 가장 빠른 안전 변형'과 같은 표현을 사용하세요.
승격 게이트
변형은 다음 조건이 충족될 때까지 새로운 기본값이 될 수 없습니다:
- 정확성 테스트 통과;
- 성능 델타가 반복되거나 설명됨;
- 롤백이 명확함;
- 변경 사항이 소스 제어 또는 내구성 있는 런북에 기록됨;
- 최종 요약에 정확한 명령어와 측정값이 포함됨.