ملخص
ملخص
تم تصميم هذا البرنامج التعليمي لمساعدتك على تعلم كيفية إنشاء مسارات التعلم الآلي الخاصة بك باستخدام TensorFlow Extended (TFX) وApache Airflow كمنسق. يتم تشغيله على Vertex AI Workbench، ويظهر التكامل مع TFX وTensorBoard بالإضافة إلى التفاعل مع TFX في بيئة Jupyter Lab.
ماذا ستفعل؟
سوف تتعلم كيفية إنشاء خط أنابيب ML باستخدام TFX
- خط أنابيب TFX هو رسم بياني حلقي موجه، أو "DAG". سنشير غالبًا إلى خطوط الأنابيب باسم DAGs.
- تعتبر خطوط أنابيب TFX مناسبة عندما تقوم بنشر تطبيق تعلم الآلة للإنتاج
- تعتبر خطوط أنابيب TFX مناسبة عندما تكون مجموعات البيانات كبيرة، أو قد تنمو لتصبح كبيرة
- تعتبر خطوط أنابيب TFX مناسبة عندما يكون اتساق التدريب/الخدمة مهمًا
- تعتبر خطوط أنابيب TFX مناسبة عندما تكون إدارة الإصدار للاستدلال مهمة
- تستخدم Google خطوط أنابيب TFX لإنتاج ML
يرجى الاطلاع على دليل مستخدم TFX لمعرفة المزيد.
ستتبع عملية تطوير تعلم الآلة النموذجية:
- استيعاب بياناتنا وفهمها وتنظيفها
- هندسة الميزات
- تمرين
- تحليل أداء النموذج
- ارغِ، اشطف، كرر
- جاهز للإنتاج
تدفق الهواء أباتشي لتنسيق خطوط الأنابيب
يتحمل منسقو TFX مسؤولية جدولة مكونات خط أنابيب TFX بناءً على التبعيات التي يحددها خط الأنابيب. تم تصميم TFX ليكون محمولاً في بيئات متعددة وأطر عمل التنسيق. أحد المنسقين الافتراضيين الذين يدعمهم TFX هو Apache Airflow . يوضح هذا الدرس التطبيقي استخدام Apache Airflow لتنسيق خطوط أنابيب TFX. Apache Airflow عبارة عن منصة لتأليف مسارات العمل وجدولتها ومراقبتها برمجيًا. يستخدم TFX Airflow لتأليف سير العمل كرسوم بيانية غير دورية موجهة (DAGs) للمهام. تعمل واجهة المستخدم الغنية على تسهيل تصور خطوط الأنابيب قيد التشغيل في الإنتاج ومراقبة التقدم واستكشاف المشكلات وإصلاحها عند الحاجة. يتم تعريف سير عمل Apache Airflow على أنه رمز. وهذا يجعلها أكثر قابلية للصيانة، وقابلة للإصدار، والاختبار، والتعاون. يعد Apache Airflow مناسبًا لخطوط أنابيب المعالجة المجمعة. انها خفيفة الوزن وسهلة التعلم.
في هذا المثال، سنقوم بتشغيل خط أنابيب TFX على مثيل عن طريق إعداد Airflow يدويًا.
المنسقون الافتراضيون الآخرون الذين يدعمهم TFX هم Apache Beam وKubeflow. يمكن تشغيل Apache Beam على واجهات خلفية متعددة لمعالجة البيانات (Beam Ruunners). يعد Cloud Dataflow أحد مشغلات الحزم التي يمكن استخدامها لتشغيل خطوط أنابيب TFX. يمكن استخدام Apache Beam لكل من خطوط أنابيب التدفق والمعالجة المجمعة.
Kubeflow عبارة عن منصة ML مفتوحة المصدر مخصصة لجعل عمليات نشر سير عمل التعلم الآلي (ML) على Kubernetes بسيطة ومحمولة وقابلة للتطوير. يمكن استخدام Kubeflow كمنسق لخطوط أنابيب TFFX عندما يلزم نشرها على مجموعات Kubernetes. بالإضافة إلى ذلك، يمكنك أيضًا استخدام المنسق المخصص الخاص بك لتشغيل خط أنابيب TFX.
اقرأ المزيد عن تدفق الهواء هنا .
مجموعة بيانات تاكسي شيكاغو
ستستخدم مجموعة بيانات رحلات سيارات الأجرة الصادرة عن مدينة شيكاغو.
الهدف النموذجي - التصنيف الثنائي
هل سيقدم العميل إكرامية أكثر أو أقل من 20%؟
قم بإعداد مشروع Google Cloud
قبل النقر فوق الزر "بدء المختبر"، اقرأ هذه التعليمات. يتم تحديد توقيت المختبرات ولا يمكنك إيقافها مؤقتًا. يُظهر المؤقت، الذي يبدأ عند النقر فوق Start Lab ، المدة التي ستتوفر فيها موارد Google Cloud لك.
يتيح لك هذا المختبر العملي القيام بالأنشطة المعملية بنفسك في بيئة سحابية حقيقية، وليس في بيئة محاكاة أو عرض توضيحي. ويتم ذلك من خلال إعطائك بيانات اعتماد مؤقتة جديدة تستخدمها لتسجيل الدخول والوصول إلى Google Cloud طوال مدة الدرس التطبيقي.
ما تحتاجه لإكمال هذا التمرين المعملي، تحتاج إلى:
- الوصول إلى متصفح إنترنت قياسي (يوصى باستخدام متصفح Chrome).
- حان الوقت لإكمال المختبر.
كيفية بدء المختبر الخاص بك وتسجيل الدخول إلى Google Cloud Console 1. انقر فوق الزر "بدء المختبر" . إذا كنت بحاجة إلى الدفع مقابل المختبر، فستفتح لك نافذة منبثقة لتحديد طريقة الدفع الخاصة بك. توجد على اليسار لوحة مملوءة ببيانات الاعتماد المؤقتة التي يجب عليك استخدامها في هذا الدرس التطبيقي.
- انسخ اسم المستخدم، ثم انقر فوق فتح Google Console . يقوم المختبر بتدوير الموارد، ثم يفتح علامة تبويب أخرى تعرض صفحة تسجيل الدخول .
نصيحة: افتح علامات التبويب في نوافذ منفصلة، جنبًا إلى جنب.
- في صفحة تسجيل الدخول ، الصق اسم المستخدم الذي نسخته من اللوحة اليمنى. ثم انسخ والصق كلمة المرور.
- انقر خلال الصفحات التالية:
- قبول الشروط والأحكام.
لا تقم بإضافة خيارات الاسترداد أو المصادقة الثنائية (لأن هذا حساب مؤقت).
لا تقم بالتسجيل في التجارب المجانية.
بعد لحظات قليلة، يتم فتح Cloud Console في علامة التبويب هذه.
تفعيل كلاود شل
Cloud Shell عبارة عن جهاز افتراضي محمّل بأدوات التطوير. إنه يوفر دليلًا رئيسيًا ثابتًا بسعة 5 جيجابايت ويعمل على Google Cloud. يوفر Cloud Shell إمكانية الوصول عبر سطر الأوامر إلى موارد Google Cloud الخاصة بك.
في Cloud Console، في شريط الأدوات العلوي الأيمن، انقر فوق الزر Activate 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 .
تمكين خدمات جوجل السحابية
- في 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 .
- انقر فوق فتح 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/
إلى المجلد~/airflow/
. - انسخ ملف 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
. - بالنسبة لنطاقات المصدر IPv4 ، حدد
0.0.0.0/0
- بالنسبة للبروتوكولات والمنافذ ، انقر فوق
tcp
وأدخل7000
في المربع المجاور لـtcp
- انقر فوق
Create
.
قم بتشغيل خادم تدفق الهواء من Shell الخاص بك
في نافذة Jupyter Lab Terminal، قم بالتغيير إلى الدليل الرئيسي، وقم بتشغيل أمر 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/خط الأنابيب
في المتصفح
افتح المتصفح وانتقل إلى http://
- في صفحة تسجيل الدخول، أدخل اسم المستخدم (
admin
) وكلمة المرور (admin
) اللذين اخترتهما عند تشغيل أمرairflow users create
.
يقوم Airflow بتحميل 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/
افتح Notebook.ipynb.
تابع التمرين المعملي في دفتر الملاحظات، وقم بتشغيل كل خلية بالنقر فوق الزر تشغيل ( ) في أعلى الشاشة. وبدلاً من ذلك، يمكنك تنفيذ التعليمات البرمجية في خلية باستخدام SHIFT + ENTER .
اقرأ السرد وتأكد من فهمك لما يحدث في كل خلية.