Ultralytics YOLO27:
Ultralytics 용어집으로 돌아가기

Gradient Accumulation

그래디언트 누적이 제한된 GPU 메모리에서 더 큰 유효 배치 크기를 가능하게 하는 방법을 알아보고, 실용적인 PyTorch 및 Ultralytics YOLO 학습 지침을 확인해 보세요.

그래디언트 누적은 여러 개의 소규모 배치(마이크로배치라고 함)에서 계산한 그래디언트를 하나의 모델 가중치 업데이트를 수행하기 전에 합산하는 학습 기법입니다. 사용 가능한 GPU 메모리에 전체 배치를 한 번에 담을 수 없을 때 더 큰 배치 크기로 학습하는 효과를 근사합니다. 이를 통해 모델 아키텍처를 변경하거나 입력 해상도를 낮추지 않고도 메모리를 많이 사용하는 경사 하강법을 실용적으로 사용할 수 있습니다.

그래디언트 누적의 작동 방식#

일반적인 학습에서 각 배치는 세 가지 주요 단계를 거칩니다. 손실을 계산하고, 역전파를 사용해 그래디언트를 계산한 다음, 옵티마이저가 모델 가중치를 업데이트하도록 합니다. 이후 다음 배치로 넘어가기 전에 그래디언트를 초기화합니다.

그래디언트 누적은 옵티마이저 업데이트를 지연합니다. 각 마이크로배치는 순전파와 역전파를 수행하지만, 해당 그래디언트는 메모리에 유지되며 이후 마이크로배치의 그래디언트에 더해집니다. 이러한 동작은 각 파라미터의 그래디언트 필드에 값을 누적하는 PyTorch backward 연산에서 자연스럽게 비롯됩니다.

구성된 누적 단계 수에 도달하면 다음 작업을 수행합니다.

  1. 옵티마이저가 모델 가중치를 업데이트합니다.
  2. Optimizer.zero_grad와 같은 연산을 사용해 그래디언트를 초기화합니다.
  3. 새로운 누적 윈도우가 시작됩니다.

유효 배치 크기는 다음과 같습니다.

microbatch size x accumulation steps x number of training devices

예를 들어 4개의 이미지로 구성된 마이크로배치에서 8단계 동안 그래디언트를 누적하면 GPU 하나에서 이미지 32개로 구성된 배치와 대략 동일하게 동작합니다. GPU가 4개라면 전역 유효 배치 크기는 128이 됩니다.

메모리, 속도 및 학습에 미치는 영향#

그래디언트 누적은 한 번에 하나의 마이크로배치만 네트워크를 통과하므로 활성화 값에 필요한 최대 메모리를 줄입니다. 그러나 모델 파라미터, 그래디언트 또는 옵티마이저 상태가 사용하는 메모리는 크게 줄이지 않습니다.

또한 일반적으로 학습 속도를 높이지도 않습니다. 8개의 마이크로배치를 처리하려면 여전히 8번의 순전파와 역전파가 필요하며, 더 작은 배치는 GPU를 덜 효율적으로 사용할 수 있습니다. 주요 이점은 제한된 메모리 안에 원하는 유효 배치를 맞출 수 있다는 점입니다. 분산 학습에서는 DistributedDataParallel no_sync와 같은 기능을 사용해 누적 윈도우가 끝날 때까지 그래디언트 동기화를 수행하지 않을 수 있으므로 부가적인 이점이 발생할 수 있습니다.

수동 구현에서는 일반적으로 각 마이크로배치의 손실을 누적 단계 수로 나눕니다. 이렇게 하면 결과 그래디언트가 합계가 아닌 평균을 나타냅니다. 고수준 트레이너는 정규화를 자동으로 처리할 수 있으므로 추가로 스케일링하면 잘못된 업데이트가 발생할 수 있습니다.

누적을 사용하면 실제 대규모 배치를 근사할 수 있지만 결과가 항상 동일한 것은 아닙니다. 배치 정규화 통계는 개별 마이크로배치에서 계산되며, 확률적 연산과 부동소수점 연산 순서도 차이를 유발할 수 있습니다. 따라서 학습률은 자동으로 스케일링하기보다 검증해야 할 수 있습니다.

관련 기법 및 주요 차이점#

