WEBUI탐구 - 스테이블 디퓨젼의 프롬프트

어떤 기계나 프로그램이든 명령을 잘 내려야 잘할 수 있습니다. 이 그림AI WEBUI는 아직 까지는 알아서 잘 딱 깔끔하고 센스 있게 그림을 뽑아내지는 못하기 때문에 명령 내리는 법을 알아야 합니다.




AI그림풍경여자






프롬프트 문법


1. 토큰이란


하나의 단어와 의미가 부여되는 특수문자 하나하나를 토큰이라는 단위로 세어진다 프롬프트 박스 우측 상단에 보면 (00:75)혹은 (00:150) 이렇게 나타난다.


2. 가중치 조절


프롬프트를 적으면 AI가 그 단어(프롬프트)를 인식해서 그림을 만들어내는데 그 단어의 약함 과 강함의 정도를 조절하는 의미로 생각하면 된다.

예를 들어 'football'이란 단어를 그냥 입력했을 때는 AI는 그대로 받아들여서 자신의 해석대로 그림을 그려주지만 (football:1.5)로 프롬에 입력 했을 때는 'football'을 1.5배 인식하여 그림을 그려준다는 뜻이다.

여기서 그럼 우리가 괄호를 쳐서 저런 형식을 만들어야 하나? 그건 아니다. Ctrl+↑,↓방향키로 조절하자. 


  • 프롬프트 하나를 선택해서 Ctrl+↑,↓로 가중치를 조정하면 된다.

  • football = 1배
  • (football) = 1.1배
  • ((football)) = 1.2배
  • (football:2) = 2배
  • (football:1.4) = 1.4배
  • (football:1.0~1.6) = 가중치 1배에서 1.6배 사이에서 랜덤으로


프롬프트가중치조절




3. 프롬프트 간편 조작법


  • 제일 많이 쓰게 될 키 : Ctrl

  • 프롬프트 선택 : Ctrl + Shift + 좌우 화살표

  • 가중치 조절 : Ctrl +↑,↓




4. [프롬프트1:프롬프트2:0.3]


0.3이 30%라는 것은 알고 있을 것이다. 위의 프롬프트의 뜻은 샘플링 스텝(AI가 그림을 그리는 단계)를 100이라고 했을 때 스텝 중에 처음 시작 후 30%는 '프롬프트1'을 그리고 나머지 70% 스텝에서는 '프롬프트2'를 그려 달라는 명령이다.


예를 들자면 샘플링 스텝이 100이라고 치면 [A:B:0.4]라고 프롬을 입력하면
100 중에 40 스텝 까지 A를 그리고 나머지 60 스텝을 B로 그리는 원리인 것이다.


여기서 함정은 처음 시작을 '프롬프트1'로 시작했기 때문에 그림의 형태는 '프롬프트1'을 따라갈 확률이 높다. 그리고 [프롬1:프롬2:프롬3:0.3] 이거는 너무 랜덤성이 강해서 하지 않는 것을 추천한다.


그리고 참고로 순서 없이 섞는 것을 원한다면 '|'을 써보자. |은 "shift + \" 로 사용할 수 있는데 A|B 하면 A와 B를 순서 없이 섞어주는 명령어이다.





5. A,B 둘 중 하나만 골라서 그려줘


{ A | B } 그냥 무작위로 두 개 중에 하나를 그려주는 명령어 4장을 뽑았을 때 A가 1개 나오고 B가 3개 나 올 수도 있고 그 반대일 수 있는 것이다.





6. 이모티콘 : win + .


윈도우 키와 마침표를 누르면 이모지가 나오는데 의미가 함축되어 있어서 적절하게 쓰면 좋다. 다만 문제는 어떤 모델로 이모티콘을 넣고 그림을 뽑는 지에 따라 결과가 많이 달라져서 적절히 쓰는 방법을 알아가야 한다.

효과가 미미하다는 느낌을 주는 프롬이다. 강조하는 것을 추천한다. ex. (😊:1.5)





7. 와일드카드


와일드 카드는 윈도우의 메모장을 WEBUI폴더 속에 저장하여 메모장 안에 있는 프롬프트가 무작위로 적용되는 프롬프트를 뜻한다.

명령어는 '_'로우바 2개 


__와일드카드__


확장기능

  1. "URL로부터 불러오기" 누른 후에
  2. Ctrl+F 로 'wildcard' 찾고
  3. 오른쪽에 install
아니면
  1. "지원되는 확장~"옆에 "URL로부터 확장기능 설치"
  2. "확장기능의 git 레포 URL" 칸에
  3. https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards
  4. 붙여 넣고 install


마지막에는 반드시 "설정" 에서 "설정 적용하기" 누른 후
WEBUI를 재시작 해야 적용이 된다.


Text문서인 와일드카드를 WEBUI에 넣는 법




윈도우 메모장에서 프롬만 적고 수직으로 나열 그리고 저장 후 

메모장을

extensions\stable-diffusion-webui-wildcards\wildcards에 저장하고

WEBUI에서 '__와일드카드__'를 프롬에 적어서 쓰면 된다.




실제 프롬에서 쓰는 방법


프롬프트에 "_(shift + - )"를  2개 작성하면 와일드카드 선택할 수 있는 목록이 나옵니다. 


참고 : 와일드 카드에 어떤 속성이 있는지 보시려면 WEBUI의 탭 중에 "Wildcards Manager"를 보시면 알 수 있습니다.







참고로 생성 버튼 밑에 있는 화투패는 
로라와 Textual Inversion를 쉽게 쓰기 위한 기능이다.



위의 기능들 말고도 

X/Y/Z plot 기능 그리고 그 응용 또한 프롬프트를 확실히 나누는 '/' 기능이 있지만 실 사용에는 별로 안 쓰고 실험할 때 많이 사용하기에 다음에 다뤄보도록 하겠습니다.






정보 더보기




마지막으로


AI 그림을 뽑으면 뽑을 수록 느끼는 것을 적어보겠습니다.. 존재감이 큰 단어 즉 인터넷에 압도적으로 퍼져있는 단어들에 대한 그림은 WEBUI가 강하게 인식하였고, 아무리 랜덤성이 강하다고 한들 AI프로그램은 이미 있는 그림과 사진들을 학습했기 때문에 정보가 더 많은 물체가 나올 확률이 굉장히 높다는 것을 느꼈습니다. 저는 앞으로 이걸 '파이가 큰 단어' 라고 쓰겠습니다.

이런 파이가 큰 단어 하나가 위와 같은 형식에 들어갔을 때에 내가 의도하는 것과 다른 경우가 나온 경우가 많았습니다. 특히 비상식적인 창작에서 더욱 드러났습니다.

이 블로그의 인기 게시물