في خطوة مهمة لمجتمع مطوري الذكاء الاصطناعي، أعلنت Hugging Face عن إضافة دعم PyTorch الأصلي لوحدات معالجة Tensor (TPUs) من Google عبر مكتبة TorchTPU الجديدة. يعني هذا أن تشغيل نماذج مثل Transformers وDiffusers وKernels على TPUs أصبح الآن عملية مباشرة وسهلة كما لو كانت TPU جهازًا آخر.
تُعد TPUs مسرّعات ذكاء اصطناعي طورتها Google خصيصًا لعمليات حساب المصفوفات التي تُشكل جوهر الشبكات العصبية. تستخدمها Google لتدريب وخدمة نماذجها الخاصة، بما في ذلك Gemini، وهي متاحة عبر Google Cloud لتقديم قوة حاسوبية هائلة لتدريب النماذج أو تقديمها على نطاق واسع.
ثورة في استخدام TPUs لمطوري PyTorch
لطالما كان استخدام PyTorch مع TPUs يتطلب جهودًا إضافية، غالبًا ما تتضمن نقل الكود إلى torch_xla أو حتى تعلم JAX. هذه الطرق كانت تأتي ببعض التعقيدات، مثل سلوك التنسورات البطيء (lazy tensors) وإعادة الترجمة المتكررة للرسوم البيانية (graph recompilations) التي تُصعّب عملية تصحيح الأخطاء. الآن، تُبسط TorchTPU هذه العملية بشكل جذري.
مع TorchTPU، يُمكن للمطورين كتابة كود PyTorch عادي وتشغيله على TPUs. يأتي هذا الدعم مع Pallas kernels مُحسَّنة لـ TPUs، ودعم للتدريب الموزع، وتكامل مع torch.compile لزيادة السرعة. كل ما يتطلبه الأمر هو أمر تثبيت بسيط مثل «pip install torch-tpu» لتبدأ بالعمل.
التكامل مع مكتبات Hugging Face الشهيرة
يعني هذا التطور أن مكتبات Hugging Face الأساسية مثل Transformers وDiffusers أصبحت الآن تدعم TPUs بشكل أصلي. يُمكنك ببساطة تحميل نموذج من Hub وتمرير «device_map=”tpu”» لتحميله وتشغيله مباشرة على TPU، مما يلغي الحاجة إلى Optimum TPU الذي كان يستخدم سابقًا.
لمطوري Diffusers، أصبحت TPU الآن جهازًا أساسيًا. يُمكنك نقل خطوط الأنابيب (pipelines) إلى TPU باستخدام «pipe.to(“tpu”)» للنماذج أو تصحيح الأخطاء، أو استخدام وضع الترجمة (compiled mode) لتحسين الأداء. حتى النماذج الكبيرة جدًا التي تتجاوز حجم شريحة واحدة يُمكن تقسيمها عبر شرائح متعددة باستخدام «TensorParallelConfig».
كما تم دمج دعم Kernels، مما يسمح بتحميل kernels مُعدة مسبقًا من Kernels Hub، والتي كُتبت بلغة Pallas للتحكم بمستوى منخفض في العتاد، أو من مكتبة Tokamax. وقد أظهرت الاختبارات تحسينات كبيرة في الأداء، مثل زيادة سرعة فك التشفير بمقدار 21.5 مرة على نموذج Qwen3-30B-A3B عند استخدام دفعة بحجم 64.
ماذا يعني هذا للمطورين؟
برأينا، يُعد هذا التحديث قفزة كبيرة لمجتمع PyTorch في العالم العربي. فمع سهولة الوصول إلى TPUs من Google، يُمكن للمطورين الآن تسخير قوة هذه المسرّعات عالية الأداء لتدريب وتقديم نماذج الذكاء الاصطناعي الكبيرة والمعقدة بكفاءة أكبر.
يُبسط TorchTPU سير العمل بشكل كبير، ويُقلل من منحنى التعلم المطلوب لاستخدام TPUs، مما يُمكن المطورين من التركيز أكثر على بناء ابتكاراتهم في مجال الذكاء الاصطناعي بدلاً من التحديات التقنية لأدوات مختلفة.
المصدر: huggingface.co