PyTorch 2.3이 출시되었습니다 🎉

공식 블로그 번역을 준비하다가, 시간이 걸릴 것 같아 먼저 출시 소식부터 전합니다. :smiley: 자세한 출시 소식은 주말 중에 파이토치 한국어 사용자 모임 블로그를 통해 전하겠습니다. :sweat_smile:

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




:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요