جوجل وميتا تطلقان TorchTPU لتشغيل PyTorch أصليًا على وحدات TPU
يُستخدم الواجهة الخلفية مفتوحة المصدر، التي بدأ العمل عليها في جوجل منتصف عام 2025 مع فريق PyTorch في ميتا، في بيئة الإنتاج لدى بعض أكبر عملاء Google Cloud، بحسب فريقها.
رسم توضيحي بالذكاء الاصطناعيأطلقت جوجل وميتا TorchTPU، وهي واجهة خلفية مفتوحة المصدر تتيح تشغيل PyTorch أصليًا على رقائق TPU من جوجل. وقال فريق المشروع إنه بدأ في جوجل منتصف عام 2025 بالتعاون مع فريق PyTorch في ميتا، وإنه قيد التطوير النشط.
بحسب الفريق، يُستخدم TorchTPU بالفعل في بيئة الإنتاج لأحمال الاستدلال والتدريب لدى بعض أكبر عملاء Google Cloud. وأشار الفريق إلى أن وحدات TPU ارتبطت تاريخيًا ببيئتي TensorFlow وJAX.
ووصف الفريق TorchTPU بأنه قطيعة مع المحاولات السابقة. فقد أصدرت جوجل في عام 2020 PyTorch/XLA، وهو أول إصدار مُجمَّع من PyTorch لوحدات TPU يعتمد على Lazy Tensors. وقال الفريق إن ذلك التكامل تطلّب تغييرات تدخلية في الشيفرة المصدرية، وعانى من زمن انتقال شديد أثناء التجميع، ولم يدعم وضع التنفيذ الفوري في PyTorch، وتأخر في دعم ميزات الحوسبة الموزعة الأحدث. أما TorchTPU فيعدّ التنفيذ الفوري أولوية قصوى ولا يعتمد على JAX في بيئة تشغيله.
والهدف المعلن هو ألا يتطلب نقل حمل العمل إلى TPU أكثر من تبديل الجهاز المستهدف في الشيفرة من GPU إلى TPU. وحذّر الفريق من أن هذا التغيير وحده لن يحقق أقصى أداء لـ TPU، لأن أشكال النموذج وعمليات التجزئة والعمليات فيه قد تكون مضبوطة لوحدات GPU، لكنه قال إن النموذج يجب أن يعمل مباشرةً دون إعداد إضافي.
وقال الفريق إن المشروع أنجز حتى الآن ما يلي:
- أضاف دعم الوضعين الفوري والمُجمَّع، بما في ذلك وضع فوري جديد يسمى DeferAndFuse؛
- أضاف دعم نحو 450 عملية من عمليات ATen؛
- فعّل النوى المخصصة المكتوبة عبر JAX/Pallas ولغة Helion DSL؛
- تحقق من التشغيل المباشر دون إعداد إضافي على أكثر 5,000 نموذج تنزيلًا على Hugging Face؛
- تحقق من التكامل مع vLLM وSGLang وTorchTitan وRay وTorchRec.
وذكر الفريق أيضًا بعض القيود. فلا يمكن لأكثر من عملية واحدة في فضاء المستخدم الوصول إلى جهاز TPU، ولذلك لا يمكن دعم التشغيل المشترك للتعلم المعزز مباشرةً، وقال الفريق إنه يبحث عن طرق للالتفاف على ذلك. كما يضيف دعمًا للديناميكية المحدودة، لأن المُجمِّع ووقت التشغيل الأساسيين يفترضان أن أشكال الموترات معروفة وقت التجميع.
أما في الدقة، فيعتمد TorchTPU افتراضيًا وضعًا متوسطًا يجري الضرب بصيغة bfloat16 ويجمّع بصيغة FP32. وتستعيد الأوضاع الأعلى مزيدًا من دقة FP32 بتكلفة حوسبة أعلى بنحو 3 أضعاف أو نحو 6 أضعاف، ويوصي الفريق بالوضع الافتراضي لمعظم أحمال التعلم العميق.