한 줄 정의

Privacy Filter(프라이버시 필터)는 OpenAI가 공개한 텍스트 개인정보 탐지 모델이야. OpenAI 발표는 이 공개본을 personally identifiable information, 줄여서 PII를 찾아 가리는 open-weight 모델로 소개했고, Hugging Face 공개 카드는 대량 텍스트 정제 작업에 쓰는 토큰 라벨링 모델이라고 설명해.

쉽게 말하면 ChatGPTOpenAI API에 보내기 전 텍스트에서 이름, 이메일, 전화번호, 계정번호, API 키처럼 민감한 문자열의 위치를 찾아 주는 모델이야. 그 결과를 이용해 원문을 [PRIVATE_EMAIL] 같은 라벨로 바꾸거나, 사람이 다시 확인할 후보 목록을 만들 수 있어.

이 모델로 무엇을 할 수 있나

  • 고객 지원 로그, 내부 리뷰 메모, 검색 색인용 문서에서 개인 이름, 이메일, 전화번호, 주소, 계정번호를 먼저 마스킹할 수 있어.
  • 학습 후보 데이터나 RAG 색인에 넣기 전 텍스트를 로컬에서 정리해, 원문 개인정보가 큰 모델 호출이나 벡터 저장소로 바로 들어가는 일을 줄일 수 있어.
  • 코드 주변 텍스트와 운영 로그에서 API 키, 비밀번호, 계정 식별자처럼 secret 라벨에 가까운 span을 찾는 보조 필터로 쓸 수 있어.
  • 기본 라벨 기준이 팀 정책과 맞지 않으면 작은 도메인 데이터로 fine-tuning해서 놓치는 항목과 과하게 가리는 항목의 균형을 다시 잡을 수 있어.

어떻게 작동하나

이 공개본은 새 문장을 생성하는 LLM처럼 다음 토큰을 예측하지 않아. 입력 텍스트를 잘게 나눈 뒤 각 토큰private_person, private_email, private_phone, account_number, secret 같은 라벨을 붙여. 공식 발표 기준 라벨은 8개이고, BIOES 방식은 한 범위가 시작인지, 안쪽인지, 끝인지, 혼자 떨어진 항목인지를 표시해. 그래서 8개 라벨마다 4가지 위치 태그가 붙고 배경값 O가 더해져 8 × 4 + 1 = 33개 토큰별 출력값이 나와.

출발점은 gpt-oss와 비슷한 구조의 사전학습 체크포인트지만, 이건 gpt-oss의 하위 버전이라는 뜻은 아니야. 다음 단어를 맞히는 출력부를 떼고, 토큰마다 개인정보 라벨을 붙이는 출력부로 바꾼 별도 모델로 보는 게 맞아. HF 문서는 8개 Transformer 블록, grouped-query attention, 128개 전문가 모듈을 가진 sparse Mixture of Experts 구조, 토큰마다 4개 전문가를 고르는 라우팅을 적고 있어. 그래서 전체 규모는 1.5B 파라미터지만 한 번 계산할 때 켜지는 파라미터는 50M이야.

마지막에는 Viterbi decoding이 가능한 라벨 순서를 따라 범위 경계를 정리해. 이 과정 덕분에 JohnSmith를 서로 다른 이름으로 흩뜨리기보다 하나의 사람 이름 범위로 묶는 식의 안정성을 노릴 수 있어.

왜 중요한가

중요한 이유는 민감한 원문을 외부 호출 뒤쪽에서 뒤늦게 처리하는 대신, 데이터가 이동하기 전에 먼저 검사할 수 있게 해 주기 때문이야. OpenAI는 128,000토큰 컨텍스트, 1.5B total / 50M active 구조를 내세워 긴 문서를 한 번에 다루는 작업을 겨냥한다고 설명해. 개발팀 입장에서는 고객 지원 로그를 검색 색인으로 넣기 전, 내부 리뷰 데이터를 RAG 저장소에 넣기 전, 학습 후보 텍스트를 고르기 전 같은 위치에 둘 수 있어.

