מידע על הסקת מסקנות ממודלים של AI/ML ב-GKE

בדף הזה מתוארים המושגים המרכזיים, היתרונות והשלבים להרצת עומסי עבודה של היקש מודלים של AI גנרטיבי/ML ב-Google Kubernetes Engine ‏ (GKE), באמצעות יכולות ה-AI הגנרטיבי של GKE.

הסקת מסקנות היא שלב חיוני בפריסת מודלים של AI גנרטיבי באפליקציות בעולם האמיתי. ‫GKE מספק פלטפורמה חזקה וניתנת להרחבה לניהול עומסי עבודה מבוססי-קונטיינרים, ולכן הוא בחירה מצוינת להצגת המודלים שלכם בפיתוח או בייצור. עם GKE, אתם יכולים להשתמש ביכולות של Kubernetes לארגון, להתאמה לעומס ולזמינות גבוהה כדי לפרוס ולנהל ביעילות את שירותי ההסקה שלכם.

מתוך הכרה בדרישות הספציפיות של הסקת מסקנות (inference) ב-AI/ML, Google Cloud השקנו את היכולות של GKE Gen AI – חבילת תכונות שנועדה במיוחד לשפר ולאופטימיזציה של שירותי הסקת מסקנות ב-GKE. מידע נוסף על תכונות ספציפיות זמין במאמר יכולות ה-AI הגנרטיבי ב-GKE.

איך מתחילים להשתמש בהסקת מסקנות של מודלים של AI/ML ב-GKE

אפשר להתחיל להשתמש בהסקת מסקנות של מודלים של AI/ML ב-GKE תוך דקות. אפשר להשתמש בתוכנית החינמית של GKE כדי להתחיל לעבוד עם Kubernetes בלי לשלם על ניהול האשכול.

  1. כניסה לדף GKE AI/ML ב- Google Cloud console

  2. אפשר לנסות את השלבים במאמר פריסת מודלים כדי לפרוס מודל בקונטיינר ושרת מודלים.
  3. מומלץ לקרוא את המאמר סקירה כללית של שיטות מומלצות להסקת מסקנות ב-GKE, שכולל הנחיות ומשאבים לתכנון ולהרצה של עומסי עבודה של הסקת מסקנות ב-GKE.

הסברים על המונחים

בדף הזה נעשה שימוש בטרמינולוגיה הבאה שקשורה להסקת מסקנות ב-GKE:

  • הסקת מסקנות: תהליך ההפעלה של מודל AI גנרטיבי, כמו מודל שפה גדול או מודל דיפוזיה, באשכול GKE כדי ליצור טקסט, הטמעות או פלטים אחרים מנתוני קלט. הסקת מסקנות ממודלים ב-GKE נעשית באמצעות מאיצים כדי לטפל ביעילות בחישובים מורכבים לעיבוד בזמן אמת או באצווה.
  • מודל: מודל של AI גנרטיבי שלמד דפוסים מנתונים ומשמש להסקת מסקנות. המודלים משתנים בגודל ובארכיטקטורה שלהם, החל ממודלים קטנים שמתמקדים בתחום מסוים ועד לרשתות עצביות ענקיות עם מיליארדי פרמטרים שעברו אופטימיזציה למשימות שונות שקשורות לשפה.
  • שרת מודל: שירות מבוסס-קונטיינר שאחראי לקבלת בקשות הסקה ולהחזרת הסקות. יכול להיות שהשירות הזה הוא אפליקציית Python, או פתרון חזק יותר כמו vLLM,‏ JetStream,‏ TensorFlow Serving או Triton Inference Server. שרת המודלים מטפל בטעינת מודלים לזיכרון ומבצע חישובים במאיצים כדי להחזיר מסקנות ביעילות.
  • מאיץ: חומרה ייעודית, כמו מעבדים גרפיים (GPU) של NVIDIA ומעבדי טנסור (TPU) של Google, שאפשר לצרף לצמתי GKE כדי להאיץ חישובים, במיוחד למשימות של אימון והסקת מסקנות.
  • קוונטיזציה: טכניקה שמשמשת לצמצום הגודל של מודלים של AI/ML ולשיפור מהירות ההסקה. הטכניקה הזו ממירה את המשקלים וההפעלות של המודל מסוגי נתונים עם דיוק גבוה יותר לסוגי נתונים עם דיוק נמוך יותר.

היתרונות של GKE להסקת מסקנות

