특정 프롬프트에 독성 데이터를 주입하여 생성 모델을 손상시키는 방법
# 14 위클리 딥 다이브 | 2023년 11월 15일
에디터 배니

💡이번주 뉴스레터에는 이런 내용을 담았어요!

  • AI 모델의 기능을 저하시키는 중독 공격(Poisoning Attack)에 대해 설명합니다.
  • 특정 프롬프트 공격이 가능한 원리를 살펴봅니다.
  • 디지털 창작물을 보호하는 Nightshade 모델을 소개합니다.

생성 모델에 독을 풀어라: Nightshade

생성형 AI의 작품들은 이제 일상 속에서 쉽게 접할 수 있게 됐습니다. 숏폼 콘텐츠에서 음성 합성 기술을 활용한 더빙부터 영화나 광고 속에도 이제 AI가 활용됩니다. AI는 창의성의 보조 도구로서 유용하게 활용되며 전분야에 크게 영향을 미치고 있는데요.


그러나 성능이 뛰어난 생성형 AI를 학습시키기 위해서는 대량의 데이터가 필요합니다. 이 데이터는 어디에서 수집하는 것일까요? 많은 기업들이 웹 크롤링을 통해 무분별하게 음성, 이미지, 텍스트 등을 수집하고 있습니다. 그러나 이 데이터 속에는 작가들의 혼이 담긴 작품이나, 여러분들의 개인 정보가 들어 있을 수 있습니다. 특히 이런 정보로 수익까지 얻는다면 더더욱 문제가 될 것입니다. 물론, 기업들도 이 점에 민감하게 대응하고 있습니다. 특히 오픈 소스로 공개된 언어 모델 LLaMA 2의 경우, 오직 공공 사용이 가능한 데이터셋만 활용했다고 밝혔습니다. ChatGPT의 경우에도 다른 창작물과 관련된 답변은 제한하도록 만들어 두었습니다.

ChatGPT에 해리 포터 스타일의 이미지를 만들어달라고 요청하면 콘텐츠 정책 제한에 의해 만들 수 없다고 답변한다.

그럼에도 완전히 저작권 문제로부터 자유로울 수는 없습니다. 학계에서도 이런 문제를 방지하는 연구가 이뤄지고 있습니다. 그리고 지난 10월 말, 이 문제에 천착한 시카고 대학의 Ben Zhao 교수가 이끄는 연구팀은 Nightshade를 공개했습니다. Nightshade는 예술가들의 작품이 창작자의 허락 없이 모델 훈련에 학습되지 못하도록 고안 됐는데요. 이번 뉴스레터에서는 Nightshade에 대해서 알아보겠습니다.

☠️ 생성 모델을 중독시키는 Nightshade

연구진은 <Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models> 논문을 통해 Nightshade를 소개합니다. Nightshade는 텍스트 프롬프트 기반 이미지 생성 모델에 중독 공격(Poisoning Attack)하는 모델입니다. 조금 더 구체적으로는 Diffusion 기반 모델을 중독시키는 모델인데요. 연구진은 특정 프롬프트(Prompt Specific)에 대한 생성 능력을 저하시키는 방식으로 중독시킵니다. 예를 들면, “강아지”라는 프롬프트가 입력됐을 때 “고양이”를 생성하거나 “애니메이션 스타일”이 입력됐을 때 “유화”를 생성하는 식입니다. 이제 원리를 자세히 살펴봅시다.

🤔 중독 공격(Poisoning Attack)

탐지하기 어려운 독성 데이터를 학습 모델에 주입하여 모델을 손상시키는 것을 의미합니다. 잘못된 데이터로 학습된 모델은 잘못된 결과를 생성해낼 것입니다. 악의적으로 모델의 성능을 저하시킬 목적을 위해 활용하기도 하지만, 보안의 취약점을 찾아내기 위해 공격 모델을 연구하기도 합니다.

🕵️‍♂️ 특정 프롬프트를 공격하는 방법

Prompt-specific Poison Attack의 개요
출처: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models(Shan et al., 2023)

특정 프롬프트의 중독 공격(Prompt-specific Poison Attack)의 원리를 간략하게 알아보겠습니다. 우선, 독성 데이터를 생성하여 온라인 세계에 업로드합니다. 그러면 AI 기업들이 웹 상에서 무작위적으로 정보를 수집하면서 해당 데이터도 수집하게 될 텐데요. 이렇게 수집한 데이터로 학습하여 생성하게 되면 잘못된 이미지를 생성하게 됩니다.

논문에 따르면 일반적으로 기존 중독 공격과 관련된 연구에서는 모델의 성능을 저하시키기 위해 학습 데이터의 약 20%가 독성 데이터여야 합니다. 이를 고려해 최근에 등장한 모델들(Midjourney, SDXL 등)의 1%만 공격하려고 해도 독성 데이터 수백 만 장이 필요합니다. 그렇다면 연구진은 어떻게 공격에 성공한 것일까요?

생성 모델은 특정 키워드를 기반으로 조건화(Conditioned)하여 이미지를 생성하는데요. 연구진은 이 키워드를 개념(Concept)이라고 명명했습니다. 세상에는 무수히 많은 개념이 존재합니다. 프롬프트의 자유도가 그만큼 높다는 것을 의미하죠. 어떤 프롬프트가 입력될지 알 수 없기 때문에 생성 모델이 아무리 많은 양의 데이터에 대해서 학습했다고 하더라도 개념에 상응하는 학습 이미지의 양은 많지 않습니다. 연구진은 특정 프롬프트에 대응하는 이 점에 착안하여 훨씬 적은 양으로 중독 공격을 성공적으로 진행했습니다.

