딥러닝 모델 중 음성 합성이나 이미지 합성으로 GAN이나 Auto Encoder(VAE)를 많이 사용한다. 그중 GAN이 시중에 가장 많이 나와 있고 정말 수많은 버전의 GAN이 존재해서 공부하는 재미가 있다. 그래서 열심히 GAN을 파고 있는데 요즘 Diffusion Model(확산 모델)이 핫하다는 솔깃한 이야기를 들었다. 분명 재작년까지만 해도 없었는데 Diffusion Model은 또 무엇인가. (사실 2021년도에 이미 논문이 발표되었고 2022년도에 기술이 발표되었다.)
GAN은 2개의 객체를 둔다는 것에서 비슷한데 마지막의 Diffusion Model은 좀 다른 양상을 띠고 있다. DCGAN에서 노이즈에서 새로운 이미지를 생성하는 방식이 있는데 그때 Generator(생성자)가 생성한 이미지를 Discriminator(판별자)가 판별을 하면서 이미지의 퀄리티를 향상한다. 하지만 Diffusion Model에서는 모델의 성능을 향상하기보다는 다른 요인(텍스트 등)을 통해 완전히 새로운 이미지를 얻게 된다. 여기서 text to image라는 새로운 기술이 나오는데 이미 OpenAi의 DELLE과 구글의 Imagen에서 그것을 선보였었다. 텍스트로 이미지 생성을 제어한다니 이제 AI도 말귀를 알아듣는 화가가 된 것일까?
위 그림에서 왼쪽에서 오른쪽으로 가는 방향은 가우시안 노이즈를 증가시키는 방식이다. 그렇게 만든 TV 지지직 화면에서 오른쪽 방향으로 가는 것이 Diffusion Model의 생성 방식인데 이때 소실된 정보를 메꾸어 줄 때 완벽하게 원래의 데이터로 복원은 불가능하다. 이때, 텍스트로 이미지의 생성 방향을 조정하면서 원하는 이미지를 얻게 되는 것이다. 간단하게 설명하면 그렇다.
뭐 그렇게 레퍼런스와 논문들을 찾아보다가 이미 오픈소스가 나왔다고 해서 살펴보았다.
Stable Diffusion에서 내놓은 Diffusion Model 소스를 토대로 오픈소스 WebUI가 얼마 전에 나와서 선풍적인 인기를 끌고 있다. 작년에 소스가 공개되었는데 프로그램이 오픈소스 WebUI로 바로 풀려서 전 세계 그림 작가들의 마음을 산산조각 내고 있다. 사실 Diffusion에서는 그림체 모델이 사용되는데 이것은 수만 장의 그림체를 학습한 모델이므로 상당히 비싸고 무겁다. 하지만 우리의 Stable Diffusion사는 이 모델들도 흔쾌히 공개를 한다.(진정한 대인배)
설치 및 사용은 간단하다.
https://github.com/AUTOMATIC1111/stable-diffusion-webui
윈도우즈는 설치가 어려워서 통합팩이 돌아다니고 있는데 리눅스에서는 터미널에 2줄만 '복사-붙여 넣기' 하면 모든 설치가 끝난다.
모델을 다운로드하고 stable-diffision-webui/models/stable-diffusion/ 폴더 안에 넣으면 된다. 참고로 텍스트 키워드는 civitai.com에서 예시가 많이 나와 있으니 그것을 참고하면 된다. 근데 키워드가 대부분 좀...
참고로 NVIDIA의 그래픽카드가 설치된 컴퓨터여야 하며 안 되면 구글 Colab을 추천한다. 자세한 사항은 깃허브 README에 자세하게 나와 있고 유튜브에도 설명 영상이 많이 나와있으니 검색해서 참고하자.
당연한 것이지만 성능은 참 좋다. 본인이 RTX 3060 그래픽 카드 달랑 1개를 쓰는데 고퀄리티의 이미지 1개를 뽑는데 1분 남짓 걸렸다. 다만 그림체에 따라 모델을 다운로드하여야 하는 모델의 크기가 2~3GB로 용량을 꽤 차지한다.
이 정도 일러스트나 실사 이미지를 만들려면 일러스트레이터들의 엄청난 노력이 필요한데 클릭 몇 번으로 이렇게 높은 퀄리티의 그림을 뽑을 수 있다니... 놀라고 있다. 이제 만화나 일러스트 같은 창작의 영역도 AI가 차지하는 게 아닐까 싶다. 실제 웹소설에 사용되는 삽화나 표지의 그림의 경우 이제는 AI가 쉽게 대체할 수 있을 것 같다.
문제는 CivitAI에서 제공하는 모델에 연예인 실사 사진을 학습한 모델도 있고 (사람의 특성상) 이상한 쪽으로 이미지를 생성할 가능성이 높아서 제재가 필요하지 않을까 싶다. 이미 연예인이나 유명인을 대상으로 한 합성물 유포가 문제인데 WebUI를 기점으로 더 심화되지 않을까 걱정된다.
그리고 WebUI로 만든 그림의 경우 과연 저작권은 누구에게 있는지에 대한 논의와 법적 규제가 필요한 시점 같다. 실제 WebUI에서 만든 그림은 수만 장의 그림을 학습한 모델을 통해 나오는데 그 모델의 원작자에게 수익이 가는 것이 옳지 않겠는가. 물론 두 가지 그림체를 합성한다면 그건 또 다른 문제이겠고... 소중한 GPU와 전기세를 바치고 정성스럽게 텍스트로 조건을 입력해서 원하는 그림을 뽑아낸 인간도 또 어느 정도의 권리를 가져야 하지 않겠는가. 이래저래 저작권 문제가 복잡해지고 있다.
이러한 문제점에도 불구하고 기술은 눈을 가린 채 초스피드로 달려가고 있고 이 기술이 상용화가 시작된 이상 많은 이들의 일자리를 위협하고 있다는 것은 의심할 여지가 없다. 프로그램 자체가 오픈소스로 이미 공개되었고 누구나 다운로드하여 사용할 수 있다는 것으로도 이미 게임이 끝난 것으로 보인다. 기술의 특이점이 너무나 급격하게 넘어가고 있다. 예고도 없이 갑자기. 도대체 어디까지 발전하려나. 아니 끝이 있기는 한가 모르겠다.
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/
https://developer.nvidia.com/blog/improving-diffusion-models-as-an-alternative-to-gans-part-1/