최근 수정 시각 : 2025-10-21 12:27:22

PyTorch


딥 러닝 라이브러리
{{{#!wiki style="margin: 0 -10px;"
{{{#!folding [ 주요 라이브러리 ]
{{{#!wiki style="margin-bottom: -15px;"
파일:PyTorch_logo_black.svg파일:PyTorch_logo_white.svg 파일:TF_FullColor_Horizontal.svg파일:TF_White_Primary_Horizontal.svg 파일:Logo_Keras.svg파일:Logo_Keras-white.svg 파일:jax_logo.svg파일:jax_logo.svg
PyTorch TensorFlow Keras JAX
}}}}}}}}} ||
<colcolor=#000000,#ffffff> PyTorch
파이토치
파일:PyTorch_logo_black.svg파일:PyTorch_logo_white.svg
버전 2.9.0[1]
2025년 10월 16일 업데이트
공개일 2016년 9월 1일
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg
<colcolor=#000000,#ffffff>
1. 개요2. 상세
2.1. torch2.2. torchaudio2.3. torchvision2.4. torchtext2.5. torchdata2.6. torchtune2.7. torchscale2.8. torchrl2.9. torchao2.10. tensordict2.11. torch-xla2.12. torch-directml2.13. transformer-engine
3. 관련 문서
3.1. 사용자 모임3.2. 설치 방법3.3. 튜토리얼3.4. 학습 자료

1. 개요

토치 (Torch) 및 카페 2 (Caffe 2)를 기반으로 한 기계 학습 라이브러리이다.[2]

2. 상세

2015년에 설립된 FAIR(페이스북 인공지능 연구소)에 의해 주로 개발되어 왔다. 2016년 9월에 처음으로 공개되었다. 페이스북에서는 PyTorch와 Caffe2를 둘다 사용하고 있었는데, 두 가지 프레임워크를 사용하다보니 호환성 문제가 발생해서 결국 2017년 9월에 마이크로소프트와 협업하여 2018년 3월에 Caffe2를 PyTorch에 합쳐버렸다.

TensorFlow와 마찬가지로, NumPy의 배열을 Tensor로 가져올 수 있고, 이를 쉽게 GPU 메모리에 올려 연산도 할 수 있다. TensorFlow가 v2.0 출시 이후 친 keras 행보를 보이며 자유로운 네트워크 수정의 난이도가 점점 높아지자, 연구원들 사이에서는 PyTorch의 사용 비중이 높아졌으며, 이제 인공지능 학계에서 널리 사랑받는 라이브러리로 자리매김했다.

테슬라Dojo 슈퍼컴퓨터 구축에 메인 프로그램으로 사용되었다.

파이토치의 각 버전마다 여러 CUDA버전을 지원하며, 지원하는 버전은 설치 가이드를 보면 알 수 있다.

알파고를 개발한 구글 딥마인드도 토치를 바탕으로 연구, 개발을 했었지만, 2016년 4월 토치가 아닌 TensorFlow로 개발 프레임워크로의 전환을 발표했다. 그러나 2020년대부터 구글은 텐서플로우를 버리고 JAX로 옮겨갔다.

2.1. torch

#!syntax python
import torch
from torch import nn
from torch import amp
from torch import onnx
from torch import optim
import torch.nn.functional as F
import torch.distributed as dist
import torch.multiprocessing as mp

PyTorch의 필수 라이브러리다. 신경망 래퍼, 레이어, 백엔드, 손실 함수, 옵티마이저, 스케줄러, 모델 컴파일, 데이터 엔지니어링 등과 관련된 기본적인 모듈이 있다.

2.2. torchaudio

PyTorch에서 제공하는 음성 관련 데이터 프로세싱 및 머신 러닝 라이브러리다.

2.3. torchvision

PyTorch에서 제공하는 이미지영상등 시각적인 요소 관련 데이터의 프로세싱 및 머신 러닝을 처리하는 라이브러리다.

2.4. torchtext

PyTorch에서 제공하는 텍스트OCR (Optical Character Recognition) 특화 데이터 프로새싱 및 머신 러닝 라이브러리다. 현재는 deprecated 상태다.

2.5. torchdata

PyTorch 개발진이 torch에 있는 데이터 관련 모듈을 추상화 및 병렬화한 래퍼가 들어 있는 데이터 엔지니어링 (Data Engineering) 특화 라이브러리다.

2.6. torchtune

PyTorch에서 제공하는 파인 튜닝 (Fine Tuning) 관련 라이브러리다.

2.7. torchscale

Microsoft가 제공하는 신경망 관련 라이브러리다. RetNet, MSR (Multi-Scale Retention) 커널을 중심으로 리텐션 (Retention) 위주의 레이어, 연산 커널이 수록되어 있다.

2.8. torchrl

PyTorch에서 제공하는 강화 학습 (Reinforcement Learning) 관련 라이브러리다.

2.9. torchao

PyTorch에서 제공하는 아키텍처 최적화 (Architecture Optimization) 관련 라이브러리다. 주로 저비트 AMP (Automatic Mixed Precision), 저비트 옵티마이저, 저비트 레이어, 양자화 관련 모듈이 있다.

2.10. tensordict

PyTorch에서 제공하는 특화 텐서 관련 라이브러리. 현재 nightly 빌드만 있다.

2.11. torch-xla

#!syntax python
import torch_xla as xla
from torch_xla.core import xla_model
from torch_xla.distributed import xla_backend

PyTorch 개발진과 구글에서 PyTorch 내에서 클라우드 TPU와 연동시키기 위해 개발한 라이브러리

2.12. torch-directml

#!syntax python
import torch_directml as directml

Microsoft가 PyTorch 내에서 DirectML을 연동시키기 위해 개발한 라이브러리

2.13. transformer-engine

#!syntax python
import transformer_engine.pytorch as te

NVIDIA에서 제공하는 CUDA 백엔드 전용 PyTorch 및 JAX 라이브러리로 NVIDIA GPU에 최적화된 저비트 옵티마이저, 저비트 레이어, 저비트 AMP 관련 모듈이 있다. pip install transformer-engine-torch로 설치해야 한다. 설치에 시간이 오래 걸린다.

3. 관련 문서

Zero to Mastery Learn PyTorch for Deep Learning(위 영상의 텍스트 버전)
위 영상에 내용이 추가된 유데미 유료 강의

3.1. 사용자 모임

3.2. 설치 방법

3.3. 튜토리얼

3.4. 학습 자료


[1] CUDA 12 및 Python 3.14을 지원한다.[2] 경쟁작으로 구글TensorFlow, JAX가 있지만 PyTorch만이 AI 개발에서 가장 널리 쓰이는 머신러닝 라이브러리로 자리잡았다. 신규 프로젝트 대부분은 압도적으로 PyTorch를 쓴다. TensorFlow로 제작된 레거시 모델들도 PyTorch나 JAX로 마이그레이션되고 있다.