14.7MB 온디바이스 PII 레다터, 98.4% 리콜 성능
14.7MB로 배포되는 ONNX MiniLM 기반의 클라이언트 측 PII 토큰 분류기로서 결정론적 인식기와 결합해 시스템 수준 개인식별 리콜 98.42%를 달성한다.
TL;DR
Rampart는 MiniLM-L6 기반으로 4비트 MatMul과 INT8 임베딩을 적용해 14.7MB로 배포되는 온디바이스 PII 토큰 분류기이며 결정론적 인식기와 결합한 방어 심도 설계로 시스템 수준 개인식별 리콜 98.42%를 달성했다. 훈련은 합성 대화, OCR 문서, ai4privacy OpenPII의 누적 혼합을 사용해 파편화된 채팅과 OCR 노이즈에 강하도록 구성되었고, 런타임은 transformers.js + ONNX Runtime을 통해 WebGPU(p50 3.9ms)와 WASM 환경에서 동작하도록 최적화되었다. 설계상 SSN·신용카드·이메일·URL·IP는 결정론적 계층이 처리하고 모델은 이름·전화·은행·정부식 식별자 등 비구조화 항목을 담당하며, 비라틴 스크립트와 결합된 악의적 공격에는 취약점이 있어 해당 사용자는 보완 조치를 적용해야 한다.
핵심 역량
- 사용자 입력을 네트워크 전송 전에 토큰 단위로 검사하고 탐지된 PII를 표준화된 자리표시자(예: [GIVEN_NAME_1], [SSN_1])로 대체해 전송·로깅으로의 누출을 방지할 수 있다. 자리표시자는 다중 턴 대화에서 일관성을 유지하도록 식별자 인덱싱을 제공해 클라이언트에서 복원(rehydration)할 수 있다. 브라우저 환경에서 transformers.js와 ONNX Runtime(WebGPU/WASM)을 통해 클라이언트 사이드로 직접 실행되도록 설계되었다.
- 문서 OCR 노이즈, 파편화된 채팅 문장, 복수언어(7개 라틴문자 언어)에 걸친 다양한 입력에서 이름·전화·은행식별자·주소 구성요소 등 토큰 수준 PII를 추출하고 마스킹할 수 있다. 모델은 단어조각(fragmentation) 상황에서 스팬 병합과 particle-rescue 로직을 통해 연속 라벨을 합쳐 장이름과 복합 성씨를 하나의 스팬으로 복원하려는 후처리 규칙을 함께 사용한다. 구조적 검증 규칙이 적용되는 클래스는 결정론적 계층에서 처리되어 모델의 학습 분포와 추론 입력이 일치하도록 설계되었다.
- 클라이언트에서 즉시 실행 가능한 경량 아티팩트를 제공하므로 호스팅 LLM에 데이터를 전달하기 전 프리필터(pre-filter)로 동작할 수 있다. 이 과정은 애널리틱스·크래시 리포트·트레이싱에 대한 사전 익명화를 지원하며 컴파일 타임으로 설정된 KEEP_LABELS를 통해 정책 기반 보존(city/state/ZIP 등)을 적용할 수 있다. 고도로 규제된 컨텍스트에서는 도메인별 정책을 사전에 검증하는 용도로도 활용될 수 있다.
강점
- 시스템 수준의 개인식별 리콜이 7개 라틴문자 언어 합산 기준 98.42%로 보고되어 높은 개인정보 포착 능력을 보였다. 이 수치는 공개된 OpenPII 홀드아웃(30,000행, 131,707 private terms)을 대상으로 한 일관된 벤치마크를 통해 산출되었다. 리콜 수치가 시스템 단위(모델+결정론적 계층)를 기준으로 보고된 점이 제품 적용 관점에서 중요하다.
- 배포 아티팩트 크기가 14.7MB에 불과해 브라우저·클라이언트 환경에서 직접 실행할 수 있는 점이 실용적 강점이다. 4비트 MatMul과 INT8 임베딩 조합을 통해 모델 저장소와 메모리 요구를 크게 낮춘 설계가 가능해졌고, 이는 사용자 기기에서의 즉시 전처리(pre-filter) 적용을 허용한다. 경량화로 인해 별도의 서버 호출 없이 프라이버시 전처리를 수행할 수 있다.
- 실제 런타임 성능이 WebGPU p50 3.9ms, Node CPU p50 6.6ms로 보고되어 지연 민감한 애플리케이션에서도 사용 가능하다. 브라우저용 WASM 백엔드는 p50 12.6ms 수준으로 GPU가 없을 때의 실행 저점을 제공한다. 이 성능 프로파일은 온디바이스 전처리 워크플로에서 실시간 사용자 경험을 유지하는 데 기여한다.
훈련 방식
기반 모델로 nreimers/MiniLM-L6-H384-uncased를 사용해 35-label BIO 헤드로 파인튜닝했으며 합성 대화·OCR 문서·ai4privacy OpenPII 코퍼스의 3원 혼합을 학습 데이터로 사용했다. 최종 훈련은 AdamW 옵티마이저, 학습률 5e-5, 배치 32, 에폭 3으로 수행되었고 Apple M-series MPS에서 약 3.5시간이 소요되어 홀드아웃 성능 기준으로 최종 에폭을 선택했다. 훈련 전후의 정규화(소문자화, NFKD 분해, 결합문자 제거)와 결정론적 클래스 마스킹이 재현성 확보를 위해 엄격히 적용되었다.
알아두면 좋은 것
- 배포 아티팩트는 ONNX로 변환되어 transformers.js를 통해 WebGPU 또는 WASM 환경에서 실행되며 최종 패키지 크기는 14.7MB이다. 이 크기는 4비트 행렬곱과 INT8 임베딩 양자화를 적용한 결과로 브라우저·클라이언트 실행을 현실화했다. 런타임 성능 측정은 WebGPU에서 p50 3.9ms, WASM에서 p50 12.6ms로 보고되어 있으며 Node ONNX CPU p50은 6.6ms였다.
- 훈련 데이터는 합성 대화·OCR 문서·공개 OpenPII 코퍼스를 혼합해 사용했고 각 소스는 CC BY 4.0 라이선스 하에 공개되었다. 합성 대화와 OCR 데이터는 실제 채팅의 파편화와 OCR 노이즈를 재현하기 위해 도입되어 모델이 깨진 필드·붙여넣기·다국어 섞임 상황에서 동작하도록 보강했다. OpenPII는 다국어 폭과 보유한 100k의 홀드아웃을 제공해 재현 가능한 평가를 가능하게 했다.
- 시스템은 결정론적 인식기와 학습 기반 토큰 분류기의 조합으로 설계되어 구조화된 클래스(SSN, 카드 등)는 결정론적 계층이 처리하고 모델은 그 외의 식별자를 담당한다. 결정론적 계층은 정규식과 체크섬(Luhn 등)을 사용해 거의 완전한 리콜을 보장하며, 그 결과 시스템 단위의 ECE는 계층 합산으로 인해 모델 단독보다 높게 나타나는 분포적 특성이 보고되었다. 이 분업은 정책 준수와 성능 재현성 면에서 중요한 설계 선택이었다.
- 한계로서 비라틴 문자 스크립트(한국어·중국어·일본어 등)에서의 이름 리콜이 매우 낮아 이 릴리스는 라틴문자 7개 언어로 한정되어 있다. 악의적 변형(adversarial) 케이스나 결합된 공격(제로-위드스페이스+호모글리프 등)에서는 탐지율이 급감해 시스템은 선의의 사용자 입력을 보호하기 위한 완화수단임이 명시되었다. 정부식 식별자 일부는 체크섬이 없어 결정론적 백스탑이 없기 때문에 모델 단독 리콜(~67.6%)이 시스템 동작을 좌우한다.
기술적 특징
- 온디바이스 실행을 목표로 4비트 행렬곱과 INT8 임베딩 양자화를 결합한 ONNX 아티팩트를 빌드해 배포 크기를 14.7MB로 줄였다. 양자화는 행렬곱 연산의 정밀도를 낮춰 저장공간과 메모리 사용량을 획기적으로 축소하는 반면, 임베딩은 INT8로 남겨 표기 수준의 표현력을 유지하려는 설계적 타협을 채택했다. 이 설계는 브라우저(WebGPU/WASM)와 Node 환경 모두에서 실시간에 가까운 레이턴시를 달성하도록 맞춰졌다.
- 결정론적 인식기와 학습 기반 토큰 분류기의 결합으로 방어 심도(defense-in-depth)를 구축했다. 결정론적 계층은 정규식과 체크섬 검증(Luhn 등)을 통해 SSN·CREDIT_CARD·EMAIL·URL·IP_ADDRESS를 거의 완전한 리콜로 포착하며, 해당 클래스는 모델 학습 입력에서 마스킹되어 모델이 숫자열 패턴을 학습하지 않도록 설계되었다. 이 분업은 정책 일관성, 재현 가능성, 그리고 시스템 전체의 오탐·누출 트레이드오프를 조정하는 수단이 되었다.
- 훈련 코퍼스 구성은 합성 대화, OCR 문서, 공개 OpenPII 데이터의 누적 3원 혼합으로 구성되어 실제 채팅의 파편화와 스캐닝·OCR 노이즈까지 포괄하도록 설계되었다. 합성 대화는 오탈자·붙여넣기·혼합 언어·잘못된 필드 매핑 같은 현실적 입력을 생성하고 OCR 코퍼스는 문자 혼동·줄 분리·스캔 노이즈를 추가해 문서 유래 값의 회수율을 높였다. OpenPII는 다국어 폭과 홀드아웃 평가 세트를 제공해 다국어 재현성을 확보하는 핵심 역할을 했다.
- 어휘를 BERT-uncased의 30,522에서 19,730 WordPiece로 트리밍해 모델 크기와 토크나이저 메모리를 줄이면서도 특수토큰과 단일문자 조각을 보존했다. 이 설계는 희귀 이름과 단일 문자 fallback을 유지해 이름 회수를 보호하는 동시에 패키지 크기를 줄이는 실무적 절충안이었다. 그러나 장문·하이픈·합성 이름에서 서브워드 단편화가 남아 일부 후행 서브워드의 회수 손실을 유발할 수 있어 런타임의 스팬 병합과 particle-rescue가 보완 단계로 동작한다.
차별점
- 결정론적 인식기와 학습 기반 토큰 분류기를 명확하게 분리해 방어 심도를 실현한 시스템 설계가 이 모델의 차별점이다. 결정론적 계층은 구조적 식별자를 정규식·체크섬으로 거의 완벽히 잡아내며 모델은 구조적 검증이 불가능한 식별자와 이름·주소 조각에 집중한다. 이 분업은 훈련·추론 시 입력 분포의 일관성과 평가 재현성을 높여 제품적용 관점에서 신뢰성을 확보한다.
- 훈련 데이터 믹스가 합성 대화·OCR 노이즈·대규모 공개 코퍼스를 누적 방식으로 사용하도록 설계되어 실제 채팅과 문서 유래 사례 모두에서 강건성을 추구했다. 합성 데이터는 파편화·오타·붙여넣기 같은 현실적 패턴을 재현하고 OCR 코퍼스는 인식 오류를 추가해 문서 기반 추출 회복력을 높였다. 공개 OpenPII는 다국어 폭과 재현 가능한 홀드아웃을 제공해 평가의 신뢰도를 보장했다.
- 극단적으로 경량화된 ONNX 아티팩트(14.7MB)와 브라우저 실행용 엔드투엔드 평가 허브를 함께 공개해 클라이언트 사이드 배포와 수치 재현을 동시에 만족시킨 점이 독특하다. 모델 가중치, 결정론적 계층, 평가 허브의 커밋된 출력·UID 매니페스트가 함께 공개되어 모든 보고 수치가 재현 가능하도록 설계되었다. 이 투명성은 제품 통합 과정에서 신뢰성 검증을 용이하게 한다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Private recall (seven languages) | private-term-recall | 98.42% [98.35, 98.49] | — |
| Public retention (system policy-aware) | public-term-retention | 91.69% | — |
| Span F1 strict (IoU=1.0) | span-f1 | 0.528 | — |
| Latency p50 (Node ONNX CPU) | latency-p50 | 6.6 ms | WebGPU p50 3.9 ms, WASM p50 12.6 ms |
147
Likes
4.8k
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.