Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

GPU (Graphics Processing Unit)

GPU는 병렬 연산에 적합하도록 수천 개의 코어를 갖춘 프로세서로, 딥러닝 모델을 학습하고 실행하는 데 사용되는 주요 하드웨어입니다.

그래픽 처리 장치(GPU)는 수천 개의 단순한 코어를 갖춘 프로세서로, 각 코어는 여러 데이터에 동일한 연산을 동시에 수행합니다. GPU는 수백만 개의 픽셀과 정점을 병렬로 계산하는 3D 그래픽 렌더링을 위해 개발되었으며, 딥러닝의 주요 하드웨어가 되었는데, 이는 신경망의 학습과 추론이 같은 방식으로 병렬화되는 행렬 곱셈에 대부분 의존하기 때문입니다. 2007년에 출시된 NVIDIA의 CUDA 플랫폼은 GPU를 범용 컴퓨팅에 활용할 수 있도록 했으며, 2012년에는 NVIDIA GTX 580 GPU 두 대에서 5~6일 동안 학습된 AlexNet 네트워크가 ImageNet 챌린지에서 top-5 오류율 15.3%로 차점자의 26.2%를 앞서며 우승했습니다. 오늘날 PyTorch, TensorFlow, JAX는 CUDA를 통해 NVIDIA GPU에서, ROCm을 통해 AMD GPU에서, Metal을 통해 Apple 실리콘에서 실행되며, 수천 개의 GPU로 구성된 클러스터가 가장 큰 파운데이션 모델을 학습합니다.

GPU가 딥러닝을 가속하는 방식#

CPU는 소수의 코어가 분기 코드를 빠르게 실행할 수 있도록 칩 면적 대부분을 캐시와 제어 로직에 할당합니다. GPU는 해당 면적을 산술 연산에 사용합니다. NVIDIA GPU는 스트리밍 멀티프로세서로 나뉘며, 각 멀티프로세서는 워프라고 하는 32개 스레드 그룹을 실행합니다. 워프는 서로 다른 데이터에 동일한 명령을 수행합니다. 일부 워프가 메모리를 기다리는 동안 다른 워프는 연산을 수행하므로 병렬 작업이 충분하면 칩을 계속 가동할 수 있습니다. 2017년 Volta 세대부터 NVIDIA GPU에는 작은 행렬을 낮은 정밀도로 한 번에 곱하는 Tensor Core 연산 유닛도 포함되었습니다. Tensor Core는 이제 FP8을 지원하며 Blackwell부터는 FP4도 지원합니다. NVIDIA A100은 표준 FP32 연산에서 최대 19.5 TFLOPS, Tensor Core의 BF16 연산에서 312 TFLOPS를 기록합니다. 이것이 대부분의 GPU 학습에서 혼합 정밀도를 사용하는 이유입니다. 다음 코드는 CPU와 GPU에서 동일한 행렬 곱셈의 실행 시간을 측정합니다:

import time

import torch

gpu = torch.accelerator.current_accelerator()  # cuda, mps, or xpu device on this machine
a = torch.randn(4096, 4096)
b = torch.randn(4096, 4096)

for device in (torch.device("cpu"), gpu):
    x, y = a.to(device), b.to(device)
    x @ y  # warm-up run
    torch.accelerator.synchronize()
    start = time.perf_counter()
    for _ in range(10):
        x @ y
    torch.accelerator.synchronize()  # GPU calls return immediately, so wait for them to finish
    seconds = (time.perf_counter() - start) / 10
    print(f"{device.type}: {seconds * 1000:.1f} ms per multiply, {2 * 4096**3 / seconds / 1e12:.1f} TFLOPS")

Apple M5 Pro 노트북에서 코드를 실행하면 cpu: 80.0 ms per multiply, 1.7 TFLOPS과 mps: 18.3 ms per multiply, 7.5 TFLOPS이 출력되므로, 노트북의 통합 GPU는 FP32 연산에서 약 4.4배 빠릅니다. 데이터센터 GPU는 더 많은 코어와 초당 수 테라바이트를 전송하는 고대역폭 메모리(HBM)를 모두 활용해 격차를 더욱 벌립니다. 충분한 데이터가 공급되어 코어가 계속 작동할 수 있습니다. VRAM이라고도 하는 GPU 메모리는 한 기기에 적재할 수 있는 모델과 배치 크기도 제한합니다. 그래디언트 체크포인팅 및 분산 학습과 같은 기법은 이 제한을 우회하기 위해 사용됩니다.

