PyTorch 2.15 ra mắt ngày 28/10/2026 với 3.117 commit từ 583 contributor kể từ bản 2.14. Thay đổi lớn nhất là backend NCCL viết lại trở thành mặc định cho mọi process group nccl khi huấn luyện đa GPU, kèm flight recorder ghi trạng thái khi collective bị treo. Bản này hỗ trợ Python 3.11 đến 3.15, đưa torch.compile lên Python 3.15, đồng thời ngừng hỗ trợ Python 3.10 và macOS 14 cho MPS.

Nếu bạn huấn luyện mô hình trên nhiều GPU hoặc chạy suy luận LLM, đây là bản đáng đọc kỹ trước khi nâng cấp, vì phần lớn thay đổi nằm ở hạ tầng phân tán và suy luận.

Huấn luyện đa GPU: NCCL mới làm mặc định

Ở bản 2.14, backend NCCL viết lại (chuyển từ torchcomms) mới chỉ là tùy chọn nccl2. Sang 2.15, mọi job dùng backend nccl đều chạy trên backend mới. Đi kèm là flight recorder: khi một collective bị treo, nó ghi post-mortem ra đĩa từ mọi rank, giúp bạn biết mỗi rank đang làm gì lúc treo thay vì tái hiện lỗi bằng tay.

Nếu backend mới gây lỗi, bạn có đường lui: đặt TORCH_DIST_USE_NCCL2=0 hoặc dùng tên backend nccl-legacy.

FSDP2 và pipeline: kiểm soát chính xác hơn

FSDP2 cho phép giữ các tham số nhạy cảm — ví dụ router gate của MoE hay trọng số norm — ở fp32 trong khi phần còn lại huấn luyện bằng bf16. Độ chính xác gradient cũng đặt được theo từng tham số. Pipeline song song được siết bộ nhớ: buffer nhận chỉ cấp phát ngay trước mỗi lần nhận, output forward giải phóng ngay khi gửi xong.

Suy luận nhanh hơn: Blackwell và Apple Silicon

Với giải mã 4-bit NVFP4 trên GPU NVIDIA Blackwell, NVGEMM giờ gộp hệ số dequantization vào trong GEMM, bỏ một lần gọi kernel riêng cho mỗi layer khi decode. Trên Apple Silicon, MPS hỗ trợ float8_e4m3fn và _scaled_mm, thêm API stream công khai torch.mps.Stream mô phỏng theo CUDA. Kernel grouped_mm mới giúp throughput giải mã MoE trên M3 Ultra tăng 1,32–1,34 lần, còn phép QR ma trận 512 x 512 giảm từ khoảng 7 giây xuống 1,5 mili giây.

Nền tảng và điểm cần lưu ý khi nâng cấp

Wheel mặc định chuyển sang CUDA 13.2, song song có wheel CUDA 13.4 với hỗ trợ thử nghiệm GPU NVIDIA Rubin. Bản này thêm wheel ROCm 10.0, với ROCm được cài dưới dạng dependency pip thay vì đóng gói sẵn thư viện. Hai điểm dừng hỗ trợ cần kiểm tra trước: Python 3.10 không còn wheel hay test CI, và MPS yêu cầu macOS 15 trở lên.

Điều này có ý nghĩa gì với bạn

Với đa số lập trình viên Python, tin vui nhất là torch.compile cuối cùng cũng theo kịp Python 3.15, xóa rào cản từng khiến nhiều người chần chừ nâng cấp interpreter. Nếu bạn huấn luyện đa GPU, hãy nâng cấp ở staging trước và ghi nhớ đường lui TORCH_DIST_USE_NCCL2=0. Còn nếu bạn chỉ suy luận trên máy Mac Apple Silicon hoặc GPU Blackwell, bản này cho tốc độ decode tốt hơn mà gần như không cần đổi code.

Bài viết liên quan

Câu hỏi thường gặp

PyTorch 2.15 hỗ trợ Python nào?

Từ Python 3.11 đến 3.15, gồm cả bản free-threaded 3.14t và 3.15t. Python 3.10 không còn wheel hay test CI.

Backend NCCL mới có bắt buộc không?

Không. Nó là mặc định cho mọi process group nccl, nhưng bạn quay lại backend cũ bằng TORCH_DIST_USE_NCCL2=0 hoặc tên backend nccl-legacy.

Có nên nâng cấp lên PyTorch 2.15 ngay không?

Nếu bạn dùng Python 3.15, cần torch.compile, hoặc chạy đa GPU thì nên nâng cấp sau khi test ở staging. Nếu bạn còn ở Python 3.10 hoặc macOS 14 với MPS, hãy nâng cấp runtime trước.

💬 Tin này ảnh hưởng tới dự án của bạn thế nào? Chia sẻ góc nhìn của bạn trong phần bình luận — mình đọc hết và sẽ tổng hợp những ý hay nhất.

Nguồn tham khảo