공식 블로그 번역을 준비하다가, 시간이 걸릴 것 같아 먼저 출시 소식부터 전합니다. 자세한 출시 소식은 주말 중에 파이토치 한국어 사용자 모임 블로그를 통해 전하겠습니다.
PyTorch 2.3은 직접 정의한 Triton 커널을 torch.compile()
에서 바로 지원하여, 사용자 별도로 마이그레이션을 해야 하거나 성능 저하 경험을 하지 않도록 한 것이 주요 특징입니다. 또한, Tensor Parallelism(텐서 병렬화)의 개선을 통해 PyTorch 자체 함수들을 사용하여 LLM 학습 경험을 개선하였습니다.
이번 릴리즈는 PyTorch 2.2 이후 426명의 기여자들로부터 3,393번의 커밋을 통해 이뤄졌으며, 주요 업데이트 기능들은 다음과 같습니다:
Beta | Prototype | Performance Improvements |
---|---|---|
User-defined Triton kernels in torch.compile | torch.export adds new API to specify dynamic_shapes | Weight-Only-Quantization introduced into Inductor CPU backend |
Tensor parallelism within PyTorch Distributed | Asynchronous checkpoint generation | |
Support for semi-structured sparsity |
주요 기능
-
사용자 정의 트리톤 커널 지원: 트리톤 커널을 포함하는 PyTorch 코드를
torch.compile
을 사용해 네이티브로 실행할 수 있습니다. 이를 통해 사용자는 성능 저하 없이 코드를 마이그레이션할 수 있으며, Torch Inductor를 통한 사전 컴파일과 최적화도 가능해집니다. -
텐서 병렬 처리: 이 API는 GPU나 호스트 간의 텐서 조작을 쉽게 할 수 있게 하며, 2D 병렬 처리(텐서 병렬 처리 + 데이터 병렬 처리)를 지원합니다. 이 기능은 1000억 개 이상의 파라미터를 가진 트랜스포머 모델 훈련을 지원하는 것으로 검증되었습니다.
-
반정형 희소성:
torch.sparse.SparseSemiStructuredTensor
는 반정형 희소성을 구현하여 밀집 행렬 곱셈 대비 최대 1.6배 빠른 연산을 제공합니다.
더 읽어보기
PyTorch 2.3 Release Blog
트리톤 커널 튜토리얼 / Triton kernels tutorial
https://pytorch.org/tutorials/recipes/torch_compile_user_defined_triton_kernel_tutorial.html
텐서 병렬 처리 튜토리얼 / Tensor Parallelism tutorial
https://pytorch.org/tutorials/intermediate/TP_tutorial.html
반정형 희소 튜토리얼 / Semi-Structured Sparsity tutorial
https://pytorch.org/tutorials/advanced/semi_structured_sparse.html
파이토치 한국 사용자 모임이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)
아래쪽에 좋아요를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~