ملخص
ملخص
تم تصميم هذا البرنامج التعليمي لمساعدتك على تعلم كيفية إنشاء خطوط أنابيب التعلم الآلي الخاصة بك باستخدام TensorFlow Extended (TFX) و Apache Airflow كمنسق. يتم تشغيله على Vertex AI Workbench ، ويظهر التكامل مع TFX و TensorBoard بالإضافة إلى التفاعل مع TFX في بيئة Jupyter Lab.
ماذا ستفعل؟
ستتعلم كيفية إنشاء خط أنابيب ML باستخدام TFX
- خط أنابيب TFX هو رسم بياني دوري موجه ، أو "DAG". غالبًا ما نشير إلى خطوط الأنابيب باسم DAGs.
- تكون خطوط أنابيب TFX مناسبة عندما تنشر تطبيق ML للإنتاج
- تكون خطوط أنابيب TFX مناسبة عندما تكون مجموعات البيانات كبيرة أو قد تنمو لتصبح كبيرة
- تكون خطوط أنابيب TFX مناسبة عندما يكون تناسق التدريب / الخدمة أمرًا مهمًا
- تكون خطوط أنابيب TFX مناسبة عندما تكون إدارة الإصدار للاستدلال أمرًا مهمًا
- تستخدم Google خطوط أنابيب TFX لإنتاج ML
يرجى الاطلاع على دليل مستخدم TFX لمعرفة المزيد.
ستتبع عملية تطوير نموذجية لـ ML:
- استيعاب بياناتنا وفهمها وتنظيفها
- هندسة الميزات
- تمرين
- تحليل أداء النموذج
- رغوة الصابون تكرار شطف
- جاهز للإنتاج
تدفق الهواء أباتشي لتنسيق خطوط الأنابيب
منسقو TFX مسؤولون عن جدولة مكونات خط أنابيب TFX بناءً على التبعيات التي يحددها خط الأنابيب. تم تصميم TFX ليكون محمولاً إلى بيئات متعددة وأطر عمل تنسيق. يعد Apache Airflow أحد المنظمين الافتراضيين المدعومين من TFX. يوضح هذا المعمل استخدام Apache Airflow من أجل تنسيق خطوط أنابيب TFX. Apache Airflow هو نظام أساسي لتأليف وجدولة ومراقبة سير العمل برمجيًا. يستخدم TFX تدفق الهواء لتأليف مهام سير العمل كرسوم بيانية حلقية موجّهة (DAGs) للمهام. تسهل واجهة المستخدم الثرية تصور خطوط الأنابيب قيد الإنتاج ومراقبة التقدم واستكشاف المشكلات وإصلاحها عند الحاجة. يتم تعريف تدفقات عمل Apache Airflow على أنها رمز. وهذا يجعلها أكثر قابلية للصيانة ، وقابلة للإصدار ، وقابلة للاختبار ، وتعاونية. يناسب Apache Airflow خطوط أنابيب معالجة الدُفعات. إنه خفيف الوزن وسهل التعلم.
في هذا المثال ، سنقوم بتشغيل خط أنابيب TFX على مثيل عن طريق إعداد Airflow يدويًا.
المنظمان الافتراضيان الآخران المدعومان بواسطة TFX هما Apache Beam و Kubeflow. يمكن تشغيل Apache Beam على العديد من الخلفيات الخلفية لمعالجة البيانات (Beam Ruunners). Cloud Dataflow هو أحد عداء الحزمة الذي يمكن استخدامه لتشغيل خطوط أنابيب TFX. يمكن استخدام Apache Beam لكل من خطوط أنابيب التدفق والمعالجة الدفعية.
Kubeflow عبارة عن نظام أساسي مفتوح المصدر لتعلم الآلة ومخصص لجعل عمليات نشر سير عمل التعلم الآلي (ML) على Kubernetes بسيطة ومحمولة وقابلة للتطوير. يمكن استخدام Kubeflow كمنسق لخطوط أنابيب TFFX عندما يلزم نشرها على مجموعات Kubernetes. بالإضافة إلى ذلك ، يمكنك أيضًا استخدام المنسق المخصص الخاص بك لتشغيل خط أنابيب TFX.
اقرأ المزيد عن تدفق الهواء هنا .
مجموعة بيانات تاكسي شيكاغو
ستستخدم مجموعة بيانات رحلات سيارات الأجرة الصادرة عن مدينة شيكاغو.
هدف النموذج - التصنيف الثنائي
هل سيقدم العميل إكرامية أكثر أم أقل من 20٪؟
قم بإعداد مشروع Google Cloud
قبل النقر فوق الزر "بدء المعمل" ، اقرأ هذه الإرشادات. الميزات الاختبارية موقوتة ولا يمكنك إيقافها مؤقتًا. يُظهر المؤقت ، الذي يبدأ عند النقر فوق Start Lab ، المدة التي ستتاح فيها موارد Google Cloud لك.
يتيح لك هذا المعمل العملي القيام بالأنشطة المعملية بنفسك في بيئة سحابية حقيقية ، وليس في بيئة محاكاة أو عرض. يقوم بذلك عن طريق منحك بيانات اعتماد جديدة ومؤقتة تستخدمها لتسجيل الدخول والوصول إلى Google Cloud طوال مدة المعمل.
ما تحتاجه لإكمال هذا المعمل ، أنت بحاجة إلى:
- الوصول إلى متصفح الإنترنت القياسي (يوصى بمتصفح Chrome).
- حان الوقت لإكمال المختبر.
كيفية بدء المعمل الخاص بك وتسجيل الدخول إلى Google Cloud Console 1. انقر فوق الزر Start Lab . إذا كنت بحاجة إلى الدفع للمختبر ، فسيتم فتح نافذة منبثقة لتحديد طريقة الدفع الخاصة بك. توجد لوحة على اليسار مملوءة ببيانات الاعتماد المؤقتة التي يجب عليك استخدامها لهذا التمرين المعملي.
- انسخ اسم المستخدم ، ثم انقر فوق فتح وحدة تحكم Google . يقوم المعمل بتدوير الموارد ، ثم يفتح علامة تبويب أخرى تعرض صفحة تسجيل الدخول .
نصيحة: افتح علامات التبويب في نوافذ منفصلة جنبًا إلى جنب.
- في صفحة تسجيل الدخول ، الصق اسم المستخدم الذي نسخته من اللوحة اليمنى. ثم انسخ والصق كلمة المرور.
- انقر من خلال الصفحات التالية:
- اقبل الشروط والأحكام.
لا تضف خيارات الاسترداد أو المصادقة الثنائية (لأن هذا حساب مؤقت).
لا تقم بالتسجيل في الإصدارات التجريبية المجانية.
بعد لحظات قليلة ، يتم فتح Cloud Console في علامة التبويب هذه.
قم بتنشيط Cloud Shell
Cloud Shell عبارة عن آلة افتراضية محملة بأدوات التطوير. يوفر دليلًا ثابتًا رئيسيًا بسعة 5 جيجابايت ويعمل على Google Cloud. يوفر Cloud Shell وصولاً عبر سطر الأوامر إلى موارد Google Cloud.
في Cloud Console ، في شريط الأدوات الأيمن العلوي ، انقر على زر تنشيط Cloud Shell .
انقر فوق متابعة .
يستغرق توفير البيئة والاتصال بها بضع لحظات. عندما تكون متصلاً ، تكون قد تمت مصادقتك بالفعل ، ويتم تعيين المشروع على معرف _PROJECT الخاص بك. فمثلا:
gcloud
هي أداة سطر الأوامر لـ Google Cloud. يأتي مثبتًا مسبقًا على Cloud Shell ويدعم إكمال علامات التبويب.
يمكنك سرد اسم الحساب النشط باستخدام هذا الأمر:
gcloud auth list
(انتاج)
نشط: * الحساب: student-01-xxxxxxxxxxxx@qwiklabs.net لتعيين الحساب النشط ، قم بتشغيل: $ gcloud config set account
ACCOUNT
يمكنك إدراج معرّف المشروع باستخدام هذا الأمر: gcloud config list project
(Output)
[الأساسية] المشروع =
(مثال الإخراج)
المشروع [الأساسي] = qwiklabs-gcp-44776a13dea667a6
للحصول على التوثيق الكامل لـ gcloud ، راجع نظرة عامة على أداة سطر أوامر gcloud .
قم بتمكين خدمات Google Cloud
- في Cloud Shell ، استخدم gcloud لتمكين الخدمات المستخدمة في المعمل.
gcloud services enable notebooks.googleapis.com
نشر مثيل Vertex Notebook
- انقر فوق قائمة التنقل وانتقل إلى Vertex AI ، ثم إلى Workbench .
في صفحة مثيلات دفتر الملاحظات ، انقر فوق دفتر ملاحظات جديد .
في قائمة تخصيص المثيل ، حدد TensorFlow Enterprise واختر إصدار TensorFlow Enterprise 2.x (مع LTS) > بدون وحدات معالجة الرسومات .
في مربع حوار مثيل دفتر ملاحظات جديد ، انقر فوق رمز القلم الرصاص لتحرير خصائص المثيل.
بالنسبة إلى اسم المثيل ، أدخل اسمًا للمثيل الخاص بك.
بالنسبة للمنطقة ، حدد
us-east1
، حدد منطقة داخل المنطقة المحددة.قم بالتمرير لأسفل إلى تكوين الجهاز وحدد e2-standard-2 لنوع الجهاز.
اترك الحقول المتبقية مع الإعدادات الافتراضية الخاصة بها وانقر فوق إنشاء .
بعد بضع دقائق ، ستعرض وحدة التحكم Vertex AI اسم المثيل الخاص بك ، متبوعًا بـ Open Jupyterlab .
- انقر فوق Open JupyterLab . سيتم فتح نافذة JupyterLab في علامة تبويب جديدة.
جهز البيئة
استنساخ مستودع المختبر
بعد ذلك ، ستقوم باستنساخ مستودع tfx
في مثيل JupyterLab الخاص بك. 1. في JupyterLab ، انقر فوق أيقونة Terminal لفتح محطة طرفية جديدة.
Cancel
من أجل إنشاء مستحسن.
- لاستنساخ مستودع
tfx
Github ، اكتب الأمر التالي ، واضغط على Enter .
git clone https://github.com/tensorflow/tfx.git
- لتأكيد أنك قمت بنسخ المستودع ، انقر نقرًا مزدوجًا فوق دليل
tfx
وتأكد من أنه يمكنك رؤية محتوياته.
تثبيت تبعيات المعمل
- قم بتشغيل ما يلي للانتقال إلى المجلد
tfx/tfx/examples/airflow_workshop/taxi/setup/
، ثم قم بتشغيل./setup_demo.sh
لتثبيت تبعيات المعمل:
cd ~/tfx/tfx/examples/airflow_workshop/taxi/setup/
./setup_demo.sh
سوف رمز أعلاه
- قم بتثبيت الحزم المطلوبة.
- قم بإنشاء مجلد
airflow
في المجلد الرئيسي. - انسخ مجلد
dags
منtfx/tfx/examples/airflow_workshop/taxi/setup/
folder إلى~/airflow/
folder. - انسخ ملف csv من
tfx/tfx/examples/airflow_workshop/taxi/setup/data
إلى~/airflow/data
.
تكوين خادم تدفق الهواء
قم بإنشاء قاعدة جدار الحماية للوصول إلى خادم تدفق الهواء في المتصفح
- انتقل إلى
<a href="https://console.cloud.google.com/networking/firewalls/list">https://console.cloud.google.com/networking/firewalls/list</a>
وتأكد تم اختيار اسم المشروع بشكل مناسب - انقر فوق خيار
CREATE FIREWALL RULE
في الأعلى
في مربع الحوار "إنشاء جدار حماية" ، اتبع الخطوات المذكورة أدناه.
- للاسم ، ضع
airflow-tfx
. - للأولوية ، حدد
1
. - بالنسبة للأهداف ، حدد
All instances in the network
. - بالنسبة لنطاقات Source IPv4 ، حدد
0.0.0.0/0
- بالنسبة للبروتوكولات والمنافذ ، انقر فوق
tcp
وأدخل7000
في المربع بجوارtcp
- انقر فوق
Create
.
قم بتشغيل خادم تدفق الهواء من قوقعتك
في نافذة Jupyter Lab Terminal ، قم بالتغيير إلى الدليل الرئيسي ، وقم بتشغيل الأمر airflow Users airflow users create
لإنشاء مستخدم إداري لـ Airflow:
cd
airflow users create --role Admin --username admin --email admin --firstname admin --lastname admin --password admin
ثم قم بتشغيل airflow webserver
لتدفق الهواء وأمر airflow scheduler
لتشغيل الخادم. اختر المنفذ 7000
لأنه مسموح به من خلال جدار الحماية.
nohup airflow webserver -p 7000 &> webserver.out &
nohup airflow scheduler &> scheduler.out &
احصل على عنوان IP الخارجي الخاص بك
- في Cloud Shell ، استخدم
gcloud
للحصول على IP الخارجي.
gcloud compute instances list
تشغيل DAG / Pipeline
في المتصفح
افتح متصفحًا وانتقل إلى http: //
- في صفحة تسجيل الدخول ، أدخل اسم المستخدم (
admin
) وكلمة المرور (admin
) اللذين اخترتهما عند تشغيل أمرairflow users create
.
يقوم تدفق الهواء بتحميل DAGs من ملفات مصدر Python. يأخذ كل ملف وينفذه. ثم يقوم بتحميل أي كائنات DAG من هذا الملف. سيتم سرد جميع ملفات .py
التي تحدد كائنات DAG كخطوط أنابيب في الصفحة الرئيسية لتدفق الهواء.
في هذا البرنامج التعليمي ، يقوم Airflow بمسح ~/airflow/dags/
المجلد بحثًا عن كائنات DAG.
إذا قمت بفتح ~/airflow/dags/taxi_pipeline.py
وقم بالتمرير إلى الأسفل ، يمكنك أن ترى أنه يقوم بإنشاء وتخزين كائن DAG في متغير يسمى DAG
. ومن ثم سيتم إدراجه كخط أنابيب في الصفحة الرئيسية لتدفق الهواء كما هو موضح أدناه:
إذا نقرت على سيارة أجرة ، فسيتم إعادة توجيهك إلى عرض الشبكة لـ DAG. يمكنك النقر فوق خيار Graph
في الأعلى للحصول على عرض الرسم البياني لـ DAG.
قم بتشغيل خط أنابيب سيارات الأجرة
في الصفحة الرئيسية ، يمكنك رؤية الأزرار التي يمكن استخدامها للتفاعل مع DAG.
تحت عنوان الإجراءات ، انقر فوق زر التشغيل لتشغيل خط الأنابيب.
في صفحة DAG الخاصة بسيارة الأجرة ، استخدم الزر الموجود على اليمين لتحديث حالة عرض الرسم البياني لـ DAG أثناء تشغيل خط الأنابيب. بالإضافة إلى ذلك ، يمكنك تمكين التحديث التلقائي لتوجيه Airflow لتحديث عرض الرسم البياني تلقائيًا عندما تتغير الحالة.
يمكنك أيضًا استخدام Airflow CLI في الجهاز لتمكين وتشغيل DAGs:
# enable/disable
airflow pause <your DAG name>
airflow unpause <your DAG name>
# trigger
airflow trigger_dag <your DAG name>
في انتظار اكتمال خط الأنابيب
بعد تشغيل خط الأنابيب الخاص بك ، في عرض DAGs ، يمكنك مشاهدة تقدم خط الأنابيب الخاص بك أثناء تشغيله. أثناء تشغيل كل مكون ، سيتغير لون المخطط التفصيلي للمكون في الرسم البياني DAG لإظهار حالته. عندما ينتهي أحد المكونات من معالجة المخطط التفصيلي سيتحول إلى اللون الأخضر الداكن لإظهار أنه قد تم الانتهاء منه.
فهم المكونات
سننظر الآن في مكونات خط الأنابيب هذا بالتفصيل ، وننظر بشكل فردي إلى المخرجات التي تنتجها كل خطوة في خط الأنابيب.
في JupyterLab انتقل إلى
~/tfx/tfx/examples/airflow_workshop/taxi/notebooks/
افتح دفتر الملاحظات.
تابع المعمل في دفتر الملاحظات ، وقم بتشغيل كل خلية بالنقر فوق الزر تشغيل (
) في الجزء العلوي من الشاشة. بدلاً من ذلك ، يمكنك تنفيذ التعليمات البرمجية في خلية باستخدام SHIFT + ENTER .
اقرأ السرد وتأكد من فهمك لما يحدث في كل خلية.