kimyongtae.com
홈 / 강의 / AI 이미지·애니메이션 생성, 원리부터 / 2단계. 이미지 생성 해부

2-3. 프롬프트 체계: 태그와 문장

프롬프트는 주문(呪文)이 아니다. 텍스트 인코더에 넣는 입력이다. 모델이 학습 때 본 형식으로 써야 잘 듣는다. 형식은 크게 둘이다. 태그 나열과 문장.

형식은 학습 데이터가 정한다

1-5에서 봤다. 모델은 (그림, 설명) 쌍으로 학습한다. 그 설명이 어떻게 쓰여 있었는지가 프롬프트 쓰는 법을 정한다.

태그 방식문장 방식
학습 때 본 설명그림 게시판의 태그언어 모델이 그림을 보고 쓴 설명문
텍스트 인코더CLIPT5, LLM 계열
대표 모델Illustrious, NoobAI, PonyFlux, Qwen-Image 계열
쓰는 법단어를 쉼표로 나열장면을 문장으로 서술

태그 방식

그림 게시판에서는 사람들이 그림마다 태그를 단다. 등장인물 수, 머리 모양, 옷, 자세, 배경. 이 태그 목록이 그대로 학습의 설명이 됐다.

1girl, solo, long hair, silver hair, red eyes, school uniform, sitting, classroom, window, sunset

쓰는 요령

모델품질 태그
Illustrious, NoobAImasterpiece, best quality 등
Ponyscore_9, score_8_up, score_7_up 등 점수 태그

품질 태그가 왜 듣는가. 학습할 때 그림마다 평점이나 품질 등급을 태그로 붙였기 때문이다. masterpiece를 넣으면 0-2의 조건부 분포로 말해 "높은 등급이 붙은 그림들의 분포"에서 뽑게 된다. 마법이 아니다. 조건이다.

가중치 문법

특정 태그를 강하게 하거나 약하게 할 수 있다.

(silver hair:1.3), (smile:0.8)

괄호 안의 숫자가 그 토큰 벡터에 곱해지는 값이다. 1.3이면 30% 강하게다. 1.5를 넘기면 그림이 깨지기 쉽다. 1-6에서 본 "숫자가 범위를 벗어나는" 일이 여기서도 생긴다.

75토큰 덩어리

1-5에서 본 CLIP의 제한이다. 태그가 많으면 75토큰씩 잘려서 따로 인코딩된다. 중요한 태그는 앞에 둔다. BREAK를 쓰면 원하는 자리에서 덩어리를 끊을 수 있다. 인물 묘사와 배경 묘사를 다른 덩어리에 넣어 서로 덜 섞이게 할 때 쓴다.

문장 방식

Flux 이후의 모델은 언어 모델이 그림을 보고 쓴 긴 설명문으로 학습했다. 텍스트 인코더도 문장을 이해한다.

은빛 긴 머리에 붉은 눈을 가진 소녀가 해 질 녘 교실의 창가 자리에 앉아 있다.
교복 차림이고, 턱을 괴고 창밖을 본다. 창으로 들어온 주황빛이 얼굴 한쪽을 비춘다.
부드러운 수채화풍 일러스트.

쓰는 요령

태그 방식의 요령이 안 통한다

네거티브 프롬프트

1-6에서 본 대로다. CFG 식의 "조건 없음" 자리에 넣는 프롬프트다.

프롬프트로 안 되는 것

프롬프트는 텍스트 인코더를 지나 벡터가 되고, 그 벡터가 어텐션으로 그림에 스며든다. 이 경로의 한계가 곧 프롬프트의 한계다.

원하는 것프롬프트로 되나대신 쓰는 것
정확한 자세, 구도대략만ControlNet (3단계)
특정 그림과 같은 화풍대략만레퍼런스, LoRA (3, 4단계)
모델이 모르는 캐릭터안 된다LoRA (4단계)
인물 둘의 옷을 정확히 따로태그 방식에서는 자주 섞인다영역 프롬프트 (3단계), 문장 방식 모델
모델이 모르는 개념안 된다LoRA, 파인튜닝 (4단계)

프롬프트를 아무리 다듬어도 안 되는 일은 프롬프트의 문제가 아니다. 도구를 바꿔야 한다. 3단계와 4단계가 그 도구들이다.

언어 모델에게 프롬프트를 맡기기

문장 방식 모델은 프롬프트가 자세할수록 잘 그린다. 그래서 짧은 주문을 언어 모델에게 주고 긴 설명문으로 늘리게 하는 방법이 널리 쓰인다. 프롬프트 확장이라고 한다. 모델 제작사가 전용 확장 모델을 함께 내놓기도 한다.

여기에도 함정이 있다. 확장 모델이 내용을 순화하거나 거절할 수 있다. 5단계에서 다룬다.

해 볼 것

  1. 태그 모델에서 품질 태그를 넣었을 때와 뺐을 때를 같은 시드로 비교한다.
  2. 태그 모델에 문장 프롬프트를, 문장 모델에 태그 나열을 넣어 본다.
  3. 인물 둘에게 서로 다른 머리색과 옷을 지정해 본다. 태그 모델과 문장 모델에서 각각 얼마나 섞이나?

예상 결과

  1. 넣은 쪽이 선이 정돈되고 색이 깔끔하다. 조건부 분포가 "높은 등급 그림"으로 좁혀졌기 때문이다.
  2. 둘 다 그림은 나오지만 프롬프트를 덜 따른다. 학습 때 본 형식이 아니기 때문이다.
  3. 태그 모델은 머리색과 옷이 자주 뒤섞인다. 문장 모델은 훨씬 잘 구분한다. 텍스트 인코더가 "누구의 무엇"인지를 이해하기 때문이다.
← 2-2 모델 계보: 이름의 홍수에서 길 찾기 2-4 양자화: 큰 모델을 작은 그래픽카드에 넣기 →