테크레시피

챗GPT에 영원히 단어 반복하는 공격 기법

챗GPT 학습에는 인터넷에서 얻은 데이터가 사용되지만 구체적인 데이터 내용은 비공개다. 구글 연구팀이 같은 단어를 반복하는 간단한 명령을 하는 것으로 챗GPT에 학습 데이터를 출력시키는데 성공했다고 발표했다.

기계학습 모델 트레이닝에 사용한 데이터가 거의 그대로 출력되어 버리는 현상은 이전보다 발생하고 있다. 예를 들면 이미지 생성용 모델인 스테이블 디퓨전에선 인명을 넣는 것으로 학습 데이터에 포함된 사람 사진을 거의 그대로 출력할 수 있다.

하지만 이런 기존 공격 방법으론 복원할 수 있는 학습 데이터 수가 한정되어 있어 스테이블 디퓨전은 수백만 이미지로 학습되고 있는 것에 비해 추출할 수 있었던 건 100건 정도다. 그 밖에 모델이 실제 제품이 아닌 연구용 데모이거나 모델 전체가 로컬에 존재하고 있어 직접 입출력을 실시할 수 있거나 데이터 추출에 대한 대책을 원래 실시하지 않았던 상황이었기 때문에 학습 데이터 추출 공격에 성공해도 그다지 놀라운 일이 아니었다.

한편 챗GPT는 이미 운용되는 제품 버전 모델로 오픈AI API 경유로만 액세스할 수 있고 데이터 추출 공격에 대한 대책도 이뤄지고 있는 것으로 보여지고 있다. 이번에 구글 연구팀은 이런 조치를 피하고 학습 데이터를 출력하는 방법을 발견했다. 공격은 특정 단어를 반복하는 것처럼 챗GPT에 의뢰할 뿐이라는 단순한 것으로 잠시 같은 단어를 반복한 뒤 훈련에 사용된 데이터가 출력되게 됐다는 것.

기존 공격 수법을 LLaMA나 인스트럭트GPT 등 모델에 대해 적용하면 이런 모델이 트레이닝 데이터를 출력할 확률은 1% 미만으로 챗GPT에 따르면 거의 0%다. 한편 이번 공격 수법을 이용하면 3% 가량 확률로 트레이닝 데이터를 출력시킬 수 있다.

연구팀은 챗GPT 출력이 무작위로 생성된 그런 게 아니라 실제 학습 데이터임을 확인하기 위해 인터넷에서 수집한 10TB 데이터와 비교했다. 비교 결과 챗GPT 출력 가운데 인터넷상 데이터와 일치하는 개소 확인을 통해 출력 속에 트레이닝 데이터가 들어가 있는 걸 확인할 수 있었다고 한다.

연구팀은 7월 11일 같은 단어를 반복해 이상한 출력이 이뤄지는 현상을 깨닫고 7월 31일 분석을 시작했다. 분석 결과 트레이닝 데이터가 출력되는 걸 깨달은 연구팀은 8월 30일 오픈AI 논문 초고를 송부해 공격 상세에 대해 논의를 실시했다. 90일 유예를 거쳐 11월 28일 논문 공개에 이르렀다는 것이다. 관련 내용은 이곳에서 확인할 수 있다.

추천기사