Chỉ vài tuần sau khi tích hợp hỗ trợ Windows on Arm vào GitHub để giúp lập trình viên dễ dàng xây dựng và kiểm thử phần mềm cho kiến trúc Arm, Microsoft tiếp tục công bố bước tiến quan trọng khác dành cho các nhà phát triển nhắm đến thiết bị Windows chạy chip Arm: PyTorch native giờ đã chính thức khả dụng trên nền tảng này.
PyTorch trên Windows Arm: Từ khó khăn đến đơn giản
PyTorch là framework học máy nguồn mở hàng đầu, được hàng triệu nhà nghiên cứu và lập trình viên sử dụng để xây dựng và huấn luyện mạng neural. Trước đây, việc chạy PyTorch trên thiết bị Windows dùng chip Arm rất phức tạp, đòi hỏi phải tự biên dịch từ mã nguồn – quá trình tốn thời gian và không thân thiện với người mới.
Với phiên bản PyTorch 2.7, bản dựng native cho Windows on Arm đã chính thức hỗ trợ Python 3.12. Giờ đây, lập trình viên chỉ cần cài đặt PyTorch qua trình quản lý gói thông dụng như pip.
Theo Microsoft, cải tiến này mở ra khả năng tận dụng tối đa hiệu năng kiến trúc Arm64 trên các thiết bị Windows (như Copilot+ PC) cho thử nghiệm học máy, cung cấp nền tảng mạnh mẽ để các nhà phát triển và nghiên cứu sáng tạo cũng như tinh chỉnh mô hình.
Bản dựng native này được kỳ vọng thúc đẩy việc phát triển, huấn luyện và kiểm thử mô hình học máy trực tiếp trên máy Windows chạy Arm. Microsoft nhấn mạnh các ứng dụng như phân loại ảnh, xử lý ngôn ngữ tự nhiên (NLP) và AI sinh sáng tạo (ví dụ: Stable Diffusion).
Để bắt đầu với PyTorch native trên Windows Arm, lập trình viên cần đáp ứng các yêu cầu sau:
1. Công cụ phát triển:
- Cài đặt Visual Studio Build Tools hoặc Visual Studio đầy đủ.
- Chọn workload Desktop development with C++ và tích hợp VS 2022 C++ ARM64/ARM64EC build tools (phiên bản mới nhất).
Ngôn ngữ lập trình:
- Cài đặt Rust và Python 3.12 bản Arm64.
Sau khi đáp ứng các yêu cầu trên, cài đặt PyTorch ổn định qua lệnh:
pip install --extra-index-url https://download.pytorch.org/whl torch
Để dùng bản Nightly/Preview (chứa tính năng mới nhưng kém ổn định hơn):
pip install --pre torch --index-url https://download.pytorch.org/whl/nightly/cpu
LibTorch Và Các Gói Phụ Thuộc
Ngoài gói Python, bản native của LibTorch (front-end C++ dùng để triển khai mô hình) cũng đã khả dụng. Hướng dẫn cài đặt chi tiết có trên trang web PyTorch. Microsoft khuyến nghị tạo Virtual Environment (venv) để quản lý phụ thuộc và tránh xung đột giữa các dự án.
Microsoft cung cấp ví dụ sử dụng PyTorch native cho Stable Diffusion trên Windows Arm trong kho GitHub này.
Lưu ý rằng dù PyTorch và LibTorch đã có bản native cho Arm64, một số thư viện phụ thuộc (đặc biệt những phần viết bằng C/C++/Rust) có thể chưa được biên dịch sẵn cho Arm64 trên PyPI. Trong trường hợp này, pip install sẽ tự động biên dịch từ mã nguồn nếu hệ thống đã cài đủ công cụ (như MSVC, Rust).
Ví dụ, cài đặt các gói NumPy 2.2.3 và safetensors 0.5.3 từ mã nguồn:
pip install numpy==2.2.3
pip install safetensors==0.5.3
Tương Lai Phát Triển
Việc hỗ trợ native PyTorch trên Windows Arm mở ra cánh cửa cho các ứng dụng AI hiệu năng cao trên thiết bị như Surface Pro Copilot+ PC. Đây là bước đi quan trọng giúp Windows trên Arm trở thành nền tảng lý tưởng cho học máy cục bộ.