PyTorch 2.14 출시, nccl2 백엔드·애플 실리콘 선형대수 지원

3분 PyTorch분산학습Apple SiliconGPU
최근 30일 조회수 — 좋아요 —

핵심 요약

PyTorch 2.14가 NCCL 외 통신 백엔드 nccl2와 애플 실리콘용 네이티브 선형대수 연산을 추가해 정식 출시됐다.

PyTorch 2.14 정식 버전이 나왔다. PyTorch 블로그에 따르면 이번 릴리스는 2.13 이후 487명의 기여자가 쌓은 2,995건의 커밋으로 구성됐고, 핵심은 두 가지로 요약된다. NCCL 외 통신 백엔드를 정식으로 들여온 것, 그리고 애플 실리콘(Apple Silicon)에 선형대수 연산을 네이티브로 얹은 것이다.

분산 학습 쪽 변화의 중심은 nccl2 백엔드다. 이는 대규모 클러스터 학습을 위해 2.13에서 도입됐던 torchcomms 프로젝트를 in-tree로 포팅한 것으로, PyTorch Distributed의 전체 컬렉티브 계약(collective contract)을 구현하면서 논블로킹(nonblocking) 통신자와 즉시 통신자 분할(eager communicator splitting) 기능을 함께 넣었다. 이와 맞물려 내결함성(fault tolerance)도 c10d의 핵심 개념으로 격상됐다. 프로세스 그룹을 그대로 재구성하는 기능, 한쪽에서만 접근하는 RMA(Remote Memory Access) 윈도우, 그리고 특정 백엔드가 아니라 어떤 백엔드에서도 동작하는 Flight Recorder가 추가되면서, 장애 발생 시 복구 로직을 NCCL 전용 우회책이 아니라 표준 기능으로 쓸 수 있게 됐다.

애플 실리콘 지원도 한 단계 나아갔다. 2.13에서 FlexAttention을 애플 실리콘에 올린 데 이어, 이번엔 야코비 커널(Jacobi-kernel) 기반 특이값 분해(SVD)를 비롯해 고유값 분해(eigh), QR 분해, 콜레스키 분해(Cholesky) 같은 선형대수 연산이 네이티브로 들어갔다. 이 작업과 함께 5단계 리덕션(reduction) 재작성과 MPSGraph에서 Metal 커널로의 추가 이전 작업도 진행됐다. 즉 애플 실리콘에서의 지원 범위가 어텐션 연산 하나에서 선형대수 전반으로 넓어진 흐름이다.

이 밖에도 이번 릴리스에는 CuTeDSL로 생성한 CUTLASS 커널을 인덕터(Inductor)에 붙인 NVGEMM이 새로 들어왔다. 에필로그 퓨전(epilogue fusion), 스케일드·NVFP4 GEMM, 그룹 리덕션 에필로그를 Triton, ATen과 함께 자동 튜닝하는 GEMM 백엔드로, 2.13에서 시작된 CuTeDSL 코드 경로가 완성형에 가까워진 결과라고 블로그는 설명한다. 제어 흐름 쪽에서는 torch.cond를 다중 분기로 확장한 torch.switch가 생겼고, torch.while_loop는 CUDA 그래프 안에서도 캡처할 수 있게 됐다. 동적 shape 처리는 @dynamic_spec 데코레이터로 선언적으로 다룰 수 있게 됐으며, 이 스펙은 torch.compile, torch.export, make_fx에서 공유된다.

플랫폼 지원 범위도 넓어졌다. ROCm 7.14 휠은 TheRock pip SDK로 빌드되고, 인텔 XPU는 네이티브 그래프 캡처를 지원하며, 인덕터는 엔비디아의 Rubin 아키텍처(sm_107)를 타깃으로 추가했다. 복소수 텐서에 대한 torch.compile 지원은 아직 실험적(opt-in) 단계로, 지원되는 복소수 연산을 실수·허수 계산으로 분해해 컴파일러 백엔드가 최적화할 수 있게 하는 수준이다.

PyTorch 팀은 이번 릴리스에 대한 질의응답 웨비나를 2026년 9월 17일 목요일에 열 예정이며, 10월 20~21일 새너제이에서 열리는 PyTorch Conference에서도 관련 세션을 다룰 계획이라고 밝혔다.

읽기 목록은 이 브라우저에 저장됩니다.

출처

  1. PyTorch 2.14 Release Blog — PyTorch Blog

이 글은 위 출처를 근거로 자동 생성된 뒤 발행됐습니다. 원문을 함께 확인해 주세요. 교차 보도 없이 단독 출처로 작성됐습니다.