
시드를 삭제했는데도 내 캐릭터가 다섯 번이나 똑같이 재현되었다
요약
이미지 생성 시 시드(seed)를 고정하지 않아도 상세한 명세(spec)가 있다면 캐릭터의 정체성을 일관되게 유지할 수 있음을 실험을 통해 증명합니다. 시드는 구도를 제어하지만, 구체적인 묘사는 캐릭터의 고유한 특징을 결정짓는 핵심 요소입니다.
핵심 포인트
- 시드는 구도를 제어하고, 상세한 명세는 캐릭터의 정체성을 제어함
- 모호한 프롬프트 대신 미세하고 구체적인 묘사가 재현성을 높임
- 시드를 제거해도 정체성을 유지하려면 샘플링 노이즈를 견딜 만큼 상세해야 함
이미지 생성에서의 재현성 (Reproducibility)은 보통 시드 (seed) 문제로 취급됩니다. 시드를 고정하면 동일한 출력을 얻을 수 있죠. 이 방법은 효과적이지만, 동시에 당신이 나머지 설정에 대해 얼마나 모르고 있는지를 숨겨주기도 합니다.
저는 며칠 동안 이를 소규모로 조사하는 데 시간을 보냈습니다. 왜냐하면 저는 애니메이션 캐릭터 작업을 하고 있으며, 필요할 때마다 동일한 캐릭터를 다시 불러올 수 있어야 하기 때문입니다. 그 결과는 제 프롬프트 (prompt)가 실제로 어디에 존재하는지에 대한 제 생각을 바꾸어 놓았습니다.
설정 (The setup)
저는 한 캐릭터를 일곱 가지 필드를 가진 명세 (spec)로 취급했습니다:
- 재색 머리카락, 왼쪽에 비대칭 언더컷 (undercut)
- 호박색 눈, 홍채의 얇은 고리 패턴
- 왼쪽 관자놀이에 박힌 작은 어두운 금속 패널
- 목을 따라 흐르는 희미한 이음매 선
- 숯색 비행 슈트, 소매의 타버린 오렌지색 줄무늬
- 금속 버클이 달린 무거운 가슴 하네스 (harness)
- 왼쪽 팔뚝의 슬림한 장갑판
처음 세 가지와 네 번째가 흥미로운 부분입니다. 머리카락과 의상은 거의 무엇이든 비슷하게 흉내 낼 수 있는 거친 특징들입니다. 누군가의 관자놀이에 있는 패널에 대한 아홉 단어짜리 절은 미세한 (fine-grained) 필드이며, 시스템이 조용히 실패하는 지점은 바로 이러한 미세한 필드들입니다.
테스트 1: 시드 제거 (remove the seed)
표준적인 가정: 고정된 시드 없이는 출력이 표류 (drift)한다.
저는 애니메이션에 튜닝된 DiT 모델에서 다른 것은 아무것도 바꾸지 않은 채, 시드를 자유롭게 둔 상태로 명세를 다섯 번 실행했습니다. 다섯 번 모두 언더컷, 호박색 눈, 관자놀이 패널, 하네스, 그리고 팔뚝 장갑판이 나타났습니다. 포즈 (pose), 카메라 각도, 배경 및 조명은 매번 달랐습니다.
[
한 가지 필드가 흔들렸습니다. 명세에서 가장 희미한 부분이었던 목의 이음매가 가볍고 일관성 없게 렌더링되었습니다.
[
대조를 위해, 대부분의 사람들이 시작하는 방식인 14개 단어로 구성된 프롬프트로 동일한 장면을 생성했을 때는 명세 (spec)와 전혀 관계가 없는, 그저 그럴듯한 시제품 (pilot)이 만들어졌습니다.
따라서 시드 (seed)는 구도 (composition)를 제어하고, 작성된 명세 (spec)는 정체성 (identity)을 제어합니다. 만약 당신이 동일한 캐릭터를 원한다면, 당신이 찾아야 할 것은 시드가 아니라 샘플링 노이즈 (sampling noise)를 견뎌낼 수 있을 만큼 충분히 상세한 명세 (spec)입니다. 모호한 필드 (fields)는 살아남지 못합니다. "미래적인 디테일 (Futuristic details)"은 다섯 명의 서로 다른 캐릭터를 만들어냈을 것입니다. 반면 "그의 왼쪽 관자놀이에 박힌 작은 어두운 금속 패널 (A small dark metal panel set into his left temple)"은 동일한 캐릭터를 다섯 번이나 만들어냈습니다.
테스트 2: 하단의 모델 변경하기
동일한 명세 (spec)와 캐릭터 참조 이미지 (character reference image)를 첨부한 상태에서, DiT 계열이 아닌 SDXL 기반으로 구축된 모델로 이동했습니다.
거친 필드 (coarse fields)들은 살아남았습니다. 하지만 관자놀이 패널과 목의 이음매 (neck seams)는 사라졌습니다. 장면 또한 마찬가지였습니다. 저는 해질녘의 탁 트인 비행장을 요청했지만, 떠다니는 불씨가 있는 추상적인 어두운 배경을 얻었습니다.
무언가 고장 난 것은 아니었습니다. SDXL 계열 모델들은 짧은 키워드 태그 (keyword tags)를 기반으로 학습되었기에, DiT 모델들보다 긴 서술형 설명을 덜 세밀하게 읽습니다. 제 명세 (spec)는 하나의 런타임 (runtime)을 위해 작성되었으나, 적응 과정 없이 다른 런타임에서 실행된 것입니다.
이것이 바로 결합 (coupling)이며, 실패가 우아하게(graceful) 일어나기 때문에 놓치기 쉽습니다. 결과물은 여전히 좋은 이미지입니다. 단지 당신의 캐릭터가 아닐 뿐입니다. 만약 당신이 특정 필드 (fields)를 확인하지 않는다면, 모든 이미지에서 패널이 사라진 20번째 이미지에 도달해서야 비로소 알아차리게 될 것입니다.
설정값들도 같은 이야기를 하고 있습니다. 수천 개의 커뮤니티 라이브러리가 운영되는 모델 마켓플레이스인 Tensor.Art에서, 저는 워크스페이스가 CFG 1에 샘플링 단계(sampling steps) 9회로 기본 설정되는 것을 보았습니다. 그러다 커뮤니티 체크포인트(checkpoint)를 선택하는 순간, 완전히 다른 샘플러(sampler), CFG, 그리고 클립 스킵(clip skip)을 제안하더군요. 그 값들은 사용자가 아닌 모델에 속해 있는 것입니다. 수천 개의 체크포인트 라이브러리는 곧 수천 번의 작은 재학습 (relearnings)이기도 합니다.
세 번째 테스트: 참조에 따른 조건화 (condition on a reference)
그다음, 참조 조건화 (reference conditioning)를 위해 특별히 구축된 모델을 사용하여 동일한 사양과 동일한 참조 이미지를 사용했습니다.
비행장이 다시 나타났고, 격납고와 주차된 제트기도 포함되었습니다. 사원의 패널도 다시 나타났습니다. 달라진 점은 렌더링(render)이었습니다. 다른 실행 결과들의 평면적인 셀(cel) 스타일보다 더 부드럽고 따뜻해졌는데, 이는 모델이 자체적으로 가져오는 특징입니다.
결과적으로 복구는 성공했지만, 그 대가로 스타일 제어권을 잃었습니다. 자신이 무엇을 하고 있는지 알고 있다면 이는 합리적인 거래입니다.
무엇이 일반화되는가
이미지 생성 기술을 기반으로 무언가를 구축하려는 모든 이들에게 이제 세 가지를 말해주고 싶습니다.
구체성이 결정론 (determinism)을 이깁니다. 정밀하게 작성된 텍스트 사양은 제가 예상했던 것보다 무작위 샘플링 (random sampling)에서 더 잘 살아남았습니다. 재현성 (repeatability)이 필요하다면, 시드 관리 (seed management)에 투자하기 전에 사양 (spec)에 먼저 투자하십시오.
당신의 프롬프트는 모델 제품군 (model family)과 결합되어 있습니다. 프롬프트 스타일, 가중치 구문 (weighting syntax), 그리고 파라미터 기본값은 모두 모델 범위 (model-scoped) 내에 있습니다. 모델 교체를 단순히 바로 갈아 끼울 수 있는 교체품으로 취급하지 말고, 당신이 중요하게 생각하는 필드 (fields)들에 대한 회귀 테스트 (regression check)를 동반하는 런타임 업그레이드 (runtime upgrade)처럼 취급하십시오.
전체적인 인상이 아니라 가장 작은 필드를 테스트하십시오. 거친 특징들은 회귀 (regressions) 현상을 숨깁니다. 사원의 패널은 캐릭터 전체보다 더 나은 테스트 신호였습니다. 왜냐하면 그것이 먼저 실패했고, 조용히 실패했기 때문입니다.
이것이 플랫폼 선택에 남기는 시사점
제가 하는 애니메이션 작업의 경우, 이는 저를 모델 중심(model-first)의 플랫폼보다는 캐릭터 중심(character-first)의 플랫폼으로 이끌었습니다.
모델 마켓플레이스(model marketplace)는 깊이 있는 자원이며, 만약 모델을 탐색하는 것이 당신이 즐기는 작업이라면 그곳이 적합한 장소입니다. 하지만 당신이 즐기는 작업이 캐릭터라면, 모델을 교체할 때마다 다시 학습해야 하는 비용(tax)을 지불하게 됩니다. 반면, 런타임(runtime)을 고정하고 사양(spec)을 반복해서 수정할 수 있게 해주는 플랫폼은 시간당 더 높은 생산성을 제공합니다.
어떤 방식이든, 사양(spec)을 기록해 두세요. 그것은 설정 과정에서 유일하게 이식 가능한(portable) 부분입니다.
이러한 캐릭터 중심 버전을 시도해보고 싶다면, PixAI에서 테스트를 진행했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기