להצגת מסקנות ב-GKE יש כמה יתרונות:

  • יחס יעיל בין מחיר לביצועים: מקבלים ערך ומהירות לצרכים שלכם בהסקת מסקנות. ב-GKE אפשר לבחור מתוך מגוון של מאיצים חזקים (GPU ו-TPU), כך שמשלמים רק על הביצועים שנדרשים.
  • פריסה מהירה יותר: האצת זמן היציאה לשוק באמצעות שיטות מומלצות מותאמות, כישורים ושיטות מומלצות שסופקו על ידי יכולות ה-AI הגנרטיבי של GKE.
  • ביצועים ניתנים להרחבה: אפשר להרחיב אופקית את הביצועים באמצעות מעקב מוכן מראש בעזרת GKE Inference Gateway,‏ התאמה אופקית של קבוצות Pod לעומס‏ (HPA) ומדדים מותאמים אישית. אתם יכולים להריץ מגוון של מודלים שעברו אימון מראש או מודלים בהתאמה אישית, החל מ-8 מיליארד פרמטרים ועד 671 מיליארד פרמטרים.
  • ניידות מלאה: ניידות מלאה עם תקנים פתוחים. ‫Google תורמת לממשקי API מרכזיים של Kubernetes, כולל Gateway ו-LeaderWorkerSet, וכל ממשקי ה-API ניידים עם הפצות Kubernetes.
  • תמיכה במערכת האקולוגית: אפשר להסתמך על המערכת האקולוגית החזקה של GKE, שתומכת בכלים כמו Kueue לניהול מתקדם של תורים של משאבים, ו-Ray למחשוב מבוזר, כדי לאפשר אימון והסקת מסקנות של מודלים בצורה יעילה וניתנת להרחבה.

איך מתבצעת הסקת מסקנות ב-GKE

בקטע הזה מתוארים השלבים הכלליים לשימוש ב-GKE להסקת מסקנות:

  1. העברת המודל לקונטיינר: כדי להעביר אפליקציה לקונטיינר, צריך ליצור קובץ אימג' של קונטיינר, שהוא חבילה שניתנת להרצה וכוללת את כל מה שצריך כדי להריץ את האפליקציה: קוד, זמן ריצה, כלי מערכת, ספריות מערכת והגדרות. אפשר להכניס אפליקציה פשוטה למאגר כתא יחיד, ואילו אפליקציה מורכבת יותר אפשר לחלק לכמה רכיבים שמוכנסים למאגרים. פריסת מודל באמצעות יצירת קונטיינר לשרת המודל (כמו vLLM), וטעינת משקלי המודל מ-Cloud Storage או ממאגר כמו Hugging Face. כשמשתמשים בהפעלה מהירה של GKE Inference, התמונה של הקונטיינר מנוהלת אוטומטית במניפסט.

  2. יוצרים אשכול GKE: יוצרים אשכול GKE לאירוח הפריסה. בוחרים באפשרות Autopilot (טייס אוטומטי) כדי ליהנות מחוויה מנוהלת או באפשרות Standard (רגיל) כדי להתאים אישית. מגדירים את גודל האשכול, את סוגי הצמתים ואת המאיצים. כדי להשתמש בהגדרה אופטימלית, אפשר להיעזר במדריך למתחילים בנושא הסקת מסקנות.

  3. פריסת המודל כפריסת Kubernetes: יוצרים פריסת Kubernetes כדי לנהל את שירות ההסקה. פריסה היא אובייקט Kubernetes API שמאפשר להפעיל כמה עותקים של Pods שמפוזרים בין הצמתים באשכול. מציינים את קובץ אימג' של Docker, העותקים וההגדרות. מערכת Kubernetes מושכת את האימג' ומריצה את הקונטיינרים בצמתי אשכול GKE. מגדירים את ה-Pods עם שרת המודל והמודל, כולל מתאמי LoRA אם צריך.

  4. חשיפת שירות ההסקה: כדי ששירות ההסקה יהיה נגיש, צריך ליצור שירות Kubernetes שיספק נקודת קצה ברשת לפריסה. אפשר להשתמש ב-Inference Gateway לשם איזון עומסים חכם וניתוב שמותאם במיוחד לעומסי עבודה של הסקת מסקנות מ-AI גנרטיבי, או לעיין בהשוואה בין אסטרטגיות של איזון עומסים כדי לבחור את האפשרות שהכי מתאימה לצרכים שלכם.

  5. טיפול בבקשות הסקה: שליחת נתונים מלקוחות האפליקציה לנקודת הקצה של השירות בפורמט הצפוי (JSON,‏ gRPC). אם משתמשים במאזן עומסים, הוא מחלק את הבקשות בין העותקים של המודל. שרת המודל מעבד את הבקשה, מריץ את המודל ומחזיר את ההסקה.

  6. התאמה של פריסת ההסקה ומעקב אחריה: התאמה של ההסקה באמצעות HPA כדי לשנות באופן אוטומטי את העותקים על סמך השימוש במעבד או זמן האחזור. ‫Horizontal Pod Autoscaler‏ (HPA) הוא בקר Kubernetes שמגדיל או מקטין באופן אוטומטי את מספר ה-Pods בעומס עבודה (כמו Deployment) על סמך מדדים שנצפו כמו ניצול CPU או מדדים מותאמים אישית. אפשר להשתמש במדריך לתחילת העבודה עם הסקת מסקנות כדי לקבל המלצות להרחבת קנה המידה שנוצרות באופן אוטומטי. כדי לעקוב אחרי הביצועים, אפשר להשתמש ב-Cloud Monitoring וב-Cloud Logging עם יכולות מובנות של ניטור, כולל לוחות בקרה לשרתי מודלים פופולריים כמו vLLM.