On-device AI 문맥에서도 의미가 있어. VentureBeat는 이 모델이 노트북이나 브라우저 WebGPU에서 실행될 수 있다고 설명하고, 공개 문서도 Transformers.js 예시에서 dtype: "q4"를 보여줘. 민감한 원문을 외부 서버로 보내기 전에 로컬에서 먼저 마스킹할 수 있다는 점이 핵심이고, Apache 2.0 라이선스라 상업 제품 안에 넣고 커스터마이징할 여지도 커.

성능 수치도 그냥 장식은 아니야. OpenAIPII-Masking-300k에서 F1 96%, 보정된 버전에서 F1 97.43%를 제시했고, domain adaptation 평가에서는 F1이 54%에서 96%로 오른 사례를 공개했어. 다만 이 숫자는 OpenAI가 설명한 평가 조건과 label policy 안에서 읽어야 해. 팀 데이터가 한국어 상담 로그, 의료 문서, 법무 자료, 코드 저장소 secret처럼 다르면 자체 샘플로 다시 재야 한다.

같이 보면 좋은 모델

  • gpt-oss: 구조가 닮았다는 말은 계열 관계가 아니라 설계 힌트로 읽어야 해. gpt-oss는 범용 추론 모델이고, 이 항목은 개인정보 범위 표시가 목적이야.
  • ChatGPT: ChatGPT는 사용자가 대화로 쓰는 서비스야. 프라이버시 필터는 그런 서비스나 API 호출 앞에서 텍스트를 다듬는 쪽에 놓여.
  • LLM: 일반 LLM은 답변을 생성하지만, 여기서는 입력 토큰마다 라벨을 붙여. 출력이 문장인지, 범위 표시인지가 갈리는 기준이야.
  • OpenAI API: OpenAI API는 관리형 호출 경로이고, 이 공개본은 자체 환경에 올려 쓸 수 있는 open-weight 모델이야. 민감한 원문을 API로 보내기 전에 로컬에서 다룰지 판단할 때 같이 보면 좋아.

무엇과 구분하나

이 이름은 FP16이나 BF16 같은 정밀도 이름이 아니야. 공개 카드의 tensor type은 F32와 BF16으로 표시되고, 브라우저 예시는 q4 quantization을 따로 써. 그러니까 이 이름이 나오면 먼저 “개인정보 span을 찾는 모델”로 읽고, 그다음에 어떤 런타임과 숫자 형식으로 배포할지 확인하는 순서가 맞아.

Distillation과도 다르다. 작은 모델이라는 점만 보고 증류 모델로 읽으면 헷갈려. 핵심 설명은 큰 모델의 행동을 작은 모델에 옮겨 배웠다는 이야기가 아니라, 사전학습 체크포인트를 개인정보 라벨링 작업에 맞게 다시 훈련했다는 쪽이야. 또 attention을 쓰지만 attention 최적화 기법 자체를 뜻하지도 않아. attentionMixture of Experts는 내부 계산 구조이고, 제품으로서의 역할은 개인정보 범위 표시야.

주의해서 볼 점

이 도구를 법무팀 통과표처럼 보면 위험해. OpenAI와 HF 문서 모두 익명화 장치, 법적 준수 증명, 안전성 보장으로 쓰지 말라고 선을 그어. 기본 8개 라벨에 맞는 범위를 찾는 모델이라서, 조직마다 다른 개인정보 정의나 보관 정책을 런타임 옵션만으로 바꾸기는 어렵고 정책이 다르면 보정 평가fine-tuning이 필요해.

실무에서 확인할 항목은 네 가지야.

  • 실제 데이터에서 missed span과 over-redaction을 같이 측정해. 놓치면 노출이고, 너무 많이 지우면 감사·리뷰 문맥이 사라져.
  • 영어가 아닌 텍스트, 비라틴 문자, 지역별 이름 규칙, 도메인별 계정번호와 secret 패턴을 따로 평가해.
  • 의료, 법무, 금융, HR, 교육, 정부 업무에서는 사람 검수 경로를 남겨.
  • Hugging Face 모델 카드라이선스, tensor type, 다운로드 파일, 런타임 지원을 배포 전에 다시 확인해.