본문 바로가기
Stable Diffusion

Stable Diffusion|Batch size와 Batch count의 차이

by DesignerAllan 2023. 10. 18.
반응형

안녕하세요 Allan입니다.

 

이번 포스팅에서는 스테이블 디퓨전에서 이미지를 한 번에 여러 장 생성할 수 있도록하는 Batch countBatch size에 대해서 알아보도록 하겠습니다.

 

Ⅰ. Batch size와 Batch count의 차이점

 

먼저 Batch size와 Batch count의 차이점을 말씀드리겠습니다.

 

Batch size는 한 번의 작업에 생성할 이미지의 갯수이고

Batch count는 몇 회의 작업을 할 것인지를 설정하는 파라미터입니다.

 

즉, 스테이블 디퓨전에서 이미지를 생성할 때는 한 번에 Batch size 만큼의 이미지를 Batch count에서 설정한 횟수 만큼 반복하여 생성합니다.

 

1. batch size : 1, batch count : 4

2. batch size : 2, batch count : 2

3. batch size : 4, batch count : 1

 

위의 설정값들은 모두 총 이미지를 4장 생성합니다.

 

하지만 각각 차지하는 vram의 크기나 이미지 생성속도에 차이가 발생합니다,

 

batch size는 한 번의 작업에 생성하는 이미지의 갯수를 의미하므로, batch size를 늘리게되면 이미지 생성 시에 차지하는 vram의 크기가 늘어납니다. 하지만 한 번에 이미지를 생성하기에 이미지 생성 속도는 매우 빠릅니다.

 

반면 batch count는 작업 횟수를 의미하므로 vram을 많이 잡아먹지는 않으나, batch count를 늘리면 여러 번 이미지를 생성해야해서 이미지 생성 소요 시간이 많이 늘어납니다.

 

위의 3가지 상황 중 가장 이미지 생성 속도가 빠른 상황은 batch size가 가장 큰 3번 상황입니다.

vram을 가장 많이 잡아먹는 상황이기도 합니다.

 

반대로 vram 사용량은 가장 적으나 이미지 생성 시간은 가장 느린 상황은 batch count가 가장 큰 1번 상황입니다.

 

Ⅱ. batch count와 batch size 실제 이미지 생성 속도 차이

image size : 512*512

Sampling method : euler a

Sampling steps : 30

 

위의 이미지 정보를 기반으로 batch size와 batch count를 조절하여 이미지 생성 시간을 측정한 결과입니다.

  1. batch size : 1, batch count 4 : 26초 
  2. batch size : 4, batch count 1 : 18초
  3. batch size : 2, batch count 2 : 20초

 

가장 좋은 방법은 batch size와 batch count를 적절하게 조합하여 이미지 생성 속도와 vram 사용량을 모두 잡은 3번 방법입니다.

 

 

반응형