הסקת מסקנות היא שלב חיוני בפריסת מודלים של AI גנרטיבי באפליקציות בעולם האמיתי. GKE מספקת פלטפורמה חזקה וניתנת להרחבה לניהול עומסי עבודה מבוססי-קונטיינרים, ולכן היא בחירה מצוינת להצגת המודלים שלכם בפיתוח או בייצור. עם GKE, אתם יכולים להשתמש ביכולות של Kubernetes לארגון, להתאמה לעומס ולזמינות גבוהה, כדי לפרוס ולנהל ביעילות את שירותי ההסקה שלכם.
מתוך הכרה בדרישות הספציפיות של הסקת מסקנות (inference) ב-AI/ML, Google Cloud השיקה את היכולות של GKE Gen AI – חבילת תכונות שנועדה במיוחד לשפר ולאופטימיזציה של שירותי הסקת מסקנות ב-GKE. מידע נוסף על תכונות ספציפיות זמין במאמר יכולות ה-AI הגנרטיבי ב-GKE.
איך מתחילים להשתמש בהסקת מסקנות של מודלים של AI/ML ב-GKE
אפשר להתחיל לבצע מסקנות ממודלים של AI/ML ב-GKE תוך דקות. אפשר להשתמש ברמת השימוש החינמית של GKE כדי להתחיל להשתמש ב-Kubernetes בלי לשלם על ניהול האשכולות.
- אפשר לנסות את השלבים של פריסת מודלים כדי לפרוס מודל בקונטיינר ושרת מודלים.
- מומלץ לקרוא את המאמר סקירה כללית של שיטות מומלצות להסקת מסקנות ב-GKE, שכולל הנחיות ומשאבים לתכנון ולהרצה של עומסי עבודה של הסקת מסקנות ב-GKE.
הסברים על המונחים
בדף הזה נעשה שימוש במינוח הבא שקשור להסקת מסקנות ב-GKE:
- הסקת מסקנות: תהליך ההפעלה של מודל AI גנרטיבי, כמו מודל שפה גדול או מודל דיפוזיה, באשכול GKE כדי ליצור טקסט, הטבעות או פלטים אחרים מנתוני קלט. הסקת מסקנות של מודלים ב-GKE נעזרת במאיצים כדי לטפל ביעילות בחישובים מורכבים לעיבוד בזמן אמת או עיבוד ברצף (batch processing).
- מודל: מודל 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 תורמת לממשקי Kubernetes API מרכזיים, כולל Gateway ו-LeaderWorkerSet, וכל ממשקי ה-API ניידים עם הפצות של Kubernetes.
- תמיכה במערכת אקולוגית: אפשר לבנות על המערכת האקולוגית החזקה של GKE, שתומכת בכלים כמו Kueue לניהול מתקדם של תורים של משאבים, ו-Ray למחשוב מבוזר, כדי לאפשר אימון והסקת מסקנות של מודלים בצורה יעילה וניתנת להרחבה.
איך מתבצעת הסקה ב-GKE
בקטע הזה מתוארים, ברמה גבוהה, השלבים לשימוש ב-GKE להצגת מסקנות:
העברת המודל לקונטיינר: העברת אפליקציה לקונטיינר היא יצירה של קובץ אימג' של קונטיינר, שהוא חבילה שניתנת להרצה וכוללת את כל מה שצריך להרצת האפליקציה: קוד, זמן ריצה, כלי מערכת, ספריות מערכת והגדרות. אפשר להכניס אפליקציה פשוטה לקונטיינר כיחידה אחת, ואילו אפליקציה מורכבת יותר אפשר לחלק לכמה רכיבים שמוכנסים לקונטיינרים. פריסת מודל על ידי יצירת קונטיינר לשרת המודל (כמו vLLM) וטעינת משקלי המודל מ-Cloud Storage או ממאגר כמו Hugging Face. כשמשתמשים בהפעלה מהירה של GKE Inference, התמונה שמוכלת בקונטיינר מנוהלת אוטומטית במניפסט.
יוצרים אשכול GKE: יוצרים אשכול GKE לאירוח הפריסה. בוחרים באפשרות 'טייס אוטומטי' כדי ליהנות מחוויה מנוהלת או באפשרות 'רגיל' כדי להתאים אישית. מגדירים את גודל האשכול, את סוגי הצמתים ואת המאיצים. כדי להשתמש בהגדרה אופטימלית, כדאי לעיין במאמר מדריך למתחילים: הסקת מסקנות.
פריסת המודל כפריסת Kubernetes: יוצרים פריסת Kubernetes כדי לנהל את שירות ההסקות. פריסה היא אובייקט Kubernetes API שמאפשר להפעיל כמה עותקים של Pods שמפוזרים בין הצמתים באשכול. מציינים את קובץ אימג' של Docker, העותקים וההגדרות. Kubernetes מושך את התמונה ומריץ את הקונטיינרים בצמתים של אשכול GKE. מגדירים את ה-Pods עם שרת המודל והמודל, כולל מתאמי LoRA אם צריך.
חשיפת שירות ההסקה: כדי ששירות ההסקה יהיה נגיש, צריך ליצור שירות Kubernetes שיספק נקודת קצה ברשת לפריסה. משתמשים ב-Inference Gateway כדי לבצע איזון עומסים חכם וניתוב שמותאמים במיוחד לעומסי עבודה של הסקת מסקנות ב-AI גנרטיבי. כדי לבצע איזון עומסים חכם שמותאם לעומסי עבודה של AI גנרטיבי, אפשר להשתמש ב-Inference Gateway. אפשר גם לעיין בהשוואה בין אסטרטגיות איזון עומסים כדי לבחור את האפשרות שהכי מתאימה לצרכים שלכם.
טיפול בבקשות הסקה: שליחת נתונים מלקוחות האפליקציה לנקודת הקצה של השירות בפורמט הצפוי (JSON, gRPC). אם אתם משתמשים במאזן עומסים, הוא מחלק את הבקשות בין העותקים של המודל. שרת המודל מעבד את הבקשה, מריץ את המודל ומחזיר את ההסקה.
התאמת הפריסה של ההסקה ומעקב אחריה: התאמת ההסקה באמצעות 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 Quickstart. |
|
| GKE Inference Gateway | ניתוב על סמך מדדים, כמו ניצול מטמון KV, לשיפור זמן האחזור. מידע נוסף זמין במאמר מידע על GKE Inference Gateway |
|
| האצת טעינת משקלים של מודלים | גישה מהירה לנתונים ב-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.
| אינדיקטורים של השוואה לשוק | מדד (יחידה) | תיאור |
|---|---|---|
| זמן אחזור | הזמן עד לקבלת הטוקן הראשון (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 באמצעות מעבדים גרפיים ב-GKE עם vLLM |
| יחידות GPU | vLLM | הצגת מודל LLM באמצעות GKE Inference Gateway |
| יחידות GPU | vLLM | הצגת מודלים גדולים של שפה (LLM) בקוד פתוח ב-GKE באמצעות ארכיטקטורה שהוגדרה מראש |
| יחידות GPU | Ray Serve | הצגת מודל LLM במעבדי L4 GPU באמצעות Ray |
| יחידות GPU | TGI | הצגת מודל LLM עם כמה מעבדי GPU ב-GKE |
| יחידות GPU | TorchServe | הצגת T5 ב-GKE באמצעות TorchServe |
| TPUs | vLLM | הצגת מודל שפה גדול (LLM) באמצעות TPU Trillium ב-GKE עם vLLM |
| TPUs | vLLM | הצגת מודל שפה גדול (LLM) באמצעות TPUs ב-GKE עם KubeRay |
| TPUs | MaxDiffusion | הצגת Stable Diffusion XL (SDXL) באמצעות TPU ב-GKE עם MaxDiffusion |
| TPUs | vLLM | הצגת מודלים של שפה גדולה (LLM) באמצעות TPU מרובה מארחים ב-GKE עם JetStream ו-Pathways |
| TPUs | vLLM | הצגת מודלים גדולים של שפה (LLM) בקוד פתוח ב-TPU עם ארכיטקטורה שהוגדרה מראש |
המאמרים הבאים
- בפורטל AI/ML orchestration on GKE אפשר לעיין במדריכים, בהדרכות ובתרחישי שימוש רשמיים להרצת עומסי עבודה של AI/ML ב-GKE.
- ב-GKE AI Labs תוכלו לעיין בדוגמאות ניסיוניות לשימוש ב-GKE כדי להאיץ את היוזמות שלכם בתחום ה-AI/ML.