TL;DR
Fine-tuning에 사용한 원문에 이름, 주소, 이메일, 전화번호 같은 개인정보가 남아 있으면 모델이 이를 기억하고 의도하지 않은 프롬프트에 재현할 수 있습니다. pii-detector는 개인정보 종류와 출력 형식을 system prompt로 지정하고, Amazon Bedrock 또는 자체 호스팅 모델을 동일한 Inferencer 인터페이스로 호출한 뒤 JSON 응답을 문자 스팬으로 변환합니다. 다섯 개 공개 코퍼스의 49,365개 레코드와 222,114개 정답 스팬을 여덟 언어로 평가한 결과 Core F1은 74.9~83.1%였고, Mistral Large 3가 83.1%, OpenAI PrivacyFilter가 80.7%, OSS-GPT 20B가 81.6%를 기록했습니다. 도메인별 엔터티 정의를 prompt에 추가한 Extended 설정은 재학습 없이 extended-entity F1을 약 12%에서 약 73%로 높였습니다.
섹션별 상세
cd pii-detector
python -m venv .venv && source .venv/bin/activate
pip install boto3
export PYTHONPATH=. # so `import pii_detector` resolves from the repo root가상 환경을 만들고 boto3를 설치한 뒤 저장소 루트를 Python 모듈 경로로 설정합니다.
export AWS_PROFILE=my-bedrock-profile
export AWS_REGION=us-east-1Amazon Bedrock Converse API를 호출할 AWS 프로필과 리전을 환경 변수로 지정합니다.
from pii_detector import BedrockInferencer, PiiDetector
inferencer = BedrockInferencer(
model_id="openai.gpt-oss-20b-1:0",
region="us-east-1",
)
detector = PiiDetector(inferencer)
spans = detector("Email [email protected] or call Jane at 555-0142.") # -> [{'pii_entity_type': 'CONTACT_INFO', 'pii_entity_value': '[email protected]', # 'start': 6, 'end': 21}, ...]Amazon Bedrock 모델을 추론 백엔드로 연결하고 입력 문장에서 개인정보 스팬과 문자 오프셋을 반환받습니다.
용어 해설
- 개인 식별 정보(Personally Identifiable Information)
- — 개인의 이름, 주소, 이메일, 전화번호, 국가 식별번호, 금융 계좌처럼 특정 개인을 직접 또는 간접적으로 식별할 수 있는 정보입니다. 학습 데이터에 남아 있으면 모델이 프롬프트를 통해 실제 개인정보를 재현할 위험이 있습니다.
- 토큰 분류(Token Classification)
- — 입력 문장을 토큰 단위로 나눈 뒤 각 토큰에 이름, 주소, 이메일 같은 라벨을 부여하는 방식입니다. 학습 시 정한 라벨 체계에 묶이므로 새로운 도메인 식별자를 추가하려면 데이터 재라벨링과 재학습이 필요합니다.
- 스팬 수준 F1(Span-level F1)
- — 텍스트에서 개인정보가 시작하고 끝나는 위치와 엔터티 라벨을 함께 맞혔는지 평가하는 지표입니다. 이 글에서는 예측 스팬의 시작점, 끝점, 라벨이 모두 일치하는 경우를 기준으로 Precision과 Recall을 결합해 계산합니다.
- Amazon Bedrock Converse API
- — 서로 다른 대규모 언어 모델과 대화형 메시지 형식으로 통신할 수 있는 Amazon Bedrock의 인터페이스입니다. pii-detector는 이 API를 통해 메시지를 전달하고 모델의 텍스트 응답을 받아 개인정보 스팬으로 변환합니다.
- 문자 오프셋(Character Offset)
- — 입력 문자열에서 특정 개인정보가 시작하고 끝나는 문자 위치를 가리키는 값입니다. 모델이 텍스트 값만 반환하면 후처리 단계가 정규식으로 원문에서 위치를 찾아 시작점과 끝점을 부여합니다.
기술
- Amazon Bedrock
- Amazon Bedrock Converse API
- Amazon EC2
- Python
- boto3
- pii-detector
- Mistral Large 3
- OSS-GPT 20B
- Nova Lite 2
- OpenAI PrivacyFilter
- Qwen3.6-27B
- Gemma-4-E4B-it
- Qwen3.6-35B-A3B
- Qwen3.5-9B
- Hugging Face
활용 사례
- Fine-tuning 데이터에서 개인정보 스팬 탐지
- 고객지원 transcript와 chat log의 개인정보 정제
- HR 및 금융 문서의 개인정보 redaction
- 도메인별 직원 ID와 crypto-wallet 주소 탐지
- Amazon Bedrock 또는 자체 GPU 환경에서의 다국어 PII 탐지
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.