본문 바로가기
개념정리

'배치(Batch)'란 무엇인가? (컴퓨터 과학 및 딥러닝 개념 정리)

by upself 2025. 11. 14.
728x90

'배치(Batch)'는 상황에 따라 두 가지 주요 분야에서 '일괄적으로 처리되는 데이터 또는 작업의 묶음'이라는 핵심 의미를 가집니다.


1. 컴퓨터 과학: 일괄 처리(Batch Processing)

컴퓨터 과학 및 IT 시스템 운영에서 배치 작업(Batch Job) 또는 배치 처리(Batch Processing)는 사용자 요청에 즉각적으로 응답하는 실시간 처리(Online Processing)와 대비되는 개념입니다.

핵심 정의

배치(Batch)란 유사한 작업을 그룹화하여 사람의 개입 없이 자동으로, 그리고 일괄적으로 순차적으로 수행하는 처리 단위 또는 프로세스를 말합니다.

주요 특징

  • 일괄 처리: 개별 요청이 발생할 때마다 실시간으로 처리하는 것이 아니라, 대량의 데이터를 모아 한 번에 처리합니다.
  • 자동 실행 및 예약: 보통 시스템 부하가 적은 특정 시간(예: 업무 종료 후 심야 시간)에 자동으로 예약되어 실행됩니다.
  • 목적: 대량의 데이터를 처리하거나, 시스템 유지 보수(데이터 백업, 정렬, 월말/연말 정산, 보고서 생성 등)와 같이 반복적이고 정형화된 업무효율적으로 수행하여 시스템 자원(CPU, 메모리)을 최적화하는 데 사용됩니다.

2. 딥러닝/머신러닝: 미니배치(Mini-Batch)

딥러닝 모델을 훈련(Training)시킬 때, 배치(Batch)는 전체 데이터셋을 작은 단위로 나누어 모델에 한 번에 입력하는 데이터의 부분 집합을 의미합니다. 이는 일반적으로 미니배치(Mini-Batch)라고 불립니다.

핵심 정의 (배치 크기: Batch Size)

배치 크기(Batch Size)는 모델의 내부 매개변수(가중치)가 한 번 업데이트되기 전에 처리되는 학습 데이터 샘플의 수를 정의하는 하이퍼파라미터입니다.

왜 미니배치를 사용할까요?

전체 훈련 데이터셋을 한 번에 메모리에 올리고 처리하는 것은 컴퓨팅 비용과 시간적으로 비효율적이거나 불가능할 수 있습니다. 따라서 데이터를 여러 미니배치로 나누어 학습합니다.

  • 계산 효율성: GPU 메모리 등의 한계로 인해 대규모 데이터를 한 번에 처리하기 어렵습니다. 미니배치를 사용하면 연산 병렬화가 용이해져 처리 속도를 높일 수 있습니다.
  • 학습 안정성 (경사 하강법): 딥러닝 모델은 경사 하강법(Gradient Descent)을 사용해 손실 함수의 기울기(Gradient)를 구하고 가중치를 업데이트합니다.
    • 전체 배치(Full Batch): 전체 데이터의 평균 기울기를 사용하여 안정적이지만, 계산 비용이 매우 큽니다.
    • 확률적 경사 하강법 (SGD, Stochastic Gradient Descent, Batch Size=1): 개별 데이터의 기울기를 사용하므로 업데이트가 매우 불안정하고 느립니다.
    • 미니배치 (Mini-Batch): 적당한 크기의 미니배치를 사용하여 전체 배치와 SGD의 절충점을 찾습니다. 전체 데이터를 사용하지 않아도 충분히 정확한 기울기의 근사값을 얻을 수 있으며, 학습 속도와 안정성을 모두 확보합니다.

딥러닝 관련 용어 정리

용어 정의 예시 (전체 데이터 1000개, Batch Size 100)
Batch Size (배치 크기) 가중치를 한 번 업데이트하기 위해 사용하는 데이터의 개수. 100개
Iteration (반복) Batch 하나를 모델에 통과시켜 가중치를 한 번 업데이트하는 과정. 1000 / 100 = 10번
Epoch (에포크) 전체 훈련 데이터셋모두 사용하여 학습하는 1회 주기. 1 Epoch = 10 Iterations

정리 : 핵심은 '일괄 처리'

컴퓨터 과학이든 딥러닝이든, '배치'의 본질은 대규모의 데이터나 작업을 한 단위로 묶어(일괄적으로) 처리함으로써 효율성최적화를 달성하는 데 있습니다.

반응형