הסקת מסקנות היא שלב חיוני בפריסת מודלים של AI גנרטיבי באפליקציות בעולם האמיתי. GKE מספק פלטפורמה חזקה וניתנת להרחבה לניהול עומסי עבודה מבוססי-קונטיינרים, ולכן הוא בחירה מצוינת להצגת המודלים שלכם בפיתוח או בייצור. בעזרת GKE, אתם יכולים להשתמש ביכולות של Kubernetes לארגון, להתאמה לעומס ולזמינות גבוהה, כדי לפרוס ולנהל ביעילות את שירותי ההסקה שלכם.
מתוך הכרה בדרישות הספציפיות של הסקת מסקנות ב-AI/ML, Cloud de Confiance by S3NS השקנו את היכולות של GKE Gen AI – חבילת תכונות שנועדה במיוחד לשפר ולאופטימיזציה של שירותי הסקת מסקנות ב-GKE. מידע נוסף על תכונות ספציפיות זמין במאמר יכולות ה-AI הגנרטיבי ב-GKE.
תחילת העבודה עם הסקת מסקנות ממודלים של AI/ML ב-GKE
אפשר להתחיל להשתמש בהסקת מסקנות של מודלים של AI/ML ב-GKE תוך דקות. אתם יכולים להשתמש בתוכנית החינמית של GKE כדי להתחיל לעבוד עם Kubernetes בלי לשלם על ניהול האשכולות.
- אפשר לנסות את השלבים של פריסת מודלים כדי לפרוס מודל בקונטיינר ושרת מודלים.
- מומלץ לקרוא את המאמר סקירה כללית של שיטות מומלצות להסקת מסקנות ב-GKE, שכולל הנחיות ומשאבים לתכנון ולהרצה של עומסי עבודה של הסקת מסקנות ב-GKE.
הסברים על המונחים
בדף הזה נעשה שימוש בטרמינולוגיה הבאה שקשורה להסקת מסקנות ב-GKE:
- הסקת מסקנות: תהליך ההפעלה של מודל AI גנרטיבי, כמו מודל שפה גדול או מודל דיפוזיה, באשכול GKE כדי ליצור טקסט, הטמעות או פלטים אחרים מנתוני קלט. הסקת מסקנות של מודלים ב-GKE נעזרת במאיצים כדי לטפל ביעילות בחישובים מורכבים לעיבוד בזמן אמת או באצווה.
- מודל: מודל של AI גנרטיבי שלמד דפוסים מנתונים ומשמש להסקת מסקנות. המודלים משתנים בגודל ובארכיטקטורה שלהם, החל ממודלים קטנים שמתמקדים בתחום מסוים ועד לרשתות עצביות ענקיות עם מיליארדי פרמטרים שעברו אופטימיזציה למשימות שונות שקשורות לשפה.
- שרת מודל: שירות מבוסס-קונטיינר שאחראי לקבלת בקשות הסקה ולהחזרת הסקות. יכול להיות שהשירות הזה הוא אפליקציית Python, או פתרון חזק יותר כמו vLLM, JetStream, TensorFlow Serving או Triton Inference Server. שרת המודלים מטפל בטעינת מודלים לזיכרון ומבצע חישובים במאיצים כדי להחזיר מסקנות ביעילות.
- מאיץ: חומרה ייעודית, כמו מעבדים גרפיים (GPU) של NVIDIA ומעבדי טנסור (TPU) של Google, שאפשר לצרף לצמתי GKE כדי להאיץ חישובים, במיוחד למשימות של אימון והסקת מסקנות.
- קוונטיזציה: טכניקה שמשמשת להקטנת הגודל של מודלים של AI/ML ולשיפור מהירות ההסקה, על ידי המרה של משקלי המודל וההפעלות מסוגי נתונים ברמת דיוק גבוהה לסוגי נתונים ברמת דיוק נמוכה.
היתרונות של 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 גנרטיבי, או לעיין בהשוואה בין אסטרטגיות לאיזון עומסים כדי לבחור את האפשרות שהכי מתאימה לצרכים שלכם.
טיפול בבקשות הסקה: שליחת נתונים מלקוחות האפליקציה לנקודת הקצה של השירות, בפורמט הצפוי (JSON, gRPC). אם משתמשים במאזן עומסים, הוא מחלק את הבקשות בין העותקים של המודל. שרת המודלים מעבד את הבקשה, מריץ את המודל ומחזיר את ההיסק.
התאמת הפריסה של ההסקה ומעקב אחריה: התאמת ההסקה באמצעות HPA כדי לשנות באופן אוטומטי את העותקים על סמך השימוש במעבד או זמן האחזור. Horizontal Pod Autoscaler (HPA) הוא בקר Kubernetes שמגדיל או מקטין באופן אוטומטי את מספר ה-Pods בעומס עבודה (כמו Deployment) על סמך מדדים שנצפו כמו ניצול CPU או מדדים מותאמים אישית. אפשר להשתמש במדריך למתחילים בנושא הסקת מסקנות כדי לקבל המלצות שנוצרות באופן אוטומטי לגבי שינוי קנה מידה. כדי לעקוב אחרי הביצועים, אפשר להשתמש ב-Cloud Monitoring וב-Cloud Logging עם יכולות מובנות של ניטור, כולל לוחות בקרה לשרתי מודלים פופולריים כמו vLLM.
דוגמאות מפורטות לשימוש במודלים ספציפיים, בשרתי מודלים ובמאיצים זמינות במאמר דוגמאות להסקת מסקנות.
יכולות AI גנרטיבי ב-GKE
אתם יכולים להשתמש ביכולות האלה יחד או בנפרד כדי לטפל באתגרים מרכזיים בהפעלת מודלים של AI גנרטיבי ולשפר את ניצול המשאבים בסביבת GKE, ללא עלות נוספת.
| שם | תיאור | יתרונות |
|---|---|---|
| המדריך למתחילים של GKE Inference |
ניתוח הביצועים והיעילות של עומסי העבודה של ההסקה. מציינים את הצרכים העסקיים ומקבלים שיטות מומלצות מותאמות אישית לשילוב של מאיצים, הגדרות של הרחבת נפח האחסון ושרתי מודלים, שהכי מתאים לצרכים שלכם. אפשר לגשת לשירות הזה באמצעות ה-CLI של gcloud ומסוף Cloud de Confiance . מידע נוסף זמין במאמר ניתוח הביצועים והעלויות של מודלים שמופעלים באמצעות GKE Inference. |
|
| 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 | הצגת מודלים של שפה גדולה כמו 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 שלכם.