Skip to content

재현 가능한 평가와 벤치마크

English | 한국어

이 프로젝트는 다음 두 가지 검증 근거를 구분합니다.

  • 분석기 평가는 설정된 탐지기가 예상한 원문 범위(span)를 반환하는지 측정합니다.
  • 경계 테스트는 허가받지 않은 원문 값이 모델, 도구, 출력 또는 세션 수명주기 경계를 통과하지 않는지 검증합니다.

데모 분석기 평가

실행 가능한 데모에는 샘플 애플리케이션과 동일하게 자동 설정된 PrivacyService와 Regex 규칙을 사용하는 합성 corpus가 버전 관리됩니다. 각 사례와 함께 예상 범위를 저장하므로 실행할 때마다 평가 지표를 계산합니다.

이 corpus는 데모에 정의된 엔티티 유형, 반복된 값, 여러 엔티티, 구조화된 형태의 텍스트, 구두점 경계, 잘못된 식별자와 미탐지 사례를 다룹니다. 일반 언어의 의미 기반 탐지는 Regex 샘플의 범위 밖입니다.

다음 명령으로 샘플 평가를 실행합니다.

./gradlew :spring-ai-privacy-guardrails-sample-demo:test

평가는 기대한 원문 값이 보호된 결과에 남지 않는지, 각 사례가 끝난 뒤 요청 세션이 닫히는지도 함께 확인합니다.

해석의 한계

합성 corpus는 문서에 기재된 데모 설정을 재현하며 항상 같은 결과를 내는 회귀 기준입니다. 일반적인 개인정보 탐지 정확도의 근거가 아니며, 모든 언어·도메인·형식· 적대적 입력을 대표하지도 않습니다.

원격 탐지기의 품질은 recognizer, 언어 파이프라인, 임계값과 배포 환경에 따라 달라집니다. 프로세스 내부 어댑터는 애플리케이션이 제공한 모델의 품질에 의존합니다. 각 provider는 대표성이 있고 법적으로 사용 가능한 애플리케이션 데이터로 별도 보정해야 합니다.

Spring AI 연동 테스트는 모델, 도구, 출력과 요청 수명주기 경계에서 정책이 제대로 집행되는지 별도로 검증합니다.

저장소 벤치마크

저장소 전용 벤치마크 모듈은 이 프로젝트가 직접 추가하는 비용을 측정합니다. 분석, 요청 단위 토큰화, 도구 경계 보호, 누적되는 요청 매핑을 측정하며, 사용자에게 배포하는 artifact에는 포함되지 않습니다.

모든 벤치마크가 컴파일되고 실행되는지 간단한 구성으로 확인합니다.

./gradlew :spring-ai-privacy-guardrails-benchmarks:jmhSmoke

재현 가능한 측정은 다음 명령으로 실행합니다.

./gradlew :spring-ai-privacy-guardrails-benchmarks:jmh

결과 보고와 비교

벤치마크 결과는 사용한 작업 부하, 커밋, JVM과 실행 장비에만 해당합니다. 운영 지연 시간의 목표값이나 탐지기 정확도에 대한 주장이 아닙니다. 결과를 공개할 때는 JDK, 운영체제, CPU, 저장소 커밋, 실행 명령과 변경한 벤치마크 매개변수를 기록하세요.

원격 탐지기와 애플리케이션 모델의 추론 비용은 core 자체 비용과 분리해 측정하세요. 비교하려면 각 배포 환경과 모델의 세부 정보가 필요합니다.