דוגמאות מפורטות לשימוש במודלים ספציפיים, בשרתי מודלים ובמאיצים זמינות במאמר דוגמאות להסקת מסקנות.

יכולות AI גנרטיבי ב-GKE

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

שם תיאור יתרונות
המדריך למתחילים בנושא GKE Inference

ניתוח הביצועים והיעילות של עומסי העבודה של ההסקה. מציינים את הצרכים העסקיים ומקבלים שיטות מומלצות מותאמות אישית לשילוב של מאיצים, הגדרות של קנה מידה ואחסון ושרתי מודלים שהכי מתאימים לצרכים שלכם. אפשר לגשת לשירות הזה באמצעות ה-CLI של gcloud ומסוף Google Cloud .

מידע נוסף זמין במאמר ניתוח הביצועים והעלויות של מודלים שמופעלים באמצעות GKE Inference.

  • האוטומציה של השלבים הראשוניים של בחירת התשתית והגדרתה חוסכת זמן.
  • מאפשר לכם לשמור על שליטה מלאה בהגדרת Kubernetes לצורך שיפורים נוספים.
GKE Inference Gateway

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

מידע נוסף זמין במאמר מידע על GKE Inference Gateway

  • שיתוף מודלים שעברו כוונון עדין ומשתמשים בקובצי LoRA, עם בחירת נקודת קצה מבוססת-זיקה כדי לחסוך בעלויות.
  • כדי להשיג זמינות גבוהה, אפשר לגשת באופן דינמי לקיבולת של GPU ו-TPU באזורים שונים.
  • משפרים את האבטחה של המודלים באמצעות מדיניות של תוסף Model Armor.
האצות לטעינת משקלים של מודלים

גישה מהירה לנתונים ב-Cloud Storage באמצעות Cloud Storage FUSE עם שמירה במטמון והורדות מקבילות. מידע נוסף על השימוש ב-Cloud Storage FUSE לעומסי עבודה של AI/ML זמין במאמר בנושא ארכיטקטורת עזר.

‫Google Cloud Managed Lustre היא מערכת קבצים מקבילה מנוהלת לחלוטין עם ביצועים גבוהים שעברה אופטימיזציה ל-AI, שאפשר לצרף אליה 10,000 או יותר Pods. מידע נוסף על השימוש ב-Managed Lustre לעומסי עבודה של AI/ML זמין בארכיטקטורת העזר.

‫Google Cloud Hyperdisk ML הוא דיסק שמחובר לרשת ואפשר לצרף אותו לעד 2,500 פודים.

  • אפשר לבצע אופטימיזציה של זמן ההפעלה של ההיקש על ידי צמצום זמן האחזור של טעינת המודל ב-GKE.
  • בפריסות עם שינוי קנה מידה מוגבל של צמתים, כדאי להשתמש ב-Cloud Storage FUSE כדי לטעון משקלים של מודלים.
  • עבור עומסי עבודה של הסקת מסקנות שדורשים ביצועים עקביים של הרחבת קנה מידה, Google Cloud Managed Lustre תומך בגישה לקבצים עם תפוקה גבוהה וזמן אחזור נמוך מכמה Pods בו-זמנית.
  • לתרחישים של היקף עצום שדורשים גישה עקבית עם זמן אחזור נמוך למשקלים של מודלים גדולים, Google Cloud Hyperdisk ML מציע פתרון ייעודי לאחסון בלוקים.

מדדי ביצועים של הסקת מסקנות

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

