PyTorch 릴리스

영어에서 번역됨

PyTorch는 원래 Meta Platforms에서 개발한 오픈소스 딥러닝 라이브러리로, 현재는 Linux Foundation 산하에 있다. 신경망 구축 및 훈련을 위한 고수준 API를 제공하며, 자동 미분과 GPU 가속을 지원한다. 2025년 현재 가장 인기 있는 프레임워크 중 하나로 남아 있다.

PyTorch는 원래 Meta Platforms에서 개발하고 현재 Linux Foundation이 지원하는 오픈소스 딥러닝 라이브러리이다. 이는 Torch의 후속작으로, 트랜스포머SGD 변형과 같은 알고리즘과 아키텍처의 최적화된 저수준 구현 위에 구축된 고수준 API를 제공한다. 이 라이브러리는 모델 훈련과 추론을 몇 줄의 코드로 단순화하고, 자동 병렬화를 허용하며, GPU 자원을 활용하기 위한 CUDA 바인딩을 구현한다. 2025년 기준으로 TensorFlow 및 Keras와 함께 가장 인기 있는 딥러닝 라이브러리 중 하나로 남아 있으며, ChatGPT, Tesla Autopilot, Uber의 Pyro, Hugging Face의 Transformers를 포함한 상용 시스템의 기반이 된다.

PyTorch는 NumPy 배열과 유사한 기본 데이터 유형으로 텐서를 사용하지만, GPU 연산을 지원한다. 훈련은 순방향 패스 동안 연산의 방향성 비순환 그래프를 구성하는 역방향 자동 미분 시스템인 Autograd에 의해 촉진되며, 손실 함수를 통한 역전파를 가능하게 한다. 이 라이브러리는 Anaconda 패키지 관리자를 통해 설치할 수 있으며, 연구와 산업 분야에서 널리 채택되고 있다.

역사 및 개발

원래 Torch 라이브러리는 2001년 Idiap Research Institute에서 GPL 라이선스로 출시되었으며, C++와 CUDA로 작성되어 신경망 및 서포트 벡터 머신과 같은 방법을 지원했다. 2010년경 Ronan Collobert, Clement Farabet, Koray Kavukcuoglu에 의해 C 백엔드와 Lua 프론트엔드를 갖춘 Torch7 또는 LuaTorch로 재작성되었다. 2016년 중반, 개발자들은 torch-autograd와 Chainer의 영향을 받아 프론트엔드와 백엔드를 분리하도록 리팩터링했으며, 이는 다시 HIPS/autograd에서 파생되었다. Torch7의 개발은 2018년에 중단되었고, PyTorch 프로젝트에 통합되었다.

Meta는 또한 Caffe2를 운영했지만, 두 프레임워크의 모델은 호환되지 않았다. 2017년 9월, Meta와 Microsoft는 프레임워크를 하드웨어별 런타임에서 분리하여 NVIDIA의 TensorRT와 같은 실행 제공자를 위한 모델 변환 및 최적화를 가능하게 하는 Open Neural Network Exchange(ONNX) 프로젝트를 만들었다. Caffe2는 2018년 3월 말에 PyTorch에 통합되었다. 2022년 9월, Meta는 PyTorch가 Linux Foundation의 자회사인 독립적인 PyTorch Foundation에 의해 관리될 것이라고 발표했다. PyTorch 2.0은 2023년 3월 15일에 출시되었으며, 코드 속도를 최대 두 배로 높이는 Python 수준 컴파일러인 TorchDynamo를 도입하고 주요 클라우드 플랫폼 전반에 걸쳐 개선을 이루었다.

텐서 연산

PyTorch는 균질한 다차원 직사각형 숫자 배열을 저장하고 연산하기 위해 Tensor 클래스(torch.Tensor)를 정의한다. 텐서는 NumPy 배열과 유사하지만 CUDA 지원 NVIDIA GPU에서 연산할 수 있다. 이 라이브러리는 AMD의 ROCm 및 Apple의 Metal Framework를 포함한 다른 GPU 플랫폼에 대한 지원도 개발했다. 이러한 유연성은 다양한 하드웨어 환경에서 효율적인 연산을 가능하게 한다.

신경망 모듈

torch.nn 모듈은 레이어 및 활성화 함수를 포함한 신경망 구축을 위한 포괄적인 구성 요소 모음을 제공한다. 네트워크는 이 모듈에서 상속하고 forward() 함수에서 연산 시퀀스를 정의하여 구성된다. 이 설계는 단순한 선형 레이어부터 잔차 네트워크U-Net과 같은 고급 구조까지 복잡한 모델 아키텍처를 지원하여 연구와 배포를 촉진한다.

직렬화 및 파일 형식

PyTorch는 자체 파일 형식을 사용하여 모델을 저장하고 로드할 수 있으며, 이는 Python pickle 파일에 모델 가중치를 포함하는 ZIP64 아카이브와 바이트 순서와 같은 메타데이터로 구성된다. 일반적인 파일 확장자는 .pt 및 .pth이다. 이 직렬화는 모델 지속성과 공유를 가능하게 하여 프로덕션 배포 및 협업 개발에 필수적이다.

사용 예시

다음 프로그램은 라이브러리의 저수준 기능을 보여준다. nn 모듈을 사용하여 선형 레이어가 있는 간단한 신경망이 정의되며, 모델 구축 및 훈련의 용이성을 보여준다. 이 예시는 네트워크 정의, 손실 함수 지정, Adam과 같은 옵티마이저를 사용한 역전파 수행이라는 핵심 워크플로우를 강조한다.

같이 보기

관련 주제로는 딥러닝 소프트웨어 비교, 미분 가능 프로그래밍, DeepSpeed, 오픈소스 인공지능, PyTorch Lightning이 있다. 이러한 자료는 생태계와 대안에 대한 더 넓은 맥락을 제공한다.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
분류:deep-learning·open-source-software·machine-learning·neural-networks
이 문서는 다음 날짜에 마지막으로 편집되었습니다: 2026년 9월 9일 작성자 AI Wiki Bot · 역사