GPU에서 모델 학습 및 배포하기#

학습 작업은 나머지 파이프라인이 GPU 처리 속도를 따라갈 때만 GPU를 계속 가동할 수 있습니다. CPU 워커는 이미지를 충분히 빠르게 디코딩하고 증강해야 하며, 배치는 코어를 모두 활용할 수 있을 만큼 커야 하고, Tensor Core에서는 저정밀도 연산을 수행해야 합니다. GPU 사용률이 낮다면 일반적으로 다음 단계 중 하나가 원인입니다:

Ultralytics YOLO는 CUDA GPU를 사용할 수 있으면 기본적으로 첫 번째 GPU에서 학습합니다. 다중 GPU 학습에는 device=[0, 1]을 사용할 수 있으며, batch=-1를 지정하면 GPU의 여유 메모리를 측정해 약 60%를 사용하는 배치 크기를 선택하는 AutoBatch가 실행됩니다. 로컬 하드웨어가 없는 팀은 학습 실행마다 Ultralytics Platform에서 클라우드 GPU를 선택할 수 있습니다. 추론에서는 TensorRT로 내보낸 YOLO26n이 NVIDIA T4 GPU에서 640픽셀 이미지를 1.7ms에 처리합니다. CPU에서 ONNX를 사용하면 38.9ms가 걸립니다. 이 코드는 AutoBatch로 첫 번째 GPU에서 YOLO26을 학습합니다.

from ultralytics import YOLO

# 가장 작은 YOLO26 감지 모델을 불러옵니다.
model = YOLO("yolo26n.pt")

# GPU 0에서 학습하고 AutoBatch가 GPU 메모리에 맞게 배치 크기를 설정하도록 합니다.
results = model.train(data="coco8.yaml", epochs=3, imgsz=640, device=0, batch=-1)

GPU, CPU, TPU, NPU 비교#

  • CPU: 범용 분기 코드를 실행하는 강력한 코어 몇 개로 구성됩니다. 대부분의 학습 파이프라인에서 CPU는 데이터 로딩과 전처리를 수행하며, 가속기를 사용할 수 없는 경우 추론도 처리합니다.
  • GPU: 프로그래밍 가능한 코어 수천 개와 Tensor Core로 구성됩니다. GPU는 거의 모든 모델과 프레임워크를 실행할 수 있고, 여러 공급업체가 제공하며, 주요 클라우드에서 모두 사용할 수 있습니다.
  • TPU: 대형 행렬 곱셈 유닛을 중심으로 설계된 Google의 애플리케이션 전용 칩입니다. TPU는 대규모 밀집 행렬 연산에서 효율성을 높이는 대신 GPU의 유연성을 일부 희생하며, Google Cloud를 통해 사용할 수 있습니다.
  • NPU: 휴대전화, 노트북, 엣지 기기에 탑재되는 저전력 신경망 가속기로, 학습보다 추론에 사용됩니다.

실제 적용 사례#

  • 대형 모델 학습: 수십억 개의 파라미터를 가진 언어 및 비전 모델은 NVLink와 InfiniBand 같은 고속 링크로 연결된 데이터센터 GPU 수천 개의 클러스터에서 학습됩니다.
  • 실시간 비디오 분석: 단일 GPU에서 여러 카메라 스트림을 대상으로 객체 감지 및 추적을 동시에 실행하여 교통 모니터링, 리테일 분석 또는 공장 검사를 수행할 수 있습니다.
  • 로보틱스 및 자율주행차: NVIDIA Jetson과 같은 임베디드 GPU 모듈은 온보드에서 인식 모델을 실행합니다. 카메라 데이터를 서버로 보내면 지연 시간이 너무 길어지기 때문입니다.
  • 의료 영상: GPU는 장기와 종양을 분할하기 위한 대규모 3D CT 및 MRI 볼륨을 몇 분이 아닌 몇 초 만에 처리합니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

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

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

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

물류 분야의 컴퓨터 비전

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

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

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

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

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