אינדיקטורים של השוואה לשוק מדד (יחידה) תיאור
זמן אחזור הזמן עד ליצירת הטוקן הראשון (TTFT) (באלפיות השנייה) הזמן שלוקח ליצור את הטוקן הראשון לבקשה.
זמן מנורמל לכל טוקן פלט (NTPOT) (באלפיות השנייה) זמן האחזור של הבקשה, מחולק במספר הטוקנים של הפלט, נמדד כ-request_latency / total_output_tokens.
זמן לכל טוקן פלט (TPOT) (באלפיות השנייה) הזמן שלוקח ליצור אסימון פלט אחד, שנמדד כ-(request_latency - time_to_first_token) / (total_output_tokens - 1).
זמן האחזור בין טוקנים (ITL) (באלפיות השנייה) מדידת זמן האחזור בין שני דורות של טוקנים של פלט. בניגוד ל-TPOT, שמודד את זמן האחזור לאורך הבקשה כולה, ITL מודד את הזמן שנדרש ליצירת כל טוקן פלט בנפרד. לאחר מכן, המערכת מצברת את המדידות האישיות האלה כדי ליצור ערכים של ממוצע, חציון ואחוזון, כמו p90.
זמן האחזור של הבקשה (באלפיות השנייה) הזמן הכולל שנדרש להשלמת בקשה.
תפוקה בקשות לשנייה המספר הכולל של הבקשות שמוצגות בשנייה. שימו לב שהמדד הזה לא תמיד מהווה דרך מהימנה למדידת קצב העברת הנתונים של מודל שפה גדול, כי הוא יכול להשתנות מאוד בהתאם לאורכים שונים של ההקשר.
טוקנים של פלט לשנייה מדד נפוץ שנמדד כ-total_output_tokens_generated_by_server / elapsed_time_in_seconds.
טוקנים של קלט לשנייה נמדד כ-total_input_tokens_generated_by_server / elapsed_time_in_seconds.
טוקנים לשנייה נמדד כ-total_tokens_generated_by_server / elapsed_time_in_seconds. המדד הזה סופר גם את טוקני הקלט וגם את טוקני הפלט, ועוזר להשוות בין עומסי עבודה עם מילוי מראש גבוה לבין עומסי עבודה עם זמני פענוח גבוהים.

תכנון של הסקת מסקנות

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

דוגמאות להסקת מסקנות

דוגמאות לפריסה של GKE למודלים של AI גנרטיבי, למאיצים ולשרתי מודלים. אם אתם רק מתחילים, מומלץ לעיין במדריך Serve Gemma open models using GPUs on GKE with vLLM.

אפשר גם לחפש מדריך לפי מילת מפתח:

Accelerator שרת מודל מדריך
יחידות GPU vLLM הצגת מודלים של LLM כמו DeepSeek-R1 671B או Llama 3.1 405B ב-GKE
יחידות GPU vLLM להכניס לשימוש בסביבת הייצור מודלים פתוחים של Gemma באמצעות יחידות GPU ב-GKE עם vLLM
יחידות GPU vLLM הצגת מודל LLM באמצעות GKE Inference Gateway
יחידות GPU vLLM הצגת מודלים פתוחים של LLM ב-GKE עם ארכיטקטורה שהוגדרה מראש
יחידות GPU Ray Serve הצגת מודל LLM ביחידות GPU מסוג L4 באמצעות Ray
יחידות GPU TGI הצגת מודל LLM עם כמה יחידות GPU ב-GKE
יחידות GPU TorchServe הצגת T5 ב-GKE באמצעות TorchServe
TPUs vLLM להכניס לשימוש בסביבת הייצור מודל שפה גדול (LLM) באמצעות TPU Trillium ב-GKE עם vLLM
TPUs vLLM הצגת מודל שפה גדול (LLM) באמצעות מעבדי TPU ב-GKE עם KubeRay
TPUs MaxDiffusion הצגת Stable Diffusion XL ‏ (SDXL) באמצעות TPU ב-GKE עם MaxDiffusion
TPUs vLLM הצגת מודלים של LLM באמצעות TPU מרובה מארחים ב-GKE עם JetStream ו-Pathways
TPUs vLLM הכניסו לשימוש בסביבת הייצור מודלים גדולים של שפה (LLM) בקוד פתוח ב-TPU עם ארכיטקטורה מוגדרת מראש

המאמרים הבאים

  • בפורטל לתזמור של AI/ML ב-GKE אפשר לעיין במדריכים הרשמיים, במדריכי הדרכה ובתרחישי שימוש להרצת עומסי עבודה של AI/ML ב-GKE.
  • ב-GKE AI Labs תוכלו לעיין בדוגמאות ניסיוניות לשימוש ב-GKE כדי להאיץ את יוזמות ה-AI/ML שלכם.