الموقع الإلكتروني: https://legacyai.github.io/tf-transformers
TF Transformers: محول أسرع وأسهل على أحدث طراز في TensorFlow 2.0
تخيل أن يكون جيل الانحدار التلقائي 90x أسرع. تم تصميم TF Transformers (TensorFlow Transformers) لتسخير القوة الكاملة لـ TensorFlow 2 ، المصممة خصيصًا للهندسة المعمارية القائمة على المحولات.
يمكن تطبيق هذه النماذج على:
توليد نص GPT2 مع max_length=64 ، num_beams=3 .
tf_transformers : 31 minutes
huggingface_tf : 83 minutes
huggingface_pt : 36 minutes
huggingface_jax : 35 minutes
من 83 minutes إلى 31 minutes هو تسريع كبير. 92 % تسريع. في المتوسط ، يبلغ معدل التحويلات TF 80-90 ٪ من تطبيق TensorFlow Huggingface ، وفي معظم الحالات يكون قابلاً للمقارنة أو أسرع من Pytorch .
يمكن العثور على المزيد من المعايير في المقاييس
يتم اختبار هذا المستودع على Python 3.7+ و TensorFlow 2.7.
pip install sentencepiece
pip install tensorflow-text > = 2.7.3
pip install tqdm تثبيت tensorflow >= 2.7.0 [CPU or GPU] وفقًا لجهازك. يجب عليك تثبيت محولات TF في بيئة افتراضية. إذا لم تكن على دراية بالبيئات الظاهرية Python ، تحقق من دليل المستخدم.
أولاً ، قم بإنشاء بيئة افتراضية مع إصدار Python الذي ستستخدمه وتنشيطه.
بعد ذلك ، ستحتاج إلى تثبيت واحد على الأقل من TensorFlow. يرجى الرجوع إلى صفحة تثبيت TensorFlow ، صفحات التثبيت المتعلقة بأمر التثبيت المحدد لمنصة النظام الأساسي الخاص بك. نوصي بشدة بتثبيت [TensorFlow-Text] (https://www.tensorflow.org/text).
عند تثبيت أحد هذه الصياغة الخلفية ، يمكن تثبيت محولات TF باستخدام PIP على النحو التالي:
pip install tf-transformersgit clone https://github.com/legacyai/tf-transformers.git
pip install poetry
cd tf-transformers
poetry installTF TRANDSFORDS API بسيط للغاية وأحد الحد الأدنى.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_checkpoint ( "/tmp/gpt2_model/" ) # Save Model بالنسبة لعملية النص ، من المهم جدًا إضافة: OBJ: use_auto_regressive=True . هذا مطلوب لجميع النماذج.
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' , use_auto_regressive = True )لتسلسل حفظ وتحميل نموذج
> >> from tf_transformers . models import GPT2Model
> >> model = GPT2Model . from_pretrained ( 'gpt2' )
> >> model . save_transformers_serialized ( "/tmp/gpt2_serialized/" )
# To load a serialized models for inference in prodcution:
> >> import tensorflow as tf
> >> loaded = tf . saved_model . load ( "/tmp/gpt2_serialized/" )
> >> model = loaded . signatures [ 'serving_default' ] في TF Transforts ، اتبعنا في الغالب Functional API من Keras. جميع النماذج في tf-transformers متصلة ولديها دائمًا وظائف التالية.
إذا tf.keras.Model أو tf_transformers.core.LegacyModel ، استخدم: print(model.input) .
إذا كان tf.keras.Layer أو tf_transformers.core.LegacyLayer ، استخدم: print(model.model_inputs) .
إذا tf.keras.Model أو tf_transformers.core.LegacyModel ، استخدم: print(model.output) .
إذا كان tf.keras.Layer أو tf_transformers.core.LegacyLayer ، استخدم: print(model.model_outputs) .
لقد قمنا بتغطية البرامج التعليمية التي تغطي التدريب المسبق ، والتعاون ، والصفوف ، و QA ، و ner أكثر من ذلك بكثير.
استخدم النماذج الحديثة في الإنتاج ، مع أقل من 10 أسطر من التعليمات البرمجية.
اجعل الخبرة القائمة على الصناعة للطلاب والمجتمع مع برامج تعليمية واضحة
قم بتدريب أي نموذج على GPU ، Multi-GPU ، TPU مع tf.keras.Model.fit المذهل
تخصيص أي نماذج أو خطوط أنابيب مع تغيير كود أقل أو معدوم.
يحتوي قسم الأبحاث على رموز لتدريب نماذج مختلفة مسبقًا تتراوح من ** MLM ، T5 ، مقطع ، إلخ **. تم تصميم كل هذه البرامج النصية لتسخير القوة الكاملة لخط أنابيب TensorFlow-IO واختبارها على TPU V2 و TPU V3. من المتوقع أن تكون الأخطاء في تلك ، ولكنها بمثابة غرض لبدء أو تعديل ما قمنا به بالفعل.
لقد أجرينا بعض التجارب للضغط على قوة نماذج قاعدة ألبرت (ينطبق المفهوم على أي نماذج وفي محولات TF ، إنه خارج الصندوق.)
تتمثل الفكرة في تقليل الخسارة للمهمة المحددة في كل طبقة من طرازك وتحقق من التنبؤات في كل طبقة. وفقًا لتجاربنا ، نحن قادرون على الحصول على أفضل نموذج أصغر (بفضل ألبرت ) ، ومن الطبقة 4 فصاعداً ، نتغلب على جميع النموذج الأصغر في معيار الغراء . بواسطة Layer 6 ، حصلنا على درجة الغراء 81.0 ، والتي تبعد 4 نقاط عن Distillbert مع درجة الغراء 77 و Mobilebert Glue النتيجة 78 .
يحتوي طراز Albert على 14 مليون معلمة ، وباستخدام الطبقة 6 ، تمكنا من تسريع التأسيس بنسبة 50 ٪.
ينطبق المفهوم على جميع النماذج والمهام.
الرموز + اقرأ المزيد
من خلال تقسيم تسلسل الإدخال إلى انتباه كتلة ودمج باستخدام طبقة FFN ، أظهرنا أنه ، ستكون الآلات الأصغر قادرة على إجراء معالجة التسلسل حتى 4096 رمزًا في جهاز GPU V100 واحد. يتفوق هذا النموذج على Pegasus Base (128 million) في تلخيص PubMed على الرغم من كونه 60 million معلمة.

الرموز + اقرأ المزيد
يوفر TF Transformers حاليًا البنى التالية.
لدينا الآن صفحة يمكنك الاستشهاد بها لمكتبة TF Transformers.