PyTorch 2.8 소개
PyTorch는 2.8 버전을 통해 더욱 진화된 기능과 성능 최적화를 선보였습니다. 이번 릴리즈에는 새로운 컴파일러 기능과 다양한 하드웨어 플랫폼에 대한 지원을 포함하고 있으며, 특히 대규모 모델의 학습 및 추론에 필요한 성능과 유연성을 확보하는 데 초점을 맞추고 있습니다. 컴파일러 기반 기능의 고도화뿐 아니라, 개발자 경험 개선, 오류 방지 메커니즘 강화 등도 이 버전의 핵심 개선사항으로 꼽힙니다.
이번 릴리즈는 PyTorch 2.7 이후 총 4,164개의 커밋과 585명의 기여자이 함께 하였으며, PyTorch 커뮤니티의 활발한 참여와 협업이 다시 한 번 강조되었습니다. 특히 torch.compile을 중심으로 하는 TorchInductor의 성능 및 안정성 개선, Wheel Variants를 통한 플랫폼 최적화된 배포, 다양한 양자화 형식 및 분산 학습 지원 확대는 PyTorch의 적용 가능성을 한층 넓힐 것으로 기대합니다.
PyTorch 2.8의 주요 기능 요약
-
libtorch 제한적 안정 ABI 도입 : torch::stable::Tensor를 포함하여 C++/CUDA 확장을 버전 간 안정적으로 빌드 가능
-
Intel CPU에서 고성능 LLM 양자화 추론 지원 : A16W8, DA8W8, A16W4 등의 포맷 지원과 GEMM 최적화로 높은 효율성 달성
-
Wheel Variants (실험적) :
- GPU 및 플랫폼 특성을 감지하여 최적화된 PyTorch 휠을 자동 설치.
- Python 패키징 표준으로 제안 예정
-
ROCm 7 및 AMD gfx950 아키텍처 지원 강화 :
- TorchInductor 및 AOTInductor에서 matmul, conv2d, _scaled_mm 등 템플릿 최적화
-
Control Flow Operators :
cond,while_loop,scan,map등 복잡한 제어 흐름을 추론 및 내보내기 대상으로 컴파일 가능
-
CUTLASS 백엔드 공식 지원 :
- TorchInductor와 AOTInductor 모두에서 mm, fp8 mm, addmm, bmm 등 GEMM 연산 최적화 가능
PyTorch 2.8의 실험적 API 기능들 (API-UNSTABLE FEATURES)
아래 기능들은 현재 실험적인 기능들이며, 이후 PyTorch 릴리즈에서 변경될 수 있습니다:
-
[API-Unstable] torch::stable::Tensor :
- 제한적 ABI 안정성 도입으로 C++/CUDA 확장 재빌드 문제 완화
- 지속적으로 확장 중이며, 간단한 예제로 구현된 libtorch의 안정적 확장은 여기에서 확인 가능
-
[API-Unstable] Intel CPU용 양자화 LLM 추론 :
- A16W8, DA8W8, A16W4 등 다양한 양자화 형식 지원
- TorchInductor 기반 GEMM 템플릿 최적화로 높은 CPU 성능 달성
- 더 상세한 내용은 RFC에서 확인 가능
-
[API-Unstable] Wheel Variants :
- GPU/하드웨어 환경에 따라 가장 적합한 PyTorch 패키지를 자동 설치
- 실험적(RFC)인 기능으로, 향후 Python 공식 패키징 시스템(Python Upstream) 포함을 목표로 함
- 호환성은 보장되지 않으니 주의 필요
- 향후 패키징 전략의 방향성 관련 블로그 공개 및 PyTorch 2.8 Live Q&A 진행(8/14) 예정
- Linux x86/aarch64 및 macOS에서는 아래 명령어로 실행 가능:
curl -LsSf https://astral.sh/uv/install.sh | INSTALLER_DOWNLOAD_URL=https://wheelnext.astral.sh sh - Windows x86에서는 아래 명령어로 실행 가능:
powershell -ExecutionPolicy Bypass -c “$env:INSTALLER_DOWNLOAD_URL=‘https://wheelnext.astral.sh’; irm https://astral.sh/uv/install.ps1 | iex
-
[API-Unstable] Inductor CUTLASS 백엔드 공식 통합 :
- NVIDIA GEMM 템플릿 커널을 Inductor 백엔드로 활용
- 최대 16%까지 성능 향상 확인 (triton 대비)
- 상세한 내용은 PyTorch Compiler YouTube 시리즈의 이 영상에서 확인 가능
-
[API-Unstable] Inductor Graph Partition for CUDAGraph :
- CUDA 연산만 포함된 함수에서 CPU 호출 오버헤드를 줄이기 위한 CUDAGraph 최적화
- CUDAGraph 미지원 연산들을 자동 분리하여 파티셔닝하고, 가능한 부분만 CUDAGraph로 실행
- CUDAGraph 미지원 연산 예: CPU 연산, 디바이스 복사, 안전하지 않은 커스텀 연산 등
- 추론 속도 향상과 그래프 안정성 개선에 기여
-
[API-Unstable]
torch.compile계층적 컴파일 (Hierarchical Compilation) :- 중첩 컴파일 영역(
nested_compile_region) 을 표시하여 한 번만 컴파일 후 재사용 가능 - LLM의 Transformer처럼 동일한 구조가 여러 번 반복되는 모델에서 컴파일 시간 단축 가능
- 중첩 컴파일 영역(
-
[API-Unstable] 제어 흐름 연산자(Control Flow Operators) 라이브러리 :
cond,while_loop,scan등 동적 제어 흐름 내보내기/최적화 지원- 추론 성능 유지하면서 복잡한 모델 구조 표현 가능
-
[API-Unstable] HuggingFace SafeTensors 지원 :
- DCP(Distributed Checkpointing)에서 SafeTensors 저장/로드/재샤딩 지원
- SafeTensor가 사실상의 표준으로 자리잡아 DCP에서도 체크포인트 저장/로드/재샤딩 기능 지원
-
[API-Unstable] SYCL 커널 확장 지원 (Intel GPU) :
-
[API-Unstable] XPU 장치에서의 A16W4 양자화 :
- Intel GPU에서 TorchAO를 활용한 A16W4 양자화 지원
- BF16/FP16 활성화와 RTN, AWQ 양자화 방식 선택 가능
-
[API-Unstable] Intel GPU 분산 백엔드 XCCL 도입 :
- XPU 환경에서 DDP, FSDP, TP, PP 등 분산 학습 구성 지원
- allreduce, allgather, reducescatter 등 통신 연산 완전 지원
- 튜토리얼은 여기에서 확인 가능
주요 주의 사항 및 비호환 변경
-
CUDA 12.8 및 12.9 환경에서는 Maxwell, Pascal, Volta 아키텍처 지원이 제거되었습니다. sm50~sm70 GPU 사용자는 CUDA 12.6을 사용해야 합니다. (관련 이슈: #157517, #158478, #158744)
-
PyTorch 2.8이 macOS Ventura에서 GPU 가속(MPS 백엔드)을 지원하는 마지막 버전입니다. PyTorch 2.9부터는 macOS Sonoma(2023년 9월 출시) 이상이 필요합니다.
-
torch.ao.quantization모듈은 다다음 릴리즈인 PyTorch 2.10에서 제거될 예정이며, 앞으로는 새로운 양자화 프레임워크인 torchao를 사용해야 합니다. (관련 이슈: #153892) -
torch.nn.Hardshrink()등에서 지원하지 않는 dtype 입력 시 오류 유형이 RuntimeError → NotImplementedError로 변경되었습니다. (관련 이슈: #155470) -
이제 사용자 정의
autograd.Function에서 view 객체에 대한 바꿔치기(in-place) 연산이 이제 명확히 오류로 처리됩니다. (관련 이슈: #153094) -
torch.export.export_for_inference()함수는 제거되었으며,export_for_training().run_decompositions()로 대체되었습니다. (관련 이슈: #149078)
성능 및 버그 수정
-
TorchInductor 및 CUTLASS에서 다양한 GEMM 최적화가 적용되어, CPU와 GPU 모두에서 연산 성능이 개선되었습니다.
-
MPS에서 LayerNorm, SDPA, cumsum 등 다수 연산자 성능이 향상되었으며, Apple Silicon 기반 환경에서 컴파일러를 활용한 성능 개선이 가능해졌습니다.
-
torch.compile과 Inductor 관련 컴파일러 설정 및 환경변수들이 재정리되고 통합되었습니다.
-
다양한 분산 학습 구성 요소(FSDP, DDP, DTensor, NCCL 등)에서 성능 개선, 오류 방지, 통신 안정성이 강화되었습니다.
PyTorch 2.8 출시 블로그
PyTorch 2.8 릴리즈노트
이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. ![]()
파이토치 한국 사용자 모임
이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일
로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래
쪽에 좋아요
를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ ![]()

