‫Dataflow ML בתהליכי עבודה של למידת מכונה

כדי לתזמר תהליכי עבודה מורכבים של למידת מכונה, אפשר ליצור frameworks שכוללים שלבים של עיבוד מקדים ועיבוד פוסט של נתונים. יכול להיות שתצטרכו לבצע עיבוד מוקדם של הנתונים לפני שתוכלו להשתמש בהם כדי לאמן את המודל, או לבצע עיבוד אחרי האימון כדי לשנות את הפלט של המודל.

תהליכי עבודה של למידת מכונה כוללים בדרך כלל הרבה שלבים שיוצרים יחד צינור. כדי ליצור צינור עיבוד נתונים ללמידת מכונה, אפשר להשתמש באחת מהשיטות הבאות.

  • להשתמש במסגרת תזמור שיש לה שילוב מובנה עם Apache Beam ועם Dataflow runner, כמו TensorFlow Extended ‏ (TFX) או Kubeflow Pipelines ‏ (KFP). האפשרות הזו היא הכי פשוטה.
  • יוצרים רכיב בהתאמה אישית בתבנית Dataflow ואז קוראים לתבנית מצינור ה-ML. הקריאה מכילה את קוד Apache Beam.
  • ליצור רכיב בהתאמה אישית לשימוש בצינור ה-ML ולהוסיף את קוד ה-Python ישירות לרכיב. מגדירים צינור עיבוד נתונים מותאם אישית של Apache Beam ומשתמשים ב-Dataflow runner בתוך הרכיב המותאם אישית. האפשרות הזו היא המורכבת ביותר, ונדרש ניהול של יחסי התלות בין צינורות העיבוד.

אחרי שיוצרים צינור עיבוד נתונים ללמידת מכונה, אפשר להשתמש בכלי לתזמור כדי לשרשר את הרכיבים וליצור תהליך עבודה מלא של למידת מכונה. כדי לתזמן את הרכיבים, אפשר להשתמש בשירות מנוהל, כמו Vertex AI Pipelines.

שימוש במאיצי למידת מכונה

לתהליכי עבודה של למידת מכונה שכוללים עיבוד נתונים עתיר חישובים, כמו הסקה עם מודלים גדולים, אפשר להשתמש במאיצים עם עובדי Dataflow. ‫Dataflow תומך בשימוש גם ב-GPU וגם ב-TPU.

יחידות GPU

אתם יכולים להשתמש ב-GPU של NVIDIA עם משימות Dataflow כדי להאיץ את העיבוד. ‫Dataflow תומך בסוגים שונים של מעבדי GPU של NVIDIA, כולל T4,‏ L4,‏ A100,‏ H100 ו-V100. כדי להשתמש ב-GPU, צריך להגדיר את צינור העיבוד באמצעות קובץ אימג' של קונטיינר בהתאמה אישית שבו מותקנים מנהלי ההתקנים (דרייברים) והספריות הדרושים של ה-GPU.

מידע מפורט על שימוש ביחידות GPU עם Dataflow זמין במאמר בנושא תמיכה ב-GPU ב-Dataflow.

TPUs

‫Dataflow תומך גם ב-Cloud TPU, שהם מאיצי AI ש-Google עיצבה בהתאמה אישית ואופטמזציה למודלים גדולים של AI. יחידות TPU יכולות להיות בחירה טובה להאצת עומסי עבודה של הסקת מסקנות במסגרות כמו PyTorch,‏ JAX ו-TensorFlow. ‫Dataflow תומך בהגדרות TPU של מארח יחיד, שבהן כל עובד מנהל מכשיר TPU אחד או יותר.

מידע נוסף זמין במאמר בנושא תמיכה ב-TPU ב-Dataflow.

תזמור תהליכי עבודה

בקטעים הבאים מתוארים תרחישי שימוש בתיאום תהליכי עבודה.

גם TFX וגם Kubeflow Pipelines‏ (KFP) משתמשים ברכיבי Apache Beam.

אני רוצה להשתמש ב-Dataflow עם Vertex AI Pipelines

‫Vertex AI Pipelines עוזר לכם לבצע אוטומציה, מעקב וניהול של מערכות למידת מכונה (ML) באמצעות תזמור של תהליכי העבודה של למידת המכונה באופן serverless. אתם יכולים להשתמש ב-Vertex AI Pipelines כדי לתזמן גרפים מכווני מחזורים (DAG) של תהליכי עבודה שהוגדרו על ידי TFX או KFP, ולעקוב באופן אוטומטי אחרי ארטיפקטים של למידת מכונה באמצעות Vertex ML Metadata. כדי ללמוד איך לשלב את Dataflow עם TFX ו-KFP, אפשר להיעזר במידע שבקטעים הבאים.

אני רוצה להשתמש ב-Dataflow עם Kubeflow Pipelines

‫Kubeflow היא ערכת כלים ללמידת מכונה שמיועדת להקל על פריסות של תהליכי עבודה של למידת מכונה ב-Kubernetes, כך שהן יהיו ניידות וניתנות להרחבה. ‫Kubeflow Pipelines הם תהליכי עבודה של למידת מכונה מקצה לקצה שאפשר לעשות בהם שימוש חוזר, והם מבוססים על Kubeflow Pipelines SDK.

מטרת השירות Kubeflow Pipelines היא לספק תזמור מקצה לקצה ולעזור בביצוע ניסויים ובשימוש חוזר. עם KFP, אפשר להתנסות בטכניקות של תזמור ולנהל את הבדיקות, וגם לעשות שימוש חוזר ברכיבים ובצינורות כדי ליצור כמה פתרונות מקצה לקצה בלי להתחיל מחדש בכל פעם.

כשמשתמשים ב-Dataflow עם KFP, אפשר להשתמש באופרטור DataflowPythonJobOP או באופרטור DataflowFlexTemplateJobOp. אפשר גם ליצור רכיב בהתאמה אישית מלאה. מומלץ להשתמש באופרטור DataflowPythonJobOP.

אם רוצים ליצור רכיב בהתאמה אישית מלאה, אפשר לעיין בדף רכיבי Dataflow במסמכי Vertex AI.

אני רוצה להשתמש ב-Dataflow עם TFX

רכיבי צינור עיבוד הנתונים של TFX מבוססים על ספריות TFX, וספריות עיבוד הנתונים משתמשות ישירות ב-Apache Beam. לדוגמה, TensorFlow Transform מתרגם את הקריאות של המשתמש ל-Apache Beam. לכן, אתם יכולים להשתמש ב-Apache Beam וב-Dataflow עם צינורות TFX בלי לבצע עבודת הגדרה נוספת. כדי להשתמש ב-TFX עם Dataflow, כשיוצרים צינור עיבוד נתונים של TFX, משתמשים ב-Dataflow runner. מידע נוסף זמין במקורות המידע הבאים: