batch_size 란?

2024. 3. 5. 10:46·Artificial Intelligence/Basic

여러 모델을 학습시키는데에는 batch_size 옵션을 지정해 주어야 한다. 나의 경우 Transformer 를 학습시킬때 사용되는 Seq2SeqTrainingArguments 의 batch_size 옵션을 지정하기 위해 batch_size 의 계념에 관해 살펴보았다.

Seq2SeqTrainingArguments 에서 batch_size 옵션은

  • per_device_train_batch_size (int, optional, defaults to 8) : The batch size per GPU/XPU/TPU/MPS/NPU core/CPU for training.

로서, 이는 '모델이 한번에 학습하는 데이터 샘플수' 이다. 

이러한 batch_size 를 지정하는데는 아래와 같은 장, 단점이 존재한다.

  • 큰 batch_size 의 장점(거꾸로 작은 batch_size 의 단점)
    • 일반적으로 학습 속도가 더 빨라진다(HW의 병렬 처리 능력을 최대한 활용 가능)
    • 한 번의 업데이트에 더 많은 샘플 데이터를 반영하기에, 경사 하강법의 변동성을 줄여 보다 안정적인 학습과 수렴이 가능하다. (발산 가능성 낮아짐)
  • 큰 batch_size 의 단점(거꾸로 작은 batch_size 의 장점) 
    • 일반화 성능을 저하시킬 수 있다. 이는 큰 배치가 소규모 배치에 비해 경사 하강법의 탐색 과정에서 덜 다양한 경로를 탐색하게 만들기 때문이다.
    • 여러 샘플들을 통해 평균치를 내므로 local minimum 을 탈출할 수 있는 예제가 주어짐에도 탈출하지 못 할 가능성이 작은 batch_size 보다 높다.
    • 학습 시 더 많은 메모리를 소모한다.

결론적으로 적절한 batch_size 를 찾는것은 노가다와, 경험적인 영역이다. 모든 경우에 최적값으로 사용할 수 있는 batch_size 는 존재하지 않다(사용하는 데이터, 모델, learning_rate 의 값에 따라, 변동될 수 있기에 매우 복잡하다.)

저작자표시 비영리 동일조건 (새창열림)

'Artificial Intelligence > Basic' 카테고리의 다른 글

행렬 기초  (0) 2024.04.17
모델 훈련시 Epoch 와 Steps 의 차이  (0) 2024.03.05
인공지능에서 Parameter 란?  (0) 2024.01.27
GAN의 최적 손실값  (1) 2023.06.19
CGAN(Conditional GAN)  (0) 2023.06.18
'Artificial Intelligence/Basic' 카테고리의 다른 글
  • 행렬 기초
  • 모델 훈련시 Epoch 와 Steps 의 차이
  • 인공지능에서 Parameter 란?
  • GAN의 최적 손실값
Cyp
Cyp
  • Cyp
    Cyp Software Blog
    Cyp
  • 전체
    오늘
    어제
    • Cyp Blog (166)
      • Artificial Intelligence (43)
        • Article Review (22)
        • Post (3)
        • Basic (15)
        • Preferences (3)
      • Cyber Security (1)
      • Programming (46)
        • C++ (21)
        • C# (19)
        • Python (2)
        • Rust (0)
        • Java (1)
      • Algorithm (17)
        • BACKJOON (15)
      • Operating System (14)
        • WSL (2)
        • Windows (1)
        • Linux (5)
        • Security (3)
      • Tools (26)
        • Docker (3)
        • DataBase (2)
        • SSH (1)
        • Doxygen (2)
        • Etc (17)
      • Miscellaneous (14)
        • Book (2)
        • Hardware (2)
        • Hevel (1)
  • 블로그 메뉴

    • Home
    • Guest Book
  • 공지사항

    • 블로그 업데이트 노트
    • 블로그 운영방침
  • 인기 글

  • 최근 글

  • 최근 댓글

  • 태그

    UTF-8 without BOM
    utf-8 bom
    y-cruncher
    C4819
    Bom
  • hELLO· Designed By정상우.v4.10.5
Cyp
batch_size 란?
상단으로

티스토리툴바