تتيح لك خطوط أنابيب TFX تنسيق سير عمل التعلم الآلي (ML) على المنسقين، مثل: Apache Airflow، وApache Beam، وKubeflow Pipelines. تنظم خطوط الأنابيب سير العمل الخاص بك في سلسلة من المكونات، حيث يقوم كل مكون بتنفيذ خطوة في سير عمل ML الخاص بك. توفر مكونات TFX القياسية وظائف مثبتة لمساعدتك على البدء في إنشاء سير عمل تعلم الآلة بسهولة. يمكنك أيضًا تضمين مكونات مخصصة في سير العمل الخاص بك. تتيح لك المكونات المخصصة توسيع سير عمل تعلم الآلة الخاص بك عن طريق:
- بناء المكونات المصممة لتلبية احتياجاتك، مثل استيعاب البيانات من نظام خاص.
- تطبيق زيادة البيانات، أو upsampling، أو downsampling.
- قم بإجراء الكشف عن الحالات الشاذة بناءً على فترات الثقة أو خطأ إعادة إنتاج جهاز التشفير التلقائي.
- التواصل مع الأنظمة الخارجية مثل مكاتب المساعدة للتنبيه والمراقبة.
- تطبيق التسميات على الأمثلة غير المسماة.
- دمج الأدوات المصممة بلغات أخرى غير Python في سير عمل تعلم الآلة لديك، مثل إجراء تحليل البيانات باستخدام R.
من خلال مزج المكونات القياسية والمكونات المخصصة، يمكنك إنشاء سير عمل ML يلبي احتياجاتك مع الاستفادة من أفضل الممارسات المضمنة في مكونات TFX القياسية.
يصف هذا الدليل المفاهيم المطلوبة لفهم مكونات TFX المخصصة، والطرق المختلفة التي يمكنك من خلالها إنشاء مكونات مخصصة.
تشريح مكون TFX
يقدم هذا القسم نظرة عامة رفيعة المستوى على تكوين مكون TFX. إذا كنت جديدًا في استخدام خطوط أنابيب TFX، فتعلم المفاهيم الأساسية من خلال قراءة الدليل لفهم خطوط أنابيب TFX .
تتكون مكونات TFX من مواصفات المكون وفئة المنفذ والتي يتم تجميعها في فئة واجهة المكون.
تحدد مواصفات المكون عقد المدخلات والمخرجات للمكون. يحدد هذا العقد عناصر الإدخال والإخراج للمكون، والمعلمات المستخدمة لتنفيذ المكون.
توفر فئة المنفذ للمكون تنفيذ العمل الذي يؤديه المكون.
تجمع فئة واجهة المكون بين مواصفات المكون والمنفذ لاستخدامه كمكون في خط أنابيب TFX.
مكونات TFX في وقت التشغيل
عندما يقوم خط أنابيب بتشغيل مكون TFX، يتم تنفيذ المكون على ثلاث مراحل:
- أولاً، يستخدم برنامج التشغيل مواصفات المكون لاسترداد العناصر المطلوبة من مخزن بيانات التعريف وتمريرها إلى المكون.
- بعد ذلك، يقوم المنفذ بتنفيذ عمل المكون.
- ثم يستخدم الناشر مواصفات المكون ونتائج المنفذ لتخزين مخرجات المكون في مخزن بيانات التعريف.
لا تتطلب معظم تطبيقات المكونات المخصصة منك تخصيص برنامج التشغيل أو الناشر. عادةً، يجب أن تكون التعديلات على برنامج التشغيل والناشر ضرورية فقط إذا كنت تريد تغيير التفاعل بين مكونات المسار الخاص بك ومخزن بيانات التعريف. إذا كنت تريد فقط تغيير المدخلات أو المخرجات أو المعلمات الخاصة بالمكون الخاص بك، فأنت تحتاج فقط إلى تعديل مواصفات المكون .
أنواع المكونات المخصصة
هناك ثلاثة أنواع من المكونات المخصصة: المكونات المستندة إلى وظيفة Python، والمكونات المستندة إلى الحاوية، والمكونات المخصصة بالكامل. تصف الأقسام التالية الأنواع المختلفة للمكونات والحالات التي يجب عليك فيها استخدام كل أسلوب.
المكونات القائمة على وظيفة بايثون
تعد المكونات المستندة إلى وظيفة Python أسهل في الإنشاء من المكونات المستندة إلى الحاوية أو المكونات المخصصة بالكامل. يتم تعريف مواصفات المكون في وسيطات وظيفة Python باستخدام التعليقات التوضيحية للنوع التي تصف ما إذا كانت الوسيطة عبارة عن قطعة أثرية إدخال، أو قطعة أثرية إخراج، أو معلمة. يحدد نص الوظيفة منفذ المكون. يتم تعريف واجهة المكون عن طريق إضافة الديكور @component
إلى وظيفتك.
من خلال تزيين وظيفتك باستخدام مصمم @component
وتحديد وسائط الوظيفة باستخدام التعليقات التوضيحية للنوع، يمكنك إنشاء مكون دون تعقيد إنشاء مواصفات المكون، والمنفذ، وواجهة المكون.
تعلم كيفية بناء مكونات تعتمد على وظائف بايثون .
المكونات القائمة على الحاويات
توفر المكونات المستندة إلى الحاوية المرونة اللازمة لدمج التعليمات البرمجية المكتوبة بأي لغة في المسار الخاص بك، طالما يمكنك تنفيذ هذه التعليمات البرمجية في حاوية Docker. لإنشاء مكون قائم على الحاوية، يجب عليك إنشاء صورة حاوية Docker تحتوي على التعليمات البرمجية القابلة للتنفيذ الخاصة بالمكون الخاص بك. ثم يجب عليك استدعاء وظيفة create_container_component
لتحديد:
- المدخلات والمخرجات والمعلمات الخاصة بمواصفات المكون الخاص بك.
- صورة الحاوية والأمر الذي يقوم بتنفيذ المكون.
تقوم هذه الوظيفة بإرجاع مثيل للمكون الذي يمكنك تضمينه في تعريف خط الأنابيب الخاص بك.
يعد هذا الأسلوب أكثر تعقيدًا من إنشاء مكون يعتمد على وظيفة بايثون، لأنه يتطلب تعبئة التعليمات البرمجية الخاصة بك كصورة حاوية. هذا الأسلوب هو الأكثر ملاءمة لتضمين تعليمات برمجية غير لغة Python في المسار الخاص بك، أو لبناء مكونات Python ذات بيئات تشغيل أو تبعيات معقدة.
تعلم كيفية بناء المكونات القائمة على الحاوية .
مكونات مخصصة بالكامل
تتيح لك المكونات المخصصة بالكامل إنشاء المكونات عن طريق تحديد مواصفات المكونات والمنفذ وفئات واجهة المكونات. يتيح لك هذا الأسلوب إعادة استخدام مكون قياسي وتوسيعه ليناسب احتياجاتك.
إذا تم تعريف مكون موجود بنفس المدخلات والمخرجات مثل المكون المخصص الذي تقوم بتطويره، فيمكنك ببساطة تجاوز فئة Executor للمكون الموجود. هذا يعني أنه يمكنك إعادة استخدام مواصفات المكون وتنفيذ منفذ تنفيذي جديد مشتق من مكون موجود. بهذه الطريقة، يمكنك إعادة استخدام الوظائف المضمنة في المكونات الموجودة وتنفيذ الوظائف المطلوبة فقط.
ومع ذلك، إذا كانت مدخلات ومخرجات المكون الجديد فريدة من نوعها، فيمكنك تحديد مواصفات مكون جديد تمامًا.
يعد هذا الأسلوب هو الأفضل لإعادة استخدام مواصفات المكونات الحالية والمنفذين.
تعرف على كيفية إنشاء مكونات مخصصة بالكامل .