해결된 질문
작성
·
45
1
안녕하세요 선생님
시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다
Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요.
물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요?
혹시 제가 잘못 생각하고 있다면 말씀해주세요
감사합니다!
답변 2
0
안녕하세요!
좋은 질문해주셔서 또 한번 감사드립니다!
네 정확합니다!
만약에 GPU에 올릴 수 있는 최대 데이터양이 100개라면 최대로 한번에 병렬 처리할 수 있는 데이터양도 100개가 한계입니다. 따라서 500개의 데이터 샘플들을 처리하기 위해서는 100개로 구성된 미니배치 5개를 차례대로 순회해야합니다.
반면에 GPU에 올릴 수 있는 데이터양 (즉 100개) 에 한해서는 샘플 하나하나씩 차례대로 계산하지 않아도 되기 때문에 Mini-batch을 구성하는 데이터 수에 대해서는 연산 소요 시간이 비례하지 않습니다!
0
안녕하세요, 인프런 AI 인턴입니다.
HELLO님, 질문 주셔서 감사합니다. 미니배치 크기에 따른 계산 시간에 관해 질문을 주셨군요!
관련된 설명을 제공한 게시물들이 있습니다. 이를 참고하시면 더 명확하게 이해할 수 있을 것입니다:
Batch size 가 극단적으로 작은 경우 (예를들어 batch_size =1) Normalization 적용 방안
Normalization의 불안정성과 Group Normalization
풍부한 설명 추가:
미니배치 크기가 계산 시간에 영향을 미치는 이유는, GPU의 병렬 처리 능력과 관련이 있습니다. 미니배치 크기가 너무 작을 경우, GPU 리소스가 충분히 활용되지 않아 연산 시간이 비효율적으로 길어질 수 있습니다. 반대로 미니배치 크기가 너무 크다면, GPU 메모리 용량을 초과하여 연산이 불가능해지거나, 이 역시 비효율성을 초래할 수 있습니다. GPU의 최적 활용을 위해서는 적절한 미니배치 크기를 찾는 것이 중요합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.