본문 바로가기
글쓰기

LLM에 Stable Diffusion Moment가 온다 - 1

by zian지안 2023. 4. 8.
이 글은 Large language models are having their Stable Diffusion moment 포스팅에 영감을 받아 작성하였습니다.
Stable Diffusion이 세상에 나온 후, 이미지 생성 AI기술은 단기간에 폭발적인 발전을 경험하고 있습니다. 이 글은 Stable Diffusion의 사례를 통해 LLM(Large Language Model) 또한 같은 길을 따르게 될 것이라는 예상을 담고 있습니다.

https://simonwillison.net/2023/Mar/11/llama/

 


인공지능 이미지 생성 기술

이미지 생성 모델

https://arxiv.org/abs/1406.2661

인공지능 기술을 이용한 이미지 생성 모델의 시대를 연 모델은 GAN(Generative Adversarial Networks, 생성적 적대 신경망) 일 것입니다. GAN은, 인공능 모델을 통해 비로소 이미지를 '만들어낼 수 있다'라는 가능성을 보여주게 됩니다. GAN은 이후 Big GAN, Style GAN 등의 과정을 통해 지속적으로 발전하지만, 학습이 불안정성과 그 때문에 대규모 데이터셋으로 고화질의 이미지를 생성하기 어렵다는 한계를 가지고 있었습니다.

Diffusion Model

Diffusion Model

Diffusion 모델은 데이터에 노이를 조금씩 더해 완전한 노이즈로 만들거나(Foward Process), 완전한 노이즈에서 조금씩 복원하면서(Reverse Process) 데이터를 만들어내는 방식으로 이미지를 생성합니다. 

Diffusion Model은 '조금씩' 노이즈로 만들거나 '조금씩' 복원하면서 이미지를 생성하는 방식이기 때문에 데이터를 만들어 내기 위해서는 태생적으로 최소한 수십 번의 반복 작업을 거치게 됩니다. 일반적으로 이미지 생성에 20~50번의 반복 작업이 필요하고, 학습을 위해서는 1,000여 번의 반복 작업을 필요로 합니다. 

Text-to-Image

이때까지의 이미지 생성 모델은 단일한 입력값을 기반으로 결과 이미지를 얻어내는 방식이었으나 2021년, 새로운 이미지 생성 방식이 공개됩니다. 바로 텍스트를 입력하여 이미지를 생성하는 Text-to-Image 생성기술입니다

DALL-E (2021)

입력받는 텍스트를 특정한 이미지를 생성하기 위한 데이터로 변환하고, 변환된 데이터를 입력값으로 받아 이미지를 생성하는 Text-to-image기술이 등장하면서 사람이 의도한 이미지를 생성할 수 있는 길이 열리게 됩니다. 

그리고 2022년 공개된 Midjourney, DALL-E 2등은 불과 1년 만에 엄청나게 발전한 품질을 보여주면서 대중의 주목을 끄는 데 성공합니다. Midjourney로 생성한 이미지가 미술대회에서 우승을 하기도 하죠.

이미지 생성 AI 한계

하지만 인공지능 모델을 이용하여 이미지를 생성하기 위해서는 많은 컴퓨팅 자원이 필요했습니다. 앞에서도 설명했지만 Diffusion Model 자체가 이미지를 생성하기 위해서는 최소한 수십 번의 반복 작업을 수행해야 되는 태생적인 한계를 가지고 있었고, OpenAI와 같은 기업들이 수익을 위해 자신들의 기술이 공개되는 것을 꺼리기도 했기 때문입니다. 일반 사용자들은 기업들이 공개하는 서비스를 유료로 사용하는 방법 밖에 없었습니다.

때문에 이때까지만 해도 이미지 생성 AI라는 기술은 디자이너, 작가 등 일부 전문가들이 사용하는 기술과 서비스에 머물러 있었습니다. 


Stable Diffusion 공개

2022년 8월 Stable Diffusion이 오픈소스로 공개됩니다.

