코랩으로 직접해보고 있는데 프롬프트를 그대로 만들면 아주 약간씩만 바뀌는걸 확인했습니다.
그런데 키워드 적는 순서를 바꿨더니 다르게 나오더라구요.
키워드에 있는 괄호들은 무슨의미가 있나요? 의미가 없다고 들어서 괄호를 빼봤더니 이것도 이미지가 변경되구요. 심지어
( )와 (( )) 가 다른 결과를 보이네요
앞에 적은줄 모르고 키워드를 한번더 적었어서 중복키워드를 제거했더니 또 이미지가 다른데요 원래 이런가요?
코랩으로 직접해보고 있는데 프롬프트를 그대로 만들면 아주 약간씩만 바뀌는걸 확인했습니다.
그런데 키워드 적는 순서를 바꿨더니 다르게 나오더라구요.
키워드에 있는 괄호들은 무슨의미가 있나요? 의미가 없다고 들어서 괄호를 빼봤더니 이것도 이미지가 변경되구요. 심지어
( )와 (( )) 가 다른 결과를 보이네요
앞에 적은줄 모르고 키워드를 한번더 적었어서 중복키워드를 제거했더니 또 이미지가 다른데요 원래 이런가요?
2. 쉼표를 빼거나 띄어쓰기를 _로 대체하거나 하는 등의 작은 변화로도 결과물이 달라질 수 있습니다. 랜덤 시드 탓일 수도 있고, 애초에 프롬프트가 자연어도 알아먹도록 학습된 것이라 (딥러닝이 다 그렇지만) AI가 말을 어떤 식으로 이해하는지는 블랙박스 영역인 것 같습니다.
시드는 고정한 채로 키워드를 안바꾸면 작은 변화만 있는데, 시드고정으로도 키워드 순서가 바뀌었다고 이미지가 확 바뀌어서 당황스러웠네요.
코드를 쓸때 지저분한게 싫어하는 습성이라 프롬프트도 나만의 정리를 해두고 싶었는데 포기해야 할까봅니다.
Using () in the prompt increases the model's attention to enclosed words, and [] decreases it. You can combine multiple modifiers:
a (word) - increase attention to word by a factor of 1.1
a ((word)) - increase attention to word by a factor of 1.21 (= 1.1 * 1.1)
a [word] - decrease attention to word by a factor of 1.1
a (word:1.5) - increase attention to word by a factor of 1.5
a (word:0.25) - decrease attention to word by a factor of 4 (= 1 / 0.25)
a \(word\) - use literal () characters in prompt
순서도 상관있는걸로 알고 있어요..
와 그리고 (word:0.25)가 0.25%만큼 적용하라는 뜻 인 줄 알았는데 4만큼 감소시키라는 거라니!!
앞쪽에 있을 수록, 괄호가 있을 수록 가중치가 높습니다.