Stable Diffusion은 시드 숫자(seed number)에 기반한 잡음처럼 보이는 이미지를 먼저 생성하는 알고리즘을 사용합니다. 초기 잡음 이미지에서 텍스트 프롬프트와 일치하는 객체, 패턴, 색상 등을 인식하고 이미지를 약간 개선하려고 시도합니다. 그런 다음 인식 프로세스를 다시 실행합니다. 이 과정이 반복되며 충분한 반복 후에는 사람 눈에 인식 가능한 이미지가 됩니다.
이렇게 작업하는 것이 바로 샘플링 단계입니다. 아래 이미지 시리즈에서 CFG 척도가 8으로 설정된 DPM++ 2M Karras 샘플러 방법을 사용하여 이 과정을 보여줍니다.
더 많은 스텝이 더 많은 세부 사항과 더 높은 출력 이미지 품질을 가져올 것이라고 생각하여 샘플링 스텝 수를 매우 높게 설정하려고 할 수도 있습니다. 하지만 그렇지 않을 수도 있습니다. 샘플링 스텝 값을 설정할 때 고려해야 할 몇 가지 요소가 있습니다: 높은 샘플링 스텝은 이미지 당 더 높은 처리 시간을 가져옵니다.
많은 샘플링 스텝을 사용하여 이미지를 생성하는 것은 더 높은 처리 성능과 VRAM이 필요할 수도 있으며, 이는 시스템의 그래픽 카드(GPU) 사양에 직접적으로 연결됩니다. 일정한 한계에서 이미지에 추가되는 세부 정보의 양이 정점에 도달하며, 이 값 이상의 추가 샘플링 스텝은 오히려 이미지 품질을 저하시킬 수 있습니다.
일정한 샘플링 스텝 수 이상에서는 세부 정보가 더 이상 증가하지 않고 오히려 감소할 수 있습니다. 샘플링 스텝 최적화 및 처리 시간 줄이기 샘플링 스텝이 처리 시간과 직접적인 관련이 있기 때문에, 여전히 원하는 출력 이미지 품질과 세부 정보를 얻으면서 샘플링 스텝을 최소화하는 방법에 관심이 있을 수 있습니다.
처리 시간을 줄이는 것은 샘플링 스텝이나 GPU 대여료를 기준으로 요금을 부과하는 서비스를 사용하는 경우 특히 중요합니다. 따라서 처리 시간을 줄이기 위한 몇 가지 팁을 공유합니다.
다음 시간에는 샘플러 별 특징과 최적 CFG Scale, 샘플링 스텝 수에 대해 알아보도록 하겠습니다.
적정 Sampling steps과 Denoising strength (0) | 2023.05.01 |
---|---|
Stable Diffusion을 이용한 이미지 업스케일 (0) | 2023.04.30 |
CFG Scale 과 Sampling steps 실험 (0) | 2023.04.29 |
Latent와 ESRGAN 업스케일러 비교 (0) | 2023.04.29 |
오픈포즈를 활용해 원하는 자세로 이미지 생성하기 (0) | 2023.04.29 |
댓글 영역