שימוש במסגרות ML אחרות ב-TFX

TFX כפלטפורמה הוא ניטרלי במסגרת, וניתן להשתמש בו עם מסגרות ML אחרות, למשל, JAX, sikit-learn.

עבור מפתחי מודלים, זה אומר שהם לא צריכים לשכתב את קוד המודל שלהם מיושם במסגרת ML אחרת, אלא יכולים לעשות שימוש חוזר בחלק הארי של קוד האימון כפי שהוא ב-TFX, ולהפיק תועלת מיכולות אחרות של TFX ושאר ה- TensorFlow Ecosystem הצעות.

ל-TFX pipeline SDK ולרוב המודולים ב-TFX, למשל, pipeline orchestrator, אין תלות ישירה ב-TensorFlow, אבל יש כמה היבטים שמכוונים ל-TensorFlow, כמו פורמטים של נתונים. תוך התחשבות מסוימת בצרכים של מסגרת מידול מסוימת, ניתן להשתמש בצינור TFX כדי לאמן מודלים בכל מסגרת ML אחרת מבוססת Python. זה כולל בין היתר את Scikit-learn, XGBoost ו- PyTorch. חלק מהשיקולים לשימוש ברכיבי TFX הסטנדרטיים עם מסגרות אחרות כוללים:

  • ExampleGen פלט tf.train.Example בקבצי TFRecord. זהו ייצוג גנרי לנתוני אימון, ורכיבים במורד הזרם משתמשים ב-TFXIO כדי לקרוא אותו בתור Arrow/RecordBatch בזיכרון, שניתן להמיר אותו עוד יותר ל- tf.dataset , Tensors או פורמטים אחרים. פורמטים של עומס/קובץ אחרים מלבד tf.train.Example/TFRecord נמצאים בבחינה, אבל עבור משתמשי TFXIO זה צריך להיות בוקס.
  • ניתן להשתמש בטרנספורמציה ליצירת דוגמאות אימון שעברו טרנספורמציה לא משנה באיזו מסגרת משמשת להדרכה, אך אם פורמט המודל אינו saved_model , המשתמשים לא יוכלו להטמיע את גרף הטרנספורמציה במודל. במקרה זה, חיזוי מודל צריך לקחת תכונות שעברו טרנספורמציה במקום תכונות גולמיות, ומשתמשים יכולים להפעיל טרנספורמציה כשלב עיבוד מקדים לפני שהם קוראים לחיזוי המודל בעת ההגשה.
  • Trainer תומך ב- GenericTraining כך שמשתמשים יכולים לאמן את המודלים שלהם באמצעות כל מסגרת ML.
  • Evaluator כברירת מחדל תומך רק saved_model , אך משתמשים יכולים לספק UDF שיוצר תחזיות להערכת מודל.

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

JAX

JAX הוא Autograd ו-XLA, המובאים יחד למחקר למידת מכונה בעלת ביצועים גבוהים. Flax היא ספריית רשת עצבית ומערכת אקולוגית עבור JAX, המיועדת לגמישות.

עם jax2tf , אנו מסוגלים להמיר מודלים מאומנים של JAX/Flax לפורמט saved_model , שניתן להשתמש בו בצורה חלקה ב-TFX עם הדרכה גנרית והערכת מודלים. לפרטים, בדוק את הדוגמה הזו.

sikit-lear

Scikit-learn היא ספריית למידת מכונה עבור שפת התכנות Python. יש לנו דוגמה e2e עם הדרכה והערכה מותאמות אישית ב-TFX-Addons.