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

PyTorch

PyTorch는 GPU 텐서와 자동 미분을 활용해 신경망을 구축하고 학습하는 오픈 소스 Python 프레임워크입니다. 핵심 개념과 배포 경로를 살펴봅니다.

PyTorch는 Python에서 신경망을 구축하고 학습하며 배포하기 위한 오픈 소스 프레임워크입니다. GPU 가속 텐서, 자동 미분, 레이어·옵티마이저·손실 함수 라이브러리를 제공하며, 코드를 한 줄씩 즉시 실행하므로 일반적인 Python 프로그램처럼 모델을 작성하고 디버깅할 수 있습니다. Facebook AI Research(현재 Meta AI)에서 개발된 PyTorch는 2022년부터 Linux Foundation 산하의 벤더 중립적인 PyTorch Foundation이 관리하고 있으며, 컴퓨터 비전과 언어 분야의 딥러닝 연구 및 프로덕션 모델에 널리 사용됩니다.

핵심 개념#

  • 텐서: NumPy 배열과 같은 다차원 배열이며 CPU 또는 가속기에서 사용할 수 있습니다. PyTorch는 CUDA를 통해 NVIDIA GPU를, ROCm을 통해 AMD GPU를, Metal(MPS)을 통해 Apple 실리콘을 지원하며, 장치 간 데이터 이동에는 .to(device) 호출 한 번이 필요합니다.
  • Autograd: 텐서 연산이 실행될 때 PyTorch는 해당 연산을 계산 그래프에 기록합니다. .backward()을 호출하면 해당 계산 그래프를 역방향으로 순회해 기울기가 필요한 모든 텐서에 대한 출력의 기울기를 채우며, 이것이 학습의 역전파 단계입니다.
  • 즉시 실행: 순전파가 실행될 때마다 그래프를 다시 구성하므로, 모델에서 Python 반복문, 조건문, print 문을 사용할 수 있으며 오류가 발생한 정확한 줄을 확인할 수 있습니다.
  • 모듈 및 옵티마이저: torch.nn은 합성곱, 어텐션, 정규화 등의 레이어를 제공하고, torch.optim는 계산된 기울기를 사용해 가중치를 업데이트하는 SGD 및 Adam 등의 옵티마이저를 제공합니다.
  • torch.compile: PyTorch 2.0에서 추가된 이 기능은 즉시 실행 프로그램을 그래프로 캡처하고 융합 커널을 생성하여, 모델 코드를 변경하지 않고도 학습과 추론 속도를 높이는 경우가 많습니다.

아래 예제는 GPU를 사용할 수 있으면 GPU에서 간단한 연산을 실행하고 autograd를 사용해 기울기를 계산합니다:

import torch

# Use a GPU when PyTorch can see one, otherwise fall back to the CPU
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tensors record the operations applied to them when requires_grad=True
w = torch.tensor([2.0, -1.0], device=device, requires_grad=True)
x = torch.tensor([3.0, 4.0], device=device)

# Ordinary Python runs eagerly: each line executes immediately
loss = (w * x).sum() ** 2

# Autograd walks the recorded graph backward to get d(loss)/dw
loss.backward()
print(f"device={device}, loss={loss.item()}, grad={w.grad.tolist()}")

GPU가 없는 머신에서는 device=cpu, loss=4.0, grad=[12.0, 16.0]을 출력합니다. 손실은 (2·3 − 1·4)² = 4이며, autograd는 별도의 미적분 코드를 작성하지 않아도 도함수 2·(w·x)·x = [12, 16]을 반환합니다. 이와 동일한 방식으로 수십억 개의 가중치를 가진 네트워크를 학습합니다.

PyTorch와 다른 도구 비교#

  • TensorFlow: Google의 프레임워크로, TensorFlow 2에서 즉시 실행이 기본값이 되기 전까지 정적 그래프를 구축한 후 실행했습니다. Keras와 Google 배포 도구를 기반으로 구축된 프로덕션 시스템에서 여전히 널리 사용됩니다.
  • JAX: Google의 수치 연산 라이브러리로, 순수 Python 함수를 조합 가능한 grad, jit, vmap 연산으로 변환한 뒤 XLA를 통해 컴파일하며, TPU를 활용한 대규모 연구에 널리 사용됩니다.
  • OpenCV: 고전적인 알고리즘으로 이미지를 읽고 변환하며 분석하는 컴퓨터 비전 라이브러리입니다. 파이프라인에서는 PyTorch 모델이 프레임을 처리하기 전에 OpenCV로 프레임을 로드하고 전처리하는 경우가 많습니다.
  • Hugging Face: 주로 PyTorch를 기반으로 구축된 허브 및 라이브러리 모음입니다. Transformers 라이브러리는 사전 학습된 언어 및 비전 모델을 PyTorch 모듈로 제공합니다.

연구에서 배포까지#

학습된 PyTorch 모델은 체크포인트로 저장되며, 일반적으로 가중치를 담고 있는 .pt 또는 .pth 파일을 사용합니다. Python 서비스에서는 그대로 실행할 수 있지만, 엣지 디바이스와 최적화된 서버에서는 보통 하드웨어에 맞게 설계된 런타임으로 변환해야 합니다:

Ultralytics YOLO26은 PyTorch로 작성되었습니다. yolo26n.pt은 PyTorch 체크포인트이며, 학습은 PyTorch의 autograd와 옵티마이저를 사용하고, model.export()은 모델을 배포 형식으로 변환합니다. 여기에는 ONNX, TensorRT, OpenVINO, Core ML, LiteRT가 포함됩니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

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의 미래를 만들어 가세요!

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