يمكن تشغيل نماذج مكتبة Transformers على شرائح Trainium من AWS بفضل TorchNeuron، وهو واجهة خلفية أصلية لـ PyTorch، مكتبة التعلم الآلي مفتوحة المصدر. يبقى السؤال هو أي منها يعمل بالفعل. يجيب Space torch-neuronx model support، الذي نشره Hugging Face، على هذا السؤال لأكثر النماذج شيوعًا على Hub.
البحث عن نموذج
يبدأ Space بعرض Selected، وهو اختيار للنماذج المختارة من بين الأكثر تنزيلًا والأكثر رواجًا على Hub. يشير كل سطر إلى نتيجة الاختبار، وعدد نوى Trainium التي تم توزيع النموذج عليها، والمدة الإجمالية للتشغيل بما في ذلك التجميع، والذاكرة القصوى المستخدمة على الجهاز.
للبحث عن نموذج محدد، يكفي الانتقال إلى عرضي Trending أو Downloads وإدخال جزء من اسمه. تتبع هذان العرضان تصنيف Hub، مهمة بمهمة، سواء تم اختبار النموذج أم لا. عندما يتم استبعاد نموذج، يوضح Space السبب: في أغلب الأحيان، لم يكن ذا أولوية، وأحيانًا يكون غير متوافق فعليًا. يمكن للمستخدم أيضًا اختيار إصدارات المترجم Neuron (neuronx-cc) و Transformers لفحصها.
حاليًا، يتم اختبار نماذج Transformers فقط، ويقتصر الاختيار على مهام توليد النص ومن نص-صورة إلى نص. تخطط الفريق لتوسيع النظام ليشمل diffusers و sentence transformers ومهام Transformers الأخرى.
تشغيل نموذج بنفسك
عند اختيار نموذج، ترى حزمة البرامج Neuron التي تم اختباره عليها، والحزم المطلوب تثبيتها، والنص البرمجي run.py المستخدم أثناء الاختبار. يقوم هذا النص البرمجي بتحميل النموذج باستخدام from_pretrained، ويوزعه على عدة نوى إذا لزم الأمر، ثم يولد نصًا باستخدام ذاكرة تخزين مؤقت ثابتة و torch.compile(backend= »neuron »).
على نسخة trn2 مزودة بنفس الحزمة البرمجية، على سبيل المثال في AWS Neuron Deep Learning Container، يكفي تثبيت الحزم ثم تشغيل python3 run.py. لا حاجة إلى torchrun، فالنص البرمجي يطلق عمليات التوزيع بنفسه عندما يتم توزيع النموذج. يبدأ التنفيذ الأول بتجميع رسوم النموذج البيانية. للاستغناء عن ذلك، يمكن نسخ الرسوم البيانية المنتجة أثناء الاختبار من bucket العام NEFF cache، باستخدام الأمر المقدم من Space، الذي يأخذ في الاعتبار إصدار المترجم.
ماذا يعني « يعمل »
يحمِّل كل اختبار النموذج على نسخة trn2، موزعًا على أقل عدد من نوى Trainium قادرة على استيعاب أوزانه. تستخدم معظم النماذج توازي الموترات، الذي يقسم الحسابات بين عدة نوى. النماذذ ذات الخبراء المختلطة، دون خطة لتوازي الموترات، تستخدم فقط توازي الخبراء. يولد الاختبار بعد ذلك 32 رمزًا، أي وحدات نصية، ويتحقق منها. على نواة واحدة، تتم مقارنة هذه الرموز بتلك الناتجة عن تنفيذ على وحدة المعالجة المركزية لنفس نقطة التحقق. عندما يتم توزيع النموذج، يقوم نموذج حكم صغير بالتحقق من أن النص هو إنجليزية سليمة.
يتم اختبار النماذج التي تتسع على أربعة أجهزة Trainium2 فقط، أي بحد أقصى ستة عشر نواة. لا تشير نتيجة PASS إلى أي شيء عن معدل الإنتاجية أو التوليدات الأطول.
جميع النتائج تأتي من مجموعة البيانات العامة aws-neuron/torch-neuronx-model-support، التي تحتوي على ملف Parquet لكل زوج من إصدارات neuronx-cc والمكتبة. يعطي كل سطر نتيجة نموذج، والخطأ المحتمل، وإصدارات الحزمة البرمجية، و run.py الذي تم تنفيذه. يمكن الاستعلام عنها مباشرة باستخدام pandas، على سبيل المثال للنموذج Qwen/Qwen3-0.6B. توضح ورقة مجموعة البيانات المعنى الدقيق لكل نتيجة.