Stable Diffusion은 stability.ai(https://stability.ai/)의 지원으로 독일 뮌헨 대학교, Runway ML연구진등이 참여하여 개발한 text-to-image 모델입니다. Stable Diffusion은 이름 그대로 이미지를 생성하기 위해 확산 모델(Diffusion Model)을 사용하고 있으며, stability.ai는 모델 학습에 필요한 컴퓨팅 자원을 제공하였습니다. 

기존 이미지 생성 모델들이 유로 서비스로 제공되었던 것에 반해, Stable Diffusion은 모델 및 소스 전체를 공개하였고, 모델 성능 또한 일반 PC에서 실행할 수 있을 정도로(VRAM 4G 이상) 적은 컴퓨팅 리소스를 필요로 하였습니다.

Stable Diffusion 공개 이후 6개월...

Stable Diffusion이 오픈소스로 무료 공개되면서 이미지 생성 AI라는 영역에 일반인들도 접근할 수 있게 되었고 사람들은 다양한 커뮤니티를 통해 정보를 공유하면서 Stable Diffusion에 다양한 기술을 적용하고 발전시킵니다.

결국 이후 stable diffusion에 다양한 이미지 생성 기술이 적용됩니다. 아래 소개하는 기술들이 적용되는 기간은 불과 6개월에 불과합니다.

값비싼 Diffusion model을 받드는 저비용 MLOps(https://tv.naver.com/v/33915539)

Dreambooth & LoRA

https://dreambooth.github.io/

Dreambooth는 구글에서 발표한 이미지 생성기술입니다. 기존의 이미지 생성 모델은 대량의 학습용 이미지를 필요했던 것에 비해, Dreambooth는 불과 몇 장의 이미지만으로 새로운 이미지를 생성하게 해 줍니다. 비슷한 기술인 LoRA(Low-RAnk Adaptation)는 Dreambooth보다 짧은 시간에 보다 적은 리소스(일반 PC급)에서도 파인튜닝을 가능하게 하는 기술입니다. 이러한 기술을 통해 사용자들은 기존 모델에 수십 장의 이미지 데이터로 개인 PC에서 파인튜닝한 모델을 생성할 수 있게 됩니다.

xformers

https://www.photoroom.com/tech/stable-diffusion-100-percent-faster-with-memory-efficient-attention

xformers는 GPU 자원을 좀 더 효율적으로 사용할 수 있도록 하는 기술입니다. 동일한 모델을 사용하더라도 xformers를 사용하면 VRAM을 거의 절반 정도밖에 사용하지 않게 되어 Stable diffusion에서 보다 빠르게 이미지를 생성하는 것이 가능해졌습니다

Prompt-to-Prompt

https://prompt-to-prompt.github.io/

Prompt-to-Prompt기술은 특정 prompt로 이미지를 생성한 뒤, 프롬프트의 특정 단어만 교체하면 이미지도 변경된 키워드에 따라 이미지도 수정하는 기술입니다. 이 기술이 적용되면서 이미지 생성 시 보다 상세한 부분들을 수정하면서 완성도를 높일 수 있게 되었습니다.

Instruct Pix2Pix

https://github.com/timothybrooks/instruct-pix2pix

Instruct Pix2Pix 기술은 text-to-image모델에 언어모델을 접목하여 자연어 입력을 통해 이미지를 수정할 수 있는 기술입니다. 위의 그림과 같이 원본으로 입력된 에펠탑 그림에 "하늘에 불꽃놀이 장면을 추가"라는 자연어를 입력하면, 이를 이해하여 배경 하늘에 불꽃놀이 장면이 추가된 이미지로 수정해 주는 형태입니다.

ControlNet

text-to-image모델은 prompt를 통해 이미지의 세부 영역까지 지정하기에는 무리가 있었습니다. 어떤 형태의 포즈를 하고 있다거나, 대략적으로 어떤 모양인지 등을 지정할 수 없기 때문에 수십 장의 이미지를 생성하고, 그중에 가장 비슷한 이미지를 Instruct Pix2Pix등을 통해 수정하는 방법을 사용할 수밖에 없었습니다

https://github.com/lllyasviel/ControlNet

하지만 뼈대 이미지 또는 윤곽 이미지와 유사한 형태로 이미지를 생성해 주는 ControlNet 기술이 Stable diffusion에 적용되면서 보다 의도한 이미지를 생성할 수 있게 되었습니다.

Stable Diffusion Moment

Stable diffusion에 위의 모든 기술들이 불과 6개월 만에 적용되는 과정에는 오픈 소스 커뮤니티와 개발자, 그리고 이미지 생성 기술에 열광하고 있던 마니아들의 활발한 활동이 큰 역할을 했습니다. 지금도 Huggingface(https://huggingface.co/) 나 Civitai(https://civitai.com/)에는 수많은 종류의 모델들이 공유되고 있으며, Stable diffusion web ui(https://github.com/AUTOMATIC1111/stable-diffusion-webui) 프로젝트에 수많은 기술과 플러그인이 적용되고 있습니다.

결국 Stable Diffusion Moment란 AI를 활용하기 위해서는 엄청나게 많은 자원과 시간이 필요하다(비용이 많이 필요하다)고 생각했던 기술이 '오픈소스'라는 형태로 공유된 뒤, 수많은 사용자들에 의해 짧은 기간에 폭발적으로 발전하여 적은 비용과 시간으로 활용할 수 있는 수준으로 접근성이 좋아져 개인도 활용 가능한 수준으로 AI기술이 보편화되는 현상이라고 할 수 있겠습니다.


LLM에 Stable Diffusion Moment란?

그렇다면, LLM(Large Language Model)에 Stable Diffusion Moment는 어떤 상황을 의미하는 걸까요? 다음 편에는 Stable Diffusion Moment가 닥친 LLM의 상황을 알아보겠습니다

2편으로 이어집니다...