본문 바로가기
IT 공부/생성형 AI

[생성형 AI] 프롬프트 비식별화

by 해모해모 2024. 11. 9.
728x90
반응형

프롬프트 비식별화

프롬프트 보안의 필요성

  • ChatGPT 민감정보 유출

    • 4.7%의 직원이 ChatGPT 민감 정보 입력 경험
    • 직원이 입력하는 데이터의 11%가 민감 정보
    • 내부정보, 소스코드, 고객 데이터, 개인정보, 건강정보, 프로젝트 계획 등
    • ChatGPT와 같이 외부로 데이터를 반출, 저장하는 경우 유출의 우려 존재
  • 비식별화: 식별자 제거를 통해 개인 식별, 추론을 방지하는 것

    • 식별자: 개인을 식벼할 수 있는 정보(1:1 대응이 가능한 모든 정보)
      • 예) 이름, 주민번호, 이메일, 계좌번호, MRI 사진 등
    • 준식별자: 다른 데이터와의 결합을 통해 개인을 추론할 수 있는 정보
      • 예) 거주 도시, 몸무게, 혈액형 등
  • 프롬프트 비식별화 과정

    • 식별자 인식 -> 비식별화 -> 프롬프팅 -> 원상복구
      1. 입력 프롬프트에서 개인을 특정할 수 있는 식별자 감지
      1. 식별자를 마스킹하거나, 다르 의미 없는 내용으로 치환
      1. 비식별화된 입력 프롬프트로 프롬프팅 수행
      1. 프롬프팅의 결과로부터 식별자를 원상으로 복구

식별자 마스킹

  • 개체명 인식(Named Entity Recognition)

    • 텍스트에서 사람의 이름, 기관, 지명 등 이름있는 개체를 찾아내는 것
    • KoELECTRA 언어모델을 활용한 개체명 인식
    • Pytorch, HuggingFace Transformers 라이브러리 활용
  • 개체명 인식 기반 식별자 마스킹

    • 개체명 인식 결과를 바탕으로 식별자 마스킹
    • 마스킹된 문장으로 ChatGPT 번역 수행
    • 번역된 문장의 마스크 원상 복구
    • 마스킹 된 단어들에 대해 추가적인 처리 가능

가짜 식별자 생성

  • 식별자 마스킹의 한계

    • 실제 단어의 손실로 인해 ChatGPT의 잘못된 처리확률 증가
  • Faker: 가짜 식별자 생성 라이브러리

    • 이름, 번호, 날짜 등 가짜 식별자 데이터 생성 가능
    • Faker 라이브러리를 이용하여 가짜 식별자 채우기
    • 가짜 식별자를 채운 문장 번역: 마스킹에서 발생하던 문제 해결
    • 상황에 따라 원상복구가 어려울 수 있음
    • 워크로드에 따라 마스킹과 조합하여 사용
728x90
반응형

댓글