안녕하세요. KDST팀에서 학점연계 현장실습 인턴을 하고 있는 성균관대학교 데이터사이언스융합전공 김지환입니다. 제가 이번에 소개드릴 논문은 이번 EMNLP 2023에 억셉된 논문인 'Text Embeddings Reveal (Almost) As Much As Text'입니다.
논문 링크(arxiv): Text Embeddings Reveal (Almost) As Much As Text
github 링크: https://github.com/jxmorris12/vec2text
이 논문에서는 기존에는 잘 되지 않았던, text를 embedding한 vector로부터 원본 텍스트로 복원하는 embedding inversion problem을 다루고 있습니다. 본 논문에서는 이 문제를 통제된 생성; 즉 잠재 공간 내에서 고정된 벡터에 가까워지도록 텍스트를 생성하는 문제로 규정하여 해결합니다.
이 문제를 해결하기 위해 저자들은 Vec2Text라는 방법론을 제안합니다. 반복적으로 텍스트 임베딩을 교정하고 텍스트로 다시 임베딩하는 방식입니다. 대략적인 컨셉은 아래 그림과 같습니다.
저자들은 Vec2Text라는 방법을 사용하여 32개의 토큰 텍스트에 대하여 text embedding으로부터 원본 텍스트의 92%까지 복원하는데 성공하였고, clinical note 데이터셋에서 임의처리한 개인 정보를 복원하는 데 성공했다고 주장하며, 의료 분야와 같은 민감한 도메인에서 임베딩 벡터도 원본 텍스트와 동일하게 데이터 프라이버시 보호를 위한 조치가 필요하다고 강조했습니다.
추가적으로, 본 논문에서는 위와 같은 텍스트 임베딩으로부터 원본 텍스트를 생성하여 데이터 프라이버시가 침해되는 문제, 즉 inversion attack을 해결하기 위해, 0.1에서 0.01과 같은 낮은 수준의 노이즈를 주입하는 방법을 제안합니다.
하지만 저자들이 제안한 Vec2Text 방법에는 몇가지 한계가 존재합니다.
우선 임베딩으로부터 텍스트를 reconstruct하는 과정에서는 noise를 주입해서 학습하지 않았기 때문에, 만약 noise를 주입하여 텍스트를 생성하도록 학습했을 때는 inversion attack에 어떤 양상이 나올지 모른다는 점입니다.
그리고 현재 LLM을 통해서 생성하는 텍스트의 토큰 길이는 수천 토큰 이상으로 긴데, 아직 32개의 토큰에서 128개의 토큰까지의 복원을 하지 못했다는 점, 그리고 저자들은 iteration 수를 50회와, beam search 시 beam의 용량을 8회로 한정했다는 점에서 각각 long text에 대한 scablility, 그리고 search thoroughness에 대한 한계가 있습니다.
또한 이 상황의 경우에는 모델과 원본 텍스트, 원본 텍스트에 대한 임베딩 벡터에 대한 접근이 가능하다는 전제가 있기 때문에, 모델 접근이 가능하다는 점을 염두한 상황이라는 점에서 다소 한정적인 상황에서만 사용이 가능하다는 점이 한계입니다.
개인적으로는 텍스트 임베딩으로부터 원본 텍스트 토큰을 복원하는, 새로운 패러다임을 제시한 논문이라는 생각이 듭니다.
자세한 내용은 논문을 참조해보시면 좋을 것 같습니다. 읽어주셔서 감사합니다.