스크립트 하나로는 부족합니다
모든 데이터 과학 팀은 이런 코드를 작성해본 적이 있습니다:
import re
def anonymize_email(text):
return re.sub(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', '[EMAIL]', text)
이것은 이메일 주소를 대체합니다. 그것뿐입니다. 데이터셋에는 여전히 이름, 전화번호, 의료 ID가 남아 있습니다. GDPR 감사를 통과하지 못할 것입니다.
"이메일을 익명화했다"와 "이 데이터셋은 GDPR 준수다" 사이의 간격은 큽니다. 팀들은 항상 이것을 과소평가합니다.
GDPR이 ML 학습 사용을 제한하는 이유
GDPR 제5조 제1항 제b호가 핵심 규정입니다. 목적 제한 원칙이라고 불립니다. 개인 기록은 수집된 목적을 위해서만 사용될 수 있습니다.
고객 주문은 주문 처리를 위해 수집되었습니다. 추천 모델 학습을 위한 것이 아닙니다. 건강 기록은 치료를 위해 수집되었습니다. 재입원 모델 학습을 위한 것이 아닙니다. 설문 응답은 제품 피드백을 위해 수집되었습니다. 감정 분류기 학습을 위한 것이 아닙니다.
ML 학습에 해당 기록을 사용하려면 팀은 세 가지 중 하나가 필요합니다:
- ML 목적에 대한 각 개인의 명시적 동의 — 어렵고, 소급 적용은 종종 불가능
- ML 사용이 호환 가능하다는 정당한 이익 평가 — 법적으로 불확실하고 DPA 의존적
- 익명화 — 데이터셋이 GDPR 하에서 더 이상 개인 정보로 분류되지 않도록 개인 세부 정보 대체 또는 제거
적절한 익명화가 가장 강력한 법적 확실성을 제공합니다. 문제는 매번 올바르게 수행하는 것입니다.
일회성 스크립트의 문제
각 데이터셋마다 새 Python 스크립트를 작성하는 팀은 복합적인 문제를 만듭니다.
불완전한 커버리지. 하나의 스키마를 위해 구축된 스크립트는 새 필드를 놓칩니다. 6개월 전에 추가된 임상 노트 칼럼은? 정규표현식에 없습니다. 중간 이름 필드는? 스크립트는 성과 이름 패턴만 처리합니다.
일관성 없음. 데이터셋 A는 script_v1로 처리되었습니다. 데이터셋 B는 script_v3를 사용했습니다. 데이터셋 C는 다른 팀원이 처리했습니다. 병합된 학습 데이터셋에는 세 가지 다른 방법이 적용되었습니다. DPO가 이를 인증할 수 없습니다.
감사 추적 없음. 스크립트가 실행되었습니다. 무엇을 변경했나요? 어떤 엔티티가 발견되었나요? 처리 기록 없이는 컴플라이언스가 불가능합니다. DPA 감사관이 "이 학습 데이터셋이 깨끗한지 어떻게 알 수 있나요?"라고 물을 때, "Python 스크립트를 실행했습니다"라는 답은 충분하지 않습니다.
모델 드리프트. 2023년에 잘 작동하던 정규표현식 패턴은 2024년의 새로운 식별자 형식을 놓칩니다. 스크립트는 스스로 업데이트하지 않습니다.
배치 처리 실습
의료 AI 팀이 환자 기록 8,000건을 익명화해야 합니다. 미국 팀이 EU 사무소에서 접근해야 합니다. Schrems II가 적용됩니다 — EU 출처 기록은 적절한 보호 장치 없이 미국 인프라로 이전될 수 없습니다.
기존 방식: 데이터 엔지니어가 커스텀 스크립트를 작성합니다. 개발에 23일. DPO 검토에 12일. 반복 수정에 1일. 총합: 4~6일. ML 프로젝트가 지연됩니다.
배치 처리 방식:
- 8,000건 기록을 CSV로 내보내기
- 배치 처리에 업로드
- 엔티티 유형 설정: PERSON, EMAIL_ADDRESS, PHONE_NUMBER, US_SSN, MEDICAL_RECORD, DATE_OF_BIRTH, LOCATION
- 방법 선택: 대체(Replace) — 구조를 보존하는 현실적인 합성 값으로 대체
- 처리: 8,000건 기록에 45분
- 정제된 CSV 다운로드
- DPO가 처리 메타데이터 검토 — 기록당 발견된 엔티티, 적용된 방법: 2시간
- DPO 승인. 이전 진행.
총 소요 시간: 45분 + DPO 검토 2시간. 4~6일 대신.
동일한 단계가 Article 10 의무를 충족하는 방법은 EU AI 법 학습 가이드를 참조하세요.
ML 사용을 위한 대체(Replace) vs. 비식별화(Redact)
익명화 방법은 모델 품질에 영향을 미칩니다.
**비식별화(Redact)**는 PII를 [REDACTED] 같은 토큰으로 대체합니다. 이것은 PII 탐지 모델에는 효과적입니다. 다른 작업 — 감정 분석, 분류, 추천 — 에는 품질을 저하시킵니다. 모델이 **[REDACTED]**가 특별한 토큰이라는 것을 학습합니다. 이름과 값의 자연스러운 분포에서 학습할 수 없습니다.
**대체(Replace)**는 "John Smith"를 "David Chen"으로, "jsmith@company.com"을 "dchen@synthetic.com"으로 교체합니다. 구조는 그대로 유지됩니다. 엔티티 배치, 동시 발생 패턴, 문장 흐름 — 모두 보존됩니다. 모델은 현실적인 맥락에서 학습합니다.
ML 학습 데이터셋에는 대체(Replace)가 올바른 선택입니다. 모델은 가짜 값을 학습하지 않습니다. 그 주변의 패턴을 학습합니다. 이것이 중요한 부분입니다.
Schrems II와 국경 간 이전
Schrems II 판결(CJEU, 2020)은 EU-US 프라이버시 실드를 무효화했습니다. EU 출처 기록은 적절한 이전 보호 장치 없이 미국 ML 인프라 — AWS US-East, GCP US-Central — 로 이전될 수 없습니다.
세 가지 주요 보호 장치는 다음과 같습니다:
- 이전 영향 평가가 포함된 표준 계약 조항
- 기업 그룹 내 이전을 위한 구속력 있는 기업 규칙
- 익명화된 기록에 대한 적용 제외 — 적절히 익명화된 파일은 GDPR 하에서 더 이상 개인 정보가 아니며 이전 규정에서 면제됨
EU 출처 데이터셋으로 미국 인프라를 사용하는 팀에게는 적절한 익명화로 Schrems II 문제가 해결됩니다. 정제된 데이터셋은 개인 정보가 아닙니다. 자유롭게 이동할 수 있습니다.
이것이 배치 익명화의 가장 강력한 실용적 이점 중 하나입니다. GDPR을 충족하는 것 이상입니다. 국경 간 마찰을 완전히 제거합니다.
이전 제한에 대한 자세한 내용은 GDPR 목적 제한 가이드를 참조하세요.
DPO에게 제출할 자료
깨끗한 학습 데이터셋을 DPO 승인을 위해 제출할 때, 다음 다섯 가지 항목을 포함하세요:
- 소스 설명. 원본 데이터셋은 무엇이었나요? 수집 목적은 무엇이었나요? 어떤 개인 범주가 포함되었나요?
- 익명화 설정. 어떤 엔티티 유형이 탐지되고 대체되었나요? 어떤 방법이 적용되었나요?
- 처리 메타데이터. 기록당 엔티티 수, 신뢰도 점수, 처리된 총 기록 수.
- 잔여 위험 평가. 어떤 개인이 재식별될 가능성은 얼마나 됩니까? 구조화된 텍스트에서 285개 이상의 엔티티 유형에 대한 대체(Replace) 방식 익명화의 경우, 이 확률은 매우 낮습니다.
- 의도된 사용. 어떤 모델이 학습될 것인가요? 학습 목적은 무엇인가요?
배치 처리는 2번과 3번 항목을 자동으로 제공합니다. 1번, 4번, 5번 항목은 데이터 과학자가 작성합니다.
처리 메타데이터가 각 작업과 함께 어떻게 반환되는지는 anonym.legal 배치 API를 참조하세요.
얻을 수 있는 것
GDPR 준수 ML 데이터셋은 커스텀 스크립트 없이, 며칠의 지연 없이, 모델 품질 손실 없이 달성할 수 있습니다.
대체(Replace) 방법은 NLP 학습에 중요한 자연어 속성을 유지합니다. GDPR 위험을 만드는 개인 세부 정보를 제거합니다.
45분의 배치 처리가 지연된 컴플라이언스 검토와 간단한 DPO 승인 사이의 차이입니다.