본문 바로가기
인공지능 프레임워크/PyTorch 2.3

[pytorch] 버전별 특징

by cogito21_python 2024. 7. 3.
반응형

PyTorch 1.0 (2018년 12월)

  • 프러덕션 준비: PyTorch 1.0은 연구와 개발에서 프러덕션 준비가 된 라이브러리로 이동하면서 중요한 마일스톤을 달성했습니다.
  • TorchScript: 모델을 스크립팅하고 JIT 컴파일을 통해 효율적인 실행을 할 수 있도록 지원.
  • C++ 인터페이스: 파이썬뿐만 아니라 C++에서도 PyTorch 모델을 구축하고 학습시킬 수 있는 기능 제공.
  • 모듈화된 코드를 위한 모델 분할 및 배포: 다양한 장치에 효율적으로 모델을 분할하고 배포할 수 있도록 개선.

PyTorch 1.1 (2019년 5월)

  • TensorBoard 지원: TensorBoard를 통한 모델 학습 시각화 지원.
  • 1.0 기능 강화: JIT 컴파일러와 TorchScript의 성능 및 사용성 개선.
  • 더 많은 연산 지원: 새로운 연산 추가 및 기존 연산 최적화.

PyTorch 1.2 (2019년 8월)

  • TorchScript 개선: 더 나은 디버깅 기능과 오류 메시지 제공.
  • 분산 훈련 개선: 분산 훈련 기능 강화, 특히 DDP(Distributed Data Parallel) 개선.
  • 모델 서빙: torch.jit.save 및 torch.jit.load를 통해 모델 서빙이 더 간편해짐.

PyTorch 1.3 (2019년 10월)

  • 모바일 지원: 모바일 장치에서의 실행을 위한 PyTorch Mobile 도입.
  • PyTorch Quantization: 모델 경량화를 위한 양자화(quantization) 도구 제공.
  • RPC 프레임워크: 분산 환경에서의 원격 프로시저 호출(RPC) 지원.

PyTorch 1.4 (2020년 1월)

  • Profiler 추가: 성능 프로파일링 도구 제공.
  • torch.cuda.amp: 자동 혼합 정밀도 훈련을 위한 기능 추가.
  • FFI(외부 함수 인터페이스): 외부 라이브러리와의 상호 운용성 개선.

PyTorch 1.5 (2020년 5월)

  • PyTorch Serve: PyTorch 모델 배포를 위한 프레임워크.
  • Gradient Accumulation: 큰 모델 훈련 시 메모리 절약을 위해 gradient accumulation 지원.
  • C++ API 강화: C++ API 개선 및 안정화.

PyTorch 1.6 (2020년 8월)

  • RPC 프레임워크 성능 개선: 분산 학습을 위한 RPC 프레임워크 성능 및 안정성 개선.
  • TorchScript 인터페이스 개선: TorchScript의 사용성 및 디버깅 기능 향상.
  • 마이크로소프트 ONNX Runtime 통합: ONNX(Runtime) 지원으로 PyTorch 모델을 다양한 환경에서 실행 가능.

PyTorch 1.7 (2020년 10월)

  • 지속적인 통합: Windows에서의 CI 통합 개선.
  • nn.Module 개선: nn.Module의 상태 복원 기능 추가.
  • CPU 성능 향상: 많은 CPU에서의 성능 최적화.
  • Prototype 기능: Early stage의 새로운 기능을 실험할 수 있는 prototype 기능 제공.

PyTorch 1.8 (2021년 3월)

  • 고성능 DDP: 분산 데이터 병렬 처리 성능 개선.
  • TorchElastic: 클러스터 환경에서 PyTorch 작업의 안정성 향상.
  • 다양한 연산 및 함수 개선: 연산 최적화 및 새로운 함수 추가.

PyTorch 1.9 (2021년 6월)

  • Mobile Interpreter: 모바일 환경에서의 인터프리터 지원.
  • NNC(Nested Namespaces Compilation): 컴파일러 프레임워크 개선.
  • Complex Autograd: 복소수 지원 개선.

PyTorch 1.10 (2021년 10월)

  • CUDA Graphs: CUDA 그래프 지원을 통해 GPU 성능 최적화.
  • Distributed Training: 분산 훈련 API 개선.
  • FX Graph Mode Transformations: 모델 변환을 위한 FX 프레임워크 제공.

PyTorch 1.11 (2022년 3월)

  • Stable C++ API: C++ API가 안정화.
  • TorchX: PyTorch 생태계를 확장할 수 있는 도구 제공.
  • Advanced Indexing: 복잡한 인덱싱 기능 개선.

PyTorch 1.12 (2022년 7월)

  • Better Distributed Training: 개선된 분산 학습 기능.
  • New Mobile Features: 모바일 기능 추가 및 최적화.
  • Extended Autograd: autograd 확장 기능 및 안정성 개선.

PyTorch 1.13 (2022년 10월)

  • Inference Mode: 추론 모드 최적화.
  • Better Quantization: 양자화 기능 향상.
  • Backend Extensibility: 백엔드 확장성 개선.

PyTorch 2.0 (2023년 3월)

  • PyTorch 2.0 출시: 새롭고 더 빠른 컴파일러 도입.
  • TorchDynamo: Python 컴파일러 통합.
  • Better Performance: 다양한 최적화 도구 및 성능 개선.

각 버전은 PyTorch의 성능, 사용성, 기능 확장을 목표로 꾸준히 개선되었으며, 특히 분산 학습, 모바일 지원, 양자화, 프로파일링 도구 등에서 큰 진전을 이루었습니다. 최신 버전으로 갈수록 안정성, 성능, 그리고 다양한 환경 지원이 강화되고 있습니다.

반응형