Nhân sự kiện PyTorch Conference 2026, Google Cloud thông báo TorchTPU, dự án phát triển cùng đội PyTorch của Meta, đã được mở mã nguồn trên GitHub. Theo Google, từ nay TPU là một lựa chọn thiết bị gốc của PyTorch, ngang hàng với GPU và CPU, và mã hiện có gần như không cần sửa vẫn chạy được.
Thông báo do Mark Lohmeyer, Phó chủ tịch phụ trách AI và hạ tầng điện toán của Google Cloud, cùng Bill Jia, Phó chủ tịch kỹ thuật, ký tên. Kho mã nằm trong tổ chức google-pytorch; các backend vLLM và SGLang đi kèm được đặt trong tổ chức của từng dự án.
Mở mã nguồn một lần, kết nối cả loạt framework
TorchTPU hỗ trợ gỡ lỗi ở chế độ eager, đồng thời có thể dùng torch.compile để tăng mức sử dụng TPU và giảm chi phí bộ nhớ. Nhiều dự án thượng nguồn và hạ nguồn được tích hợp ngay trong cùng ngày:
- Suy luận: vLLM và SGLang mỗi bên có một backend PyTorch gốc. Bên trước hỗ trợ xử lý theo lô liên tục, lượng tử hóa và song song đa chip; bên sau dùng RadixAttention để tái sử dụng KV cache. llm-d 1.0, phát hành cùng Red Hat và IBM, đảm nhiệm định tuyến nhận biết bộ đệm tiền tố cũng như tách biệt giai đoạn prefill và decode.
- Huấn luyện: TorchTitan đã xác minh các mô hình như Llama 3 70B/405B, Qwen 3 8B/32B, Qwen 3 235B (MoE) và FLUX.1 12B; framework học tăng cường VeRL đã gộp backend TPU và công thức tham chiếu GRPO, hiện ở dạng bản xem trước.
- Hệ sinh thái: Hugging Face Transformers v5 tải mô hình lên TPU chỉ với một dòng
device_map="tpu", đồng thời có hệ thống tích hợp liên tục TPU chạy hằng đêm cho Transformers; Ray có thể ghép CPU, GPU và TPU vào cùng một quy trình.
Google đưa ra hai nhóm số liệu hiệu năng. TorchTitan đạt 52% MFU trên Qwen 3 8B và mở rộng gần tuyến tính trên tối đa 8192 chip Ironwood (TPU v7x). Đối tác Zenteiq dùng llm-d kết hợp GKE, sản lượng sinh mỗi ngày trên mỗi 1000 chip TPU v6e tăng từ 1,47 tỷ lên 5,97 tỷ token, tức tăng hơn 4 lần. Cả hai nhóm đều do Google hoặc đối tác tự đo, thông báo không kèm cấu hình tái lập đầy đủ.
Vì sao Meta lên tiếng ủng hộ
Jana van Greunen, giám đốc kỹ thuật PyTorch của Meta, có một phát biểu trong thông báo:
"We cannot be constrained by a single hardware architecture."
Chúng tôi không thể bị ràng buộc vào một kiến trúc phần cứng duy nhất.
Bà cho biết TorchTPU đã hỗ trợ các "kịch bản sản xuất then chốt" trong mô hình lớn, quảng cáo và hệ thống đề xuất của Meta. Meta dùng bao nhiêu TPU và chiếm bao nhiêu phần năng lực tính toán của Meta thì lần này không được công bố. Hugging Face, Inferact (đơn vị đứng sau vLLM) và RadixArk (đơn vị đứng sau SGLang) cũng đều có phát biểu, và đều xoay quanh "sự đa dạng phần cứng".
Cùng tuần, AWS cũng đưa ra một phiên bản
Đặt TorchTPU cạnh TorchNeuron mà AWS công bố một ngày trước đó, có thể thấy hai hãng đi cùng một hướng. TorchNeuron là backend PyTorch gốc cho Trainium, mã nguồn mở theo Apache 2.0, bản Beta công khai từ ngày 20 tháng 10, hỗ trợ Trainium2 và Trainium3; người dùng chỉ cần .to('neuron'). Dự án này cũng lấy Transformers v5 và TorchTitan làm điểm nhấn, và vị giám đốc kỹ thuật PyTorch của Meta nói trên cũng viết lời giới thiệu cho AWS.
Khác biệt nằm ở chi tiết. AWS công bố cách thử nghiệm: dùng 100.000 mô hình Hugging Face để thử mù, chạy bộ kiểm thử thượng nguồn của PyTorch cho khoảng 154.000 kết quả, trong đó khoảng 39.000 mục do Neuron chủ động bỏ qua, gồm các tính năng phiên bản đầu chưa hỗ trợ như tensor thưa và hình dạng động. Phía Google chỉ liệt kê danh sách được hỗ trợ; toán tử nào quay về CPU, tính năng nào còn thiếu thì thông báo không có mô tả ở mức chi tiết tương đương.
Cả hai hãng đều dựa vào các giao diện độc lập thiết bị mà cộng đồng PyTorch xây dựng những năm gần đây, chẳng hạn điểm mở rộng PrivateUse1 và torch.accelerator. Trước đây, người dùng PyTorch muốn chạy trên TPU chủ yếu phải qua PyTorch/XLA, chuyển đổi bằng trình biên dịch XLA, và trải nghiệm gỡ lỗi luôn bị chê. Nay chuyển sang backend gốc, ngưỡng di chuyển hạ từ "sửa mã" xuống "đổi tên thiết bị".
Với nhà phát triển, phép thử thực tế nhất là những mô hình không nằm trong danh sách xác minh chính thức. Tài liệu TorchTPU chỉ ghi các đời TPU v6e và Ironwood; các thế hệ cũ hơn có dùng được hay không, hiệu năng ra sao thì Google chưa cho biết. Plugin TPU agent đi kèm cũng vẫn ở giai đoạn xem trước sớm.
Nguồn tham khảo: blog chính thức của Google Cloud, blog chính thức của PyTorch (thông báo TorchNeuron), CocoLoop, kho GitHub của TorchTPU; các số liệu MFU và thông lượng theo phương pháp tự đo của Google và đối tác.