C09: 프롬프팅 함정 피하기: AI 이미지 생성에서 효과적인 프롬프트를 작성하기 위한 모범 사례

효과적인 프롬프트를 작성하는 것은 Stable Diffusion과 같은 AI 시스템에서 고품질 이미지를 생성하는 데 필수적이며, 이러한 시스템은 CLIP(Contrastive Language–Image Pretraining)과 같은 모델에 의존합니다. 하지만 CLIP의 한계를 이해하고 흔한 실수를 피하면 결과를 크게 개선할 수 있습니다. 이 가이드에서는 피해야 할 주요 함정과 더 나은 프롬프트를 작성하기 위한 실행 가능한 전략을 설명합니다.



CLIP의 한계 이해하기

CLIP은 텍스트와 이미지를 연결하는 강력한 도구이지만, 프롬프트 해석 방식에 영향을 줄 수 있는 몇 가지 제약이 있습니다.

  1. 일반적인 언어에 집중: CLIP은 일반적인 사진과 캡션으로 학습되었습니다. 자주 사용되는 단어와 개념은 이해하지만 기술적, 과학적 또는 틈새 용어에는 어려움을 겪습니다.
  2. 구두점을 이해하지 못함: 쉼표나 마침표와 같은 구두점은 모델 처리 과정에서 무시됩니다. 사람의 가독성을 높일 수는 있지만 생성되는 이미지에는 영향을 주지 않습니다.
  3. 단순한 언어 처리: CLIP은 명사, 형용사, 동사를 효과적으로 처리하지만 관사(예: “the”), 전치사(예: “of”), 접속사(예: “and”)를 자주 무시합니다. 불필요한 단어는 프롬프트의 효과를 떨어뜨릴 수 있습니다.
  4. 대화형 AI가 아님: ChatGPT와 같은 대형 언어 모델과 달리 CLIP은 검색 엔진에 더 가깝습니다. 정중한 지시나 장황한 표현을 이해하지 못합니다.

흔한 프롬프팅 함정과 피하는 방법

1. 불필요한 단어로 프롬프트 채우기

  • 함정: 관사, 접속사, “Create an image of” 또는 “Please generate”와 같은 구를 추가하면 토큰이 낭비되고 결과에 아무런 영향을 주지 않습니다.
  • 해결책: 프롬프트를 간결하고 직접적으로 유지하세요. 이미지의 주제, 스타일, 분위기를 설명하는 키워드를 사용하세요.
  • 예시:
  • 나쁜 예: “Please create an image of a beautiful landscape with mountains and a sunrise.”
  • 좋은 예: “Beautiful mountain landscape, sunrise, vibrant colors.”

2. 효과를 노리고 구두점 사용하기

  • 함정: 출력에 영향을 주기를 바라며 쉼표나 다른 구분 기호를 추가하는 것. 이러한 문자는 CLIP이 무시하며 무작위성만 더합니다.
  • 해결책: 다른 사람과 프롬프트를 공유할 때 가독성을 위해서만 구두점을 사용하고, 결과가 바뀔 것으로 기대하지 마세요.
  • 예시:
    • “Beautiful mountain landscape, sunrise, vibrant colors”와 “Beautiful mountain landscape sunrise vibrant colors”는 비슷한 결과를 냅니다. 위의 예제 출력을 참조하세요.

3. CLIP이 기술 용어를 이해할 것으로 기대하기

  • 함정: CLIP이 인식하도록 학습되지 않은 학명, 전문 용어 또는 틈새 용어를 사용하는 것.
  • 해결책: 널리 이해되는 일반적인 이름과 설명을 사용하세요. 특히 공개 데이터 세트에서 흔히 볼 수 있는 설명이 좋습니다.
  • 예시:
  • 나쁜 예: “Archilochus colubris perched on a branch.”
  • 좋은 예: “Ruby-throated hummingbird perched on a branch.”

4. 대화하듯 프롬프트 작성하기

  • 함정: 정중한 지시나 지나치게 장황한 표현을 포함하여 CLIP을 대화형 AI인 것처럼 다루는 것.
  • 해결책: 프롬프트를 검색 쿼리처럼 간략하고 요점만 담아 작성하세요.
  • 예시:
  • 나쁜 예: “Can you please generate an image of a sunset over a calm ocean?”
  • 좋은 예: “Sunset over calm ocean, serene, warm colors.”

5. CLIP의 학습 맥락 무시하기

  • 함정: 공개 데이터 세트에 일반적으로 담기지 않는 추상적이거나 문화적으로 특정한 참조를 CLIP이 이해할 것으로 기대하는 것.
  • 해결책: 일반 대중의 이해 수준에 맞는 언어를 사용하세요. 예를 들어 미국 십 대에게 친숙한 설명이 좋습니다.
  • 예시:
  • 나쁜 예: “Baroque architecture with intricate rococo detailing.”
  • 좋은 예: “Elegant European palace, ornate design, gold accents.”

실제 예제와 사례 연구

예제 1: 장황한 프롬프트 간소화하기

  • 장황한 프롬프트: “Please create a detailed image of a forest in autumn with colorful leaves falling from the trees.”
  • 최적화된 프롬프트: “Autumn forest, colorful leaves, falling, serene atmosphere.”

예제 2: 과학 용어 피하기

  • 과학 용어 프롬프트: “Archilochus colubris perched on a blooming flower.”
  • 최적화된 프롬프트: “Ruby-throated hummingbird on blooming flower, vivid colors.”

예제 3: 일반적인 설명 사용하기

  • 추상적인 프롬프트: “A surreal depiction of existential dread.”
  • 최적화된 프롬프트: “Dark surreal art, eerie atmosphere, abstract shapes.”

효과적인 프롬프트 작성을 위한 핵심 요약

  1. 간단하게 유지하기: 주제와 원하는 스타일을 명확하게 설명하는 명사, 형용사, 동사에 집중하세요.
  2. 불필요한 단어 피하기: 관사, 전치사, 정중한 지시는 생략하세요. 출력에 기여하지 않습니다.
  3. 일반적인 언어 사용하기: 널리 알려진 용어를 사용하고 지나치게 기술적이거나 난해한 참조는 피하세요.
  4. 구두점에 대해 지나치게 고민하지 않기: 구두점은 가독성을 위해 사용하되, 이미지 생성에 영향을 줄 것으로 기대하지 마세요.
  5. CLIP의 학습 데이터에 맞추기: 프롬프트를 일반적인 사진의 캡션이라고 생각하세요. 일반 대중에게 와닿는 언어입니다.

참고 자료 및 추가 읽을거리

댓글 남기기