Anima에서 아티스트 태그 혼합 시 안정화하는 방법
요약
Anima 모델에서 여러 아티스트 태그를 혼합할 때 발생하는 스타일 불일치와 불안정성을 해결하기 위한 구체적인 프롬프트 엔지니어링 기법을 다룹니다. @ 기호 사용, 가중치 조절, 시프트(shift) 값 조정, 공백 관리 등 일관된 스타일 유지를 위한 실전 팁을 제공합니다.
핵심 포인트
- 아티스트 태그 앞에 '@' 기호를 사용하여 스타일 변화를 일관되게 제어할 수 있습니다.
- 아티스트 블록 전체의 가중치를 높이고(예: :2.0), 태그가 많아질수록 시프트(shift) 값을 높여 스타일 변화를 조절합니다.
- CLIP 토큰화 특성을 고려하여 쉼표 뒤의 공백 등 프롬프트의 미세한 형식을 엄격하게 관리해야 합니다.
- 특정 단어(예: 'Masterpiece')가 의도치 않은 스타일을 유도할 수 있으므로 긍정/부정 프롬프트 선택에 주의가 필요합니다.
- 복잡한 스타일 제어가 어려울 경우 LoRA를 사용하는 것이 가장 효율적인 대안입니다.
오늘 Anima가 너무 창의적이라 스타일을 망친다는 게시물이 있었습니다. 단일 아티스트 태그만 사용하더라도 시드 (seed)에 따라 갑자기 실사 (realism) 또는 평면적인 색상 (flat color)으로 변할 수 있습니다. 여러 태그를 혼합하면 상황은 더욱 악화되어, 특정 장면이 그냥 "실사"처럼 변하거나 눈 모양이 시드마다 모두 달라지기도 합니다. [start at stop at] 방식을 통해 여러 아티스트를 혼합하는 것이 더 나은 느낌을 주긴 하지만, 그리드 (grid)를 만들어 보면 모두 제각각 다르게 보인다는 점까지는 마찬가지입니다. 일관성을 가져올 방법을 찾고 있었고, 제가 발견한 내용을 공유하고자 합니다:
- @를 잊지 마세요. 네, 맞습니다. 이것이 제가 보는 주요 문제 중 하나입니다. 아티스트 태그 바로 앞에만 배치할 필요는 없으며, 예를 들어 @anime와 같이 사용하면 그렇지 않을 때보다 스타일을 더 일관되게 변화시킵니다.
- 아티스트 블록 전체의 가중치 (weight)를 높이세요. (:2.0) 정도가 꽤 안전한 시작점입니다. 그 이후에는 내부의 개별 아티스트 가중치를 낮추며 조절해 보세요.
- 시프트 (shift) 값을 10으로 높이세요. 태그가 많아질수록 더 높은 시프트 값이 필요하다고 느낍니다. 스타일 변화를 보세요 - 시프트를 높이세요 ¯\_(ツ)_/¯ 만약 이전 항목의 가중치가 너무 높아 모델이 무너지기 시작한다면, 가중치를 낮추고 시프트로 넘어가세요. 24까지도 괜찮으며, 아무것도 망가지지 않습니다.
- 스타일을 별도의 블록으로 구성하세요. 거기에 NLP를 추가하면 일관성이 아주 조금 더해지긴 하지만, 미미한 수준이며 꼭 필요한 것은 아닙니다. 예시에서는 다음과 같이 형식이 지정되어 있습니다:
다음 아티스트들의 혼합 스타일:
(@dishwasher1910
@ (제발 레딧, 왜 이렇게 편집해야 하나요) narijade:2.0)
- 공백을 확인하세요. 진심입니다. 공백 하나가 빠지는 것만으로도 전체를 망칠 수 있습니다. 쉼표 뒤의 캐릭터 태그 앞 공백을 빠뜨리면 모델이 이를 인식하지 못합니다 (이것은 직접 확인하기 쉬운 부분이라 이 예시를 선택했습니다). 이는 LLM이 프롬프트를 토큰화(tokenize)하는 방식이 CLIP과 다르기 때문에 필요합니다. CLIP은 정말 신경 쓰지 않았고 많은 프롬프트가 지저분했음에도 SDXL에서는 완벽하게 작동했지만, 여기서는 무너질 것입니다.
- 긍정 프롬프트(positives)에 주의하세요. Pony 스코어는 스타일을 너무 많이 도입합니다. 'Masterpiece'는 특정 스타일을 알아볼 수 없게 만들 수 있습니다. 저는 스타일을 가지고 놀 경우를 대비해 그냥 'best quality'로 결정했습니다.
- 부정 프롬프트(negatives)는 두 배로 주의하세요.
- 일부 캐릭터는 고유의 스타일을 가져옵니다. 이는 불가피합니다. 가중치(weights)를 더 높이고 앵커(anchors)를 조절하며 시도해 보세요.
- 앵커(anchors)를 뭐라고 불러야 할까요? 일부 태그는 스타일을 불러옵니다. 'Dot nose'는 평면적인 색상(flat color)을 암시합니다. 'Nose', 'lips' 등은 이미지를 실사(realism) 쪽으로 이동시킵니다. 감정이나 ':3' 같은 요소들은 애니메이션 스타일 등을 불러옵니다. 완전히 평면적으로 제작된 스타일에 프롬프트 어딘가에 'very beautiful perfect shading' 같은 요소를 추가하면 모든 것에 입체감(volume)이 더해지며, 이는 자연스러운 현상입니다.
- Danbooru를 뒤지며 스타일을 만드는 데 관심이 없다면 — 그냥 LoRA를 사용하세요. 이것이 모든 것을 해결해 줍니다. Anima는 미학적으로 미세 조정(aesthetically finetuned)된 모델이 아닙니다. 그게 전부입니다. 이 모델의 전체 목적은 학습(train)을 쉽게 만드는 것입니다.
- 하지만 LoRA 사용 시 주의하세요. 이미 제대로 태깅되지 않았거나 단순히 과하게 학습된(overbaked) LoRA가 아주 많습니다. 프롬프트에 무엇을 입력하든 캐릭터가 항상 시청자로부터 시선을 돌리고 있다면 — 바로 이 문제입니다. 사실 아티스트 태그에도 동일하게 적용됩니다. 이들은 내부에 미니 LoRA처럼 들어있으며, 데이터셋에서의 표현이 부족했다면 그 결과가 나타날 것입니다.
- 긴 자연어 설명(natural language descriptions)은 모델을 실사 쪽으로 이동시켜 입체감과 디테일을 더하는 경향이 있습니다. 그리고 어떤 설명은 모델을 평면적인 색상이나 흑백(monochrome)으로 몰아넣을 수도 있습니다. 이것이 때때로 가중치(weights)를 조절해야 하는 이유입니다.
위에서 언급한 모든 사항을 고려하더라도 특정한 편차는 발생할 수 있습니다. 특정 스타일의 LoRA를 시작점으로 삼아 이를 바탕으로 구축해 나가는 방식은 다양한 파인튜닝 (finetune) 모델에서 경험했던 방식에 더 가깝게 만들어 줄 수 있습니다. 만약 이 모든 과정이 독특하고 예상치 못한 것이라고 생각된다면, 기본 Ponyv6를 다운로드해 보세요. LoRA 없이는 그것이 얼마나 형편없었는지 잊어버린 것뿐입니다.
이상입니다. 즐거운 시간 되세요.
빠른 업데이트: 쉼표로 구분된 아티스트 태그 목록이 예시의 포맷팅보다 더 효과적으로 작동합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 r/StableDiffusion의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기