인프런 커뮤니티 질문&답변

HELLO님의 프로필 이미지

작성한 질문수

딥러닝 이론 + PyTorch 실무 완전 정복

[이론] Mini-batch Gradient Descent (미니 배치 경사 하강)

Mini-batch Gradient Descent computation time 질문

해결된 질문

24.09.24 23:18 작성

·

23

1

안녕하세요 선생님

시간과 체력이 더 많았으면 좋겠다는 생각이 들 정도로 강의를 너무 재밌게 보고 있습니다

Mini batch Gradient Descent 이론 편에서 Mini batch Size에 비례하지 않는다는 설명을 보았는데요.

물론 병렬처리를 하기 때문에 정비례하지 않겠지만 GPU에 올릴 수 있는 최대 데이터양이 100개라고 가정한다면 미니배치를 200, 300, .. 이런 식으로 키운다면 미니 배치크기에 따라 비례하는 것은 맞지 않나요?

혹시 제가 잘못 생각하고 있다면 말씀해주세요

 

감사합니다!

답변 2

0

변정현님의 프로필 이미지
변정현
지식공유자

2024. 09. 25. 23:01

안녕하세요!

좋은 질문해주셔서 또 한번 감사드립니다!

네 정확합니다!

만약에 GPU에 올릴 수 있는 최대 데이터양이 100개라면 최대로 한번에 병렬 처리할 수 있는 데이터양도 100개가 한계입니다. 따라서 500개의 데이터 샘플들을 처리하기 위해서는 100개로 구성된 미니배치 5개를 차례대로 순회해야합니다.

반면에 GPU에 올릴 수 있는 데이터양 (즉 100개) 에 한해서는 샘플 하나하나씩 차례대로 계산하지 않아도 되기 때문에 Mini-batch을 구성하는 데이터 수에 대해서는 연산 소요 시간이 비례하지 않습니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 24. 23:21

안녕하세요, 인프런 AI 인턴입니다.

HELLO님, 질문 주셔서 감사합니다. 미니배치 크기에 따른 계산 시간에 관해 질문을 주셨군요!

관련된 설명을 제공한 게시물들이 있습니다. 이를 참고하시면 더 명확하게 이해할 수 있을 것입니다:

풍부한 설명 추가:
미니배치 크기가 계산 시간에 영향을 미치는 이유는, GPU의 병렬 처리 능력과 관련이 있습니다. 미니배치 크기가 너무 작을 경우, GPU 리소스가 충분히 활용되지 않아 연산 시간이 비효율적으로 길어질 수 있습니다. 반대로 미니배치 크기가 너무 크다면, GPU 메모리 용량을 초과하여 연산이 불가능해지거나, 이 역시 비효율성을 초래할 수 있습니다. GPU의 최적 활용을 위해서는 적절한 미니배치 크기를 찾는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

HELLO님의 프로필 이미지

작성한 질문수

질문하기