نظرة عامة على حديقة النموذجية

يوفر TensorFlow Model Garden تطبيقات للعديد من نماذج التعلم الآلي الحديثة (ML) للرؤية ومعالجة اللغة الطبيعية (NLP) ، بالإضافة إلى أدوات سير العمل للسماح لك بتكوين وتشغيل هذه النماذج بسرعة على مجموعات البيانات القياسية. سواء كنت تتطلع إلى قياس الأداء لنموذج مشهور ، أو التحقق من نتائج البحث الذي تم إصداره مؤخرًا ، أو توسيع النماذج الحالية ، يمكن أن تساعدك Model Garden في دفع أبحاثك وتطبيقاتك إلى الأمام.

يتضمن Model Garden الموارد التالية لمطوري التعلم الآلي:

تم تصميم هذه الموارد لاستخدامها مع إطار عمل TensorFlow Core ودمجها مع مشروعات تطوير TensorFlow الحالية. يتم توفير موارد Model Garden أيضًا بموجب ترخيص مفتوح المصدر ، بحيث يمكنك توسيع النماذج والأدوات وتوزيعها بحرية.

نماذج ML العملية مكثفة من الناحية الحسابية للتدريب والتشغيل ، وقد تتطلب مسرعات مثل وحدات المعالجة الرسومية (GPUs) ووحدات معالجة Tensor (TPUs). تم تدريب معظم النماذج في Model Garden على مجموعات بيانات كبيرة باستخدام TPU. ومع ذلك ، يمكنك أيضًا تدريب وتشغيل هذه النماذج على معالجات GPU و CPU.

نماذج الحدائق

تتضمن نماذج التعلم الآلي في Model Garden تعليمات برمجية كاملة حتى تتمكن من اختبارها أو تدريبها أو إعادة تدريبها على البحث والتجريب. يتضمن Model Garden فئتين أساسيتين من النماذج: النماذج الرسمية ونماذج البحث .

النماذج الرسمية

مستودع النماذج الرسمية عبارة عن مجموعة من أحدث النماذج ، مع التركيز على الرؤية ومعالجة اللغة الطبيعية (NLP). يتم تنفيذ هذه النماذج باستخدام واجهات برمجة التطبيقات عالية المستوى TensorFlow 2.x الحالية. تم تحسين مكتبات النماذج في هذا المستودع للحصول على أداء سريع ويتم صيانتها بنشاط بواسطة مهندسي Google. تتضمن النماذج الرسمية بيانات وصفية إضافية يمكنك استخدامها لتكوين التجارب بسرعة باستخدام إطار تجربة تدريب Model Garden.

نماذج البحث

مستودع نماذج البحث عبارة عن مجموعة من النماذج المنشورة كمصادر رمز لأوراق البحث. يتم تنفيذ هذه النماذج باستخدام TensorFlow 1.x و 2.x. المكتبات النموذجية في مجلد البحث مدعومة من قبل مالكي الأكواد ومجتمع البحث.

إطار التجربة التدريبية

يتيح لك إطار تجربة تدريب Model Garden إمكانية تجميع التجارب التدريبية وتشغيلها بسرعة باستخدام النماذج الرسمية ومجموعات البيانات القياسية. يستخدم إطار العمل التدريبي بيانات وصفية إضافية مضمنة في النماذج الرسمية لـ Model Garden للسماح لك بتكوين النماذج بسرعة باستخدام نموذج برمجة تعريفي. يمكنك تحديد تجربة تدريب باستخدام أوامر Python في مكتبة TensorFlow Model أو تكوين التدريب باستخدام ملف تكوين YAML ، مثل هذا المثال .

يستخدم إطار عمل التدريب tfm.core.base_trainer.ExperimentConfig ككائن تكوين ، والذي يحتوي على كائنات التكوين ذات المستوى الأعلى التالية:

  • runtime : يحدد أجهزة المعالجة واستراتيجية التوزيع وتحسينات الأداء الأخرى
  • task : يحدد النموذج وبيانات التدريب والخسائر والتهيئة
  • trainer : يحدد المحسن وحلقات التدريب وحلقات التقييم والملخصات ونقاط التفتيش

للحصول على مثال كامل باستخدام إطار تجربة تدريب Model Garden ، راجع تصنيف الصورة باستخدام البرنامج التعليمي Model Garden . للحصول على معلومات حول إطار عمل تجربة التدريب ، تحقق من وثائق TensorFlow Models API . إذا كنت تبحث عن حل لإدارة حلقات التدريب لتجارب التدريب النموذجية الخاصة بك ، فتحقق من Orbit .

عمليات ML المتخصصة

يحتوي Model Garden على العديد من عمليات الرؤية والعمليات اللغوية العصبية المصممة خصيصًا لتنفيذ أحدث النماذج التي تعمل بكفاءة على وحدات معالجة الرسومات (GPU) و (TPU). راجع مستندات واجهة برمجة تطبيقات مكتبة TensorFlow Models Vision للحصول على قائمة بعمليات الرؤية المتخصصة. راجع مستندات TensorFlow Models NLP Library API للحصول على قائمة بعمليات البرمجة اللغوية العصبية . تتضمن هذه المكتبات أيضًا وظائف مساعدة إضافية تُستخدم لمعالجة بيانات الرؤية و البرمجة اللغوية العصبية ، والتدريب ، وتنفيذ النموذج.

حلقات التدريب مع Orbit

أداة Orbit عبارة عن مكتبة مرنة وخفيفة الوزن مصممة لتسهيل كتابة حلقات تدريب مخصصة في TensorFlow 2.x ، وتعمل بشكل جيد مع إطار تجربة تدريب Model Garden. يتعامل Orbit مع مهام التدريب النموذجية الشائعة مثل حفظ نقاط التحقق وتشغيل تقييمات النماذج وإعداد كتابة الملخص. يتكامل بسلاسة مع tf.distribute ويدعم التشغيل على أنواع مختلفة من الأجهزة ، بما في ذلك وحدة المعالجة المركزية ووحدة معالجة الرسومات وأجهزة TPU. أداة Orbit هي أيضًا مفتوحة المصدر ، لذا يمكنك التوسع والتكيف مع احتياجات التدريب الخاصة بنموذجك.

تقوم عمومًا بتدريب نماذج TensorFlow عن طريق كتابة حلقة تدريب مخصصة ، أو باستخدام وظيفة Keras Model.fit عالية المستوى. بالنسبة للنماذج البسيطة ، يمكنك تحديد حلقة تدريب مخصصة وإدارتها باستخدام أساليب TensorFlow منخفضة المستوى مثل tf.GradientTape أو tf.function . بدلاً من ذلك ، يمكنك استخدام Keras Model.fit عالي المستوى.

ومع ذلك ، إذا كان نموذجك معقدًا وكانت حلقة التدريب الخاصة بك تتطلب تحكمًا أو تخصيصًا أكثر مرونة ، فيجب عليك استخدام Orbit. يمكنك تحديد معظم حلقة التدريب الخاصة بك عن طريق orbit.AbstractTrainer أو orbit.StandardTrainer class. تعرف على المزيد حول أداة Orbit في وثائق Orbit API .