1.3.0으로 얼마전에 업그레이드했는데, 시드가 같은데도 자꾸 조금씩 다른 이미지가 출력이 되는겁니다.
새 버전에서 변경사항 및 로그등을 살펴보니 sdp-no-mem 옵션이 기본으로 켜져있길래, 이미지 재현성 있는 옵션인
--opt-sdp-no-mem-attention 옵션으로 추가하였습니다.
그런데도 여전히 미세하게 다르길래, webui 구 버전에서 돌려보니, 재현성 문제가 없네요 (1.1.x)
혹시 1.2.x / 1.3.x 버전에서 재현성 문제가 있으신 분은 구 버전에서 실행시켜 보시기 바랍니다.
재현방법
- 똑같은 조건에서 두번 랜더링을 해봅니다. 문제가 없다면 거의 같은 이미지가 출력. 문제가 있는 경우 조금씩 다른 이미지가 출력
※덧: 제가 가진 GPU가 구려서 자동 최적화가 적용되면서 문제가 생긴 것일 수 있습니다.
혹 최신 GPU에서도 같은 문제가 있으신 분이 있다면 쓰고 계신 버전과 함께 알려주시면 감사하겠습니다~
해결방법
문제를 추적해보니 다음과 같이 하면 문제가 사라집니다.
webui 탭 Setting 선택 -> 최적화(Optimization)에서 Token merging ratio값이 0.5로 되어있는데, 이 값을 0으로 하면 문제가 사라집니다.
- Token merging ratio 세팅 확인 법: 1.3.0/1.2.0으로 업데이트 한 후 언젠가부터, 프롬프트에 "Token merging ratio: 0.5" 라는 값이 붙어있습니다. 이 값이 있는지 생성된 이미지의 프롬프트를 확인해보시기 바랍니다.
예) Steps: 24, Sampler: DPM++ 2M Karras, CFG scale: 8.5, Seed: 1735638124, Size: 512x768, Model hash: fc2511737a, Model: chilloutmix_NiPrunedFp32Fix, Clip skip: 2, Token merging ratio: 0.5, ...