Google dan Meta merilis TorchTPU untuk menjalankan PyTorch secara native di TPU
Backend open source yang dimulai di Google pada pertengahan 2025 bersama Tim PyTorch Meta ini sudah digunakan di lingkungan produksi oleh sejumlah pelanggan terbesar Google Cloud, kata timnya.
Ilustrasi AIGoogle dan Meta memperkenalkan TorchTPU, backend open source yang memungkinkan PyTorch berjalan secara native di chip TPU Google. Tim proyek menyatakan proyek ini dimulai di Google pada pertengahan 2025 bekerja sama dengan Tim PyTorch di Meta, dan masih dalam pengembangan aktif.
Menurut tim, TorchTPU sudah digunakan di lingkungan produksi untuk beban kerja inferensi dan pelatihan oleh sejumlah pelanggan terbesar Google Cloud. Tim mencatat bahwa TPU secara historis terikat pada ekosistem TensorFlow dan JAX.
Tim menggambarkan TorchTPU sebagai terobosan dari upaya-upaya sebelumnya. Google merilis PyTorch/XLA, versi PyTorch terkompilasi pertama untuk TPU berbasis Lazy Tensors, pada 2020. Menurut tim, integrasi itu memerlukan perubahan invasif pada kode sumber, mengalami latensi waktu kompilasi yang parah, tidak mendukung mode eager execution PyTorch, dan tertinggal dalam fitur komputasi terdistribusi yang lebih baru. Sebaliknya, TorchTPU menjadikan eager execution sebagai prioritas utama dan tidak memiliki dependensi JAX di runtime-nya.
Tujuan yang dinyatakan adalah agar memindahkan beban kerja ke TPU hanya memerlukan sedikit lebih dari mengganti perangkat target dari GPU ke TPU di dalam kode. Tim mengingatkan bahwa perubahan itu saja tidak akan menghasilkan performa puncak TPU, karena shape, sharding, dan operasi suatu model mungkin disetel untuk GPU, tetapi model tersebut tetap seharusnya langsung berjalan tanpa penyesuaian.
Sejauh ini, kata tim, proyek ini telah:
- menambahkan dukungan untuk mode eager dan terkompilasi, termasuk mode eager baru bernama DeferAndFuse;
- menambahkan dukungan untuk sekitar 450 operasi ATen;
- mengaktifkan kernel kustom yang ditulis melalui JAX/Pallas dan Helion DSL;
- memvalidasi eksekusi langsung tanpa penyesuaian pada 5,000 model Hugging Face yang paling banyak diunduh;
- memvalidasi integrasi dengan vLLM, SGLang, TorchTitan, Ray, dan TorchRec.
Tim juga menyebutkan keterbatasan. Perangkat TPU hanya dapat diakses oleh satu proses user-space, sehingga kolokasi reinforcement learning tidak dapat didukung langsung, dan tim menyatakan sedang mencari cara untuk mengatasinya. Tim juga menambahkan dukungan untuk dinamisme terbatas, karena kompiler dan runtime yang mendasarinya mengasumsikan shape tensor diketahui saat kompilasi.
Soal presisi, TorchTPU secara default menggunakan mode menengah yang mengalikan dalam bfloat16 dan mengakumulasi dalam FP32. Mode yang lebih tinggi memulihkan lebih banyak presisi FP32 dengan biaya komputasi sekitar 3 kali atau sekitar 6 kali lipat, dan tim merekomendasikan mode default untuk sebagian besar beban kerja deep learning.