ציון הגדרת המכונה לשלב בצינור עיבוד הנתונים

רכיבי צינור עיבוד הנתונים של Kubeflow הם פונקציות factory שיוצרות שלבים בצינור עיבוד הנתונים. כל רכיב מתאר את הקלטים, הפלטים וההטמעה של הרכיב. לדוגמה, train_op הוא רכיב בדוגמת הקוד הבאה.

לדוגמה, רכיב אימון יכול לקבל קובץ CSV כקלט ולהשתמש בו כדי לאמן מודל. הגדרת הפרמטרים של סוג המכונה בשלב של צינור הנתונים מאפשרת לכם לנהל את הדרישות של כל שלב בצינור הנתונים. אם יש לכם שני שלבי אימון, ואחד מהם מתבצע על קובץ נתונים ענק והשני על קובץ נתונים קטן, אתם יכולים להקצות יותר זיכרון ומעבד (CPU) למשימה הראשונה ופחות משאבים למשימה השנייה.

כברירת מחדל, הרכיב יפעל כ-Vertex AI CustomJob באמצעות מכונת e2-standard-4, עם 4 ליבות CPU וזיכרון של 16GB. מידע נוסף על בחירת אחד ממשאבי המכונה הספציפיים ל- Google Cloudשמופיעים בסוגי מכונות זמין במאמר בקשת משאבי מכונה באמצעות Vertex AI Pipelines. Google Cloud

בדוגמה הבאה מוצג איך מגדירים את ההגדרות של מעבד, זיכרון ו-GPU לשלב מסוים:

Google Cloud
from kfp import dsl

@dsl.pipeline(name='custom-container-pipeline')
def pipeline():
  generate = generate_op()
  train = (
    train_op(
      training_data=generate.outputs['training_data'],
      test_data=generate.outputs['test_data'],
      config_file=generate.outputs['config_file'])
    .set_cpu_limit('CPU_LIMIT')
    .set_memory_limit('MEMORY_LIMIT')
    .add_node_selector_constraint(SELECTOR_CONSTRAINT)
    .set_accelerator_type(ACCELERATOR_TYPE)
    .set_accelerator_limit(ACCELERATOR_LIMIT))

מחליפים את מה שכתוב בשדות הבאים:

  • CPU_LIMIT: מגבלת ה-CPU המקסימלית לאופרטור הזה. הערך של המחרוזת יכול להיות מספר (ערך שלם של מספר המעבדים), או מספר שאחריו האות m, שפירושה 1/1000. אפשר לציין עד 96 מעבדים.

  • MEMORY_LIMIT: מגבלת הזיכרון המקסימלית לאופרטור הזה. הערך של המחרוזת יכול להיות מספר, או מספר שאחריו האותיות K (קילובייט), M (מגהבייט) או G (גיגהבייט). הגודל המקסימלי הנתמך הוא 624GB.

  • SELECTOR_CONSTRAINT: כל אילוץ הוא תווית של צמד מפתח/ערך. כדי שהמאגר יעמוד בדרישות להרצה בצומת, לכל אילוץ בצומת צריך להיות תווית. לדוגמה: 'cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_T4'

    אלה האילוצים שזמינים:

    • NVIDIA_GB200+ (כולל GPUDirect-RDMA)
    • NVIDIA_B200* (כולל GPUDirect-RDMA)
    • NVIDIA_H100_MEGA_80GB* (כולל GPUDirect-TCPXO)
    • NVIDIA_H100_80GB
    • NVIDIA_H200_141GB* (כולל GPUDirect-RDMA)
    • NVIDIA_A100_80GB
    • NVIDIA_TESLA_A100 (NVIDIA A100 40GB)
    • NVIDIA_TESLA_P4
    • NVIDIA_TESLA_P100
    • NVIDIA_TESLA_T4
    • NVIDIA_TESLA_V100
    • NVIDIA_L4
    • NVIDIA_RTX_PRO_6000

    • TPU_V2
    • TPU_V3
  • ACCELERATOR_TYPE: סוג המאיץ. מידע נוסף על מעבדי ה-GPU הזמינים ועל אופן ההגדרה שלהם זמין במאמר בנושא מעבדי GPU. מידע נוסף על סוגי ה-TPU שזמינים ועל אופן ההגדרה שלהם זמין במאמר TPU. מידע נוסף מופיע במאמר בנושא פרמטרים של accelerator_type.

  • ACCELERATOR_LIMIT: המגבלה של המאיץ (GPU או TPU) עבור האופרטור. אפשר לציין מספר שלם חיובי. מידע נוסף על מעבדי ה-GPU הזמינים ועל אופן ההגדרה שלהם זמין במאמר בנושא מעבדי GPU. מידע נוסף על יחידות ה-TPU הזמינות ועל אופן ההגדרה שלהן זמין במאמר TPU.

CustomJob תומך בסוגים ספציפיים של מכונות שמגבילים אתכם למקסימום של 96 מעבדים ו-624GB של זיכרון. על סמך הגדרות המעבד, הזיכרון והמאיץ שאתם מציינים, Vertex AI Pipelines בוחר באופן אוטומטי את סוג המכונה שהכי מתאים מבין סוגי המכונות הנתמכים.