그래디언트 누적은 다른 메모리 절감 또는 안정화 기법과 혼동되는 경우가 많습니다.

  • 그래디언트 체크포인팅은 역전파 중 선택한 순전파 연산을 다시 계산하여 활성화 메모리를 줄입니다. PyTorch 활성화 체크포인팅 문서에서는 이러한 연산량과 메모리 간의 절충을 설명합니다. 반면 누적은 대규모 배치를 더 작은 마이크로배치로 나눕니다.
  • **혼합 정밀도**는 선택한 연산을 더 낮은 정밀도의 데이터 형식으로 저장하거나 계산합니다. 메모리를 줄이고 처리량을 향상할 수 있는 반면, 누적은 옵티마이저가 업데이트되는 빈도를 변경합니다. 올바른 자동 혼합 정밀도 누적 워크플로를 따르면 두 기법을 함께 사용할 수 있습니다.
  • 그래디언트 클리핑은 비정상적으로 큰 업데이트로 인한 불안정성을 줄이기 위해 그래디언트 크기를 제한합니다. 그래디언트 클리핑이 더 큰 유효 배치를 생성하는 것은 아닙니다. 누적과 함께 사용할 때는 일반적으로 clip_grad_norm과 같은 연산을 사용해 그래디언트를 모두 누적한 후 클리핑해야 합니다.

실제 적용 사례#

고해상도 의료 이미지 세그멘테이션에서는 12GB GPU에 대형 스캔 이미지 2개만 한 번에 들어갈 수 있습니다. 8개의 마이크로배치에 걸쳐 그래디언트를 누적하면 작은 해부학적 구조를 식별하는 데 필요한 해상도를 유지하면서 유효 배치 16을 생성할 수 있습니다. 그 대신 옵티마이저 업데이트 사이의 간격이 길어집니다.

항공 영상 객체 감지의 경우 엔지니어링 팀이 4개의 GPU에서 디바이스당 이미지 6개와 누적 단계 4개를 사용해 학습할 수 있습니다. 유효 전역 배치는 이미지 96개입니다. 이를 통해 각 디바이스를 메모리 제한 내에서 유지하면서 작은 차량이나 건물이 많이 포함된 장면에 대한 업데이트를 안정화할 수 있습니다. 팀은 Ultralytics Platform 클라우드 학습을 통해 클라우드 실험, 데이터 세트 및 학습 실행을 관리할 수 있습니다.

Ultralytics YOLO의 그래디언트 누적#

Ultralytics 모델 학습 워크플로는 물리적 batch 설정과 명목 nbs 설정을 바탕으로 누적 동작을 결정합니다. batch=4nbs=64를 사용하면 트레이너는 여러 마이크로배치에 걸쳐 옵티마이저 업데이트를 지연하여 명목 배치 64를 목표로 합니다.

from ultralytics import YOLO

# Load a pretrained YOLO26 detection model
model = YOLO("yolo26n.pt")

# Use a small physical batch and a larger nominal batch
results = model.train(
    data="coco8.yaml",
    epochs=10,
    batch=4,
    nbs=64,
)

고수준 트레이너는 역전파, 누적, 옵티마이저 단계 및 그래디언트 초기화를 관리합니다. 이 동작은 Ultralytics BaseTrainer 레퍼런스에 문서화되어 있습니다. 실제로는 안정적으로 처리할 수 있는 가장 큰 마이크로배치를 선택하고, 의도한 유효 배치를 계산한 다음, 누적 단계 수, 학습률 또는 디바이스 수를 변경할 때 검증 결과를 비교합니다.

Explore solutions

항공 이미지를 위한 컴퓨터 비전

항공 이미지를 위한 컴퓨터 비전

Ultralytics YOLO을 활용하여 드론 및 항공 이미지를 농업, 수산업, 환경 모니터링, 자연 보호, 지리 공간 분석을 위한 실시간 인사이트로 변환합니다.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 지리 공간 산업을 지원합니다.
자세히 알아보기

Ultralytics YOLO 모델로 모든 사이트를 보호하세요. 비전 AI는 경계 모니터링, 위협 탐지, 번호판 인식 및 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 컴퓨터 비전

로보틱스 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 기계의 성능을 구현하세요. 로보틱스의 Vision AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 지원합니다.
자세히 알아보기
물류 컴퓨터 비전

물류 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 효율화하세요. Vision AI는 패키지 검사, 분류, 차량 추적 및 창고의 실시간 안전 모니터링을 지원합니다.
자세히 알아보기
소매 컴퓨터 비전

소매 컴퓨터 비전

Ultralytics YOLO 모델로 소매업을 새롭게 혁신하세요. Vision AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
자세히 알아보기
헬스케어 분야의 컴퓨터 비전

헬스케어 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 헬스케어 솔루션을 구축하십시오. 헬스케어 분야의 Vision AI는 더 빠른 의료 영상 처리, 더욱 스마트한 진단, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조를 최적화하십시오. Vision AI는 품질 관리, 결함 탐지, PPE 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 산업의 컴퓨터 비전

자동차 산업의 컴퓨터 비전

Ultralytics YOLO 모델을 활용해 자동차 산업에 컴퓨터 비전을 적용합니다. 비전 AI는 도로 안전, 운전자 보조, 차량 자동화를 향상해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업의 컴퓨터 비전

농업의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입합니다. 작물 모니터링, 가축 추적, 정밀 농업을 강화해 더 높은 수확량을 스마트하게 실현합니다.
자세히 알아보기
항공 이미지를 위한 컴퓨터 비전

항공 이미지를 위한 컴퓨터 비전

Ultralytics YOLO을 활용하여 드론 및 항공 이미지를 농업, 수산업, 환경 모니터링, 자연 보호, 지리 공간 분석을 위한 실시간 인사이트로 변환합니다.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 지리 공간 산업을 지원합니다.
자세히 알아보기

Ultralytics YOLO 모델로 모든 사이트를 보호하세요. 비전 AI는 경계 모니터링, 위협 탐지, 번호판 인식 및 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 컴퓨터 비전

로보틱스 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 기계의 성능을 구현하세요. 로보틱스의 Vision AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 지원합니다.
자세히 알아보기
물류 컴퓨터 비전

물류 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 효율화하세요. Vision AI는 패키지 검사, 분류, 차량 추적 및 창고의 실시간 안전 모니터링을 지원합니다.
자세히 알아보기
소매 컴퓨터 비전

소매 컴퓨터 비전

Ultralytics YOLO 모델로 소매업을 새롭게 혁신하세요. Vision AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
자세히 알아보기
헬스케어 분야의 컴퓨터 비전

헬스케어 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 헬스케어 솔루션을 구축하십시오. 헬스케어 분야의 Vision AI는 더 빠른 의료 영상 처리, 더욱 스마트한 진단, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조를 최적화하십시오. Vision AI는 품질 관리, 결함 탐지, PPE 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 산업의 컴퓨터 비전

자동차 산업의 컴퓨터 비전

Ultralytics YOLO 모델을 활용해 자동차 산업에 컴퓨터 비전을 적용합니다. 비전 AI는 도로 안전, 운전자 보조, 차량 자동화를 향상해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업의 컴퓨터 비전

농업의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입합니다. 작물 모니터링, 가축 추적, 정밀 농업을 강화해 더 높은 수확량을 스마트하게 실현합니다.
자세히 알아보기
항공 이미지를 위한 컴퓨터 비전

항공 이미지를 위한 컴퓨터 비전

Ultralytics YOLO을 활용하여 드론 및 항공 이미지를 농업, 수산업, 환경 모니터링, 자연 보호, 지리 공간 분석을 위한 실시간 인사이트로 변환합니다.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 지리 공간 산업을 지원합니다.
자세히 알아보기

Ultralytics YOLO 모델로 모든 사이트를 보호하세요. 비전 AI는 경계 모니터링, 위협 탐지, 번호판 인식 및 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 컴퓨터 비전

로보틱스 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 기계의 성능을 구현하세요. 로보틱스의 Vision AI는 자율 주행, 인식, 객체 추적 및 실시간 제어를 지원합니다.
자세히 알아보기
물류 컴퓨터 비전

물류 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 효율화하세요. Vision AI는 패키지 검사, 분류, 차량 추적 및 창고의 실시간 안전 모니터링을 지원합니다.
자세히 알아보기
소매 컴퓨터 비전

소매 컴퓨터 비전

Ultralytics YOLO 모델로 소매업을 새롭게 혁신하세요. Vision AI는 재고 추적, 선반 모니터링, 대기열 관리 및 더 스마트한 고객 인사이트를 지원합니다.
자세히 알아보기
헬스케어 분야의 컴퓨터 비전

헬스케어 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 헬스케어 솔루션을 구축하십시오. 헬스케어 분야의 Vision AI는 더 빠른 의료 영상 처리, 더욱 스마트한 진단, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조를 최적화하십시오. Vision AI는 품질 관리, 결함 탐지, PPE 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 산업의 컴퓨터 비전

자동차 산업의 컴퓨터 비전

Ultralytics YOLO 모델을 활용해 자동차 산업에 컴퓨터 비전을 적용합니다. 비전 AI는 도로 안전, 운전자 보조, 차량 자동화를 향상해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업의 컴퓨터 비전

농업의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입합니다. 작물 모니터링, 가축 추적, 정밀 농업을 강화해 더 높은 수확량을 스마트하게 실현합니다.
자세히 알아보기

AI의 미래를 함께 만들어가세요!

머신러닝의 미래와 함께 여정을 시작하세요