예를 들어, 개(dog)라는 단어가 데이터셋에서 얼마나 차지하고 있을까요? 연구진에 따르면 불과 데이터셋에 0.1%밖에 차지하지 않는다고 합니다. 그렇다면 개를 고양이로 바꾸도록 공격하기 위한 데이터의 양은 현저하게 줄어듭니다. 대중적인 키워드인 ‘개’에 대해서도 이러한데, 실제로 학습 데이터는 키워드별로 불균형이 심합니다. 다시 말하면, 다른 키워드들에 대해서는 공격하기 더 쉽다는 것이죠. 평균적으로 0.07%밖에 차지하지 않으며 60%의 데이터는 0.04%보다 적습니다.

🌒 Nightshade가 생성 모델을 공격하는 원리

하지만 모델 연구진이 이와 같은 공격에 안일하게 대응할 리 없습니다. 온라인에서 데이터를 수집할 때는 더욱이 독성 데이터인지 탐지하는 과정을 거치게 되는데요. 독성 데이터로 ‘오염된 레이블(Dirty Label)’을 주입하는 방법은 강력한 독성을 주입하는 방법이지만 너무 쉽게 탐지됩니다.

연구진은 자동 탐지를 넘어 인간의 눈까지 속이기 위해 훨씬 더 강력한 독성 이미지를 고안합니다. 그 방법은 ‘깨끗한 레이블’을 활용한 독성 데이터입니다. 독성 데이터인데 레이블이 깨끗하다니 어떤 의미일까요?
원본 이미지와 독성이 주입된 이미지. 두 그림은 육안으로 보기에 차이가 없다.
출처: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models(Shan et al., 2023)

위의 이미지를 살펴보면 어느 것이 원본이고, 어떤 것이 독성 데이터인지 구분하기 어렵습니다. Nightshade가 생성하는 독성 이미지는 이렇게 육안으로 구분되지 않으면서, 모델이 분류할 때는 타깃으로 삼은 잘못된 개념으로 인식되도록 만드는 방법입니다. Nightshade가 생성한 독성 데이터의 원리는 다음과 같습니다.

Poison Image는 겉보기엔 Poison Text와 일치하는 것처럼 보이지만 특성 공간에서는 Anchor Image와 유사하다.

출처: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models(Shan et al., 2023)


앞서 설명한 것처럼 개(dog)를 고양이로 인식하도록 만들기 위해서는, 텍스트(개)와 독성 이미지(고양이)가 대응되어야 하는데요. 독성 이미지는 완전히 개를 설명한 사진처럼 보이지만 실제로는 고양이 이미지와 특성 표현(Feature Representation)과 아주 유사하도록 만듭니다. 강력한 독성을 보장하기 위해서는 독성 텍스트(개)는 타깃으로 삼은 개념(고양이)과 완전히 분리되어야 합니다. 반대로 독성 이미지(개)도 타깃의 텍스트(고양이)와 완전히 무관해야 하고요. 이런 성질은 학습 과정에서 그래디언트(Gradient)를 크게 반영하도록 만드는 효과를 나타냅니다. 즉, 학습이 더 빠르게 진행됩니다.

주입된 독성 샘플 수에 따른 생성 결과

출처: Prompt-Specific Poisoning Attacks on Text-to-Image Generative Models(Shan et al., 2023)


위의 이미지는 Stable Diffusion XL 모델에 대해서 독성 이미지를 주입했을 때, 양에 따라 나타나는 변화를 보여줍니다. 샘플이 많아질수록 목적 개념(Destination Concept)에 확실히 가까워지는 것을 볼 수 있습니다. 연구진은 약 100개의 샘플만으로도 모델을 충분히 중독시킬 수 있다고 말합니다. 게다가 독성을 주입한 개념과 연관성이 큰 개념들도 파생적으로 오염시킬 수 있다는 사실을 밝혀냈습니다.

만약 본인의 창작물이 AI 모델에게 학습되지 않기를 원한다면 위와 같은 모델이 아주 유용할 것입니다. 그런데 독성 데이터가 온라인 환경에 많이 풀리게 되면 다른 모델들도 위험에 빠지지 않을까요? 해당 연구를 이끈 Ben Zhao 교수는 MIT Technology Review와의 인터뷰에서 Nightshade의 위험성에 대해서 인정하면서도 실제로 거대 모델에 큰 영향을 미치지 위해서는 수천 개의 독성 샘플이 필요하다고 말했습니다. 대중들의 반응도 크게 다르지 않습니다. 연구의 성과와는 달리 효과는 미미할 것으로 보는 것입니다.

한편으로 모델 공격 연구는 현재 모델들이 얼마나 취약한지 알려주기도 합니다. 아직 마땅히 이런 공격에 대응할 수 없다는 점은 누군가 악의를 품으면 많은 모델들을 망가뜨릴 수 있다는 의미입니다. 우리는 이미 생성형 AI 속에서 편의를 누리며 살아가고 있습니다. AI 발전의 과도기를 겪으면서 아직 우리가 준비하고 논의해야 할 길은 멀어보입니다.
SNS를 팔로우하면
최신 소식을 가장 빠르게 확인하실 수 있습니다 😆
deep daiv.
manager@deepdaiv.com