הסקת מסקנות היא שלב חיוני בפריסת מודלים של 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 נעשית באמצעות מאיצים כדי לטפל ביעילות בחישובים מורכבים לעיבוד בזמן אמת או באצווה.
- מודל: מודל של 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 להסקת מסקנות:
העברת המודל לקונטיינר: כדי להעביר אפליקציה לקונטיינר, צריך ליצור קובץ אימג' של קונטיינר, שהוא חבילה שניתנת להרצה וכוללת את כל מה שצריך כדי להריץ את האפליקציה: קוד, זמן ריצה, כלי מערכת, ספריות מערכת והגדרות. אפשר להכניס אפליקציה פשוטה למאגר כתא יחיד, ואילו אפליקציה מורכבת יותר אפשר לחלק לכמה רכיבים שמוכנסים למאגרים. פריסת מודל באמצעות יצירת קונטיינר לשרת המודל (כמו vLLM), וטעינת משקלי המודל מ-Cloud Storage או ממאגר כמו Hugging Face. כשמשתמשים בהפעלה מהירה של GKE Inference, התמונה של הקונטיינר מנוהלת אוטומטית במניפסט.
יוצרים אשכול GKE: יוצרים אשכול GKE לאירוח הפריסה. בוחרים באפשרות Autopilot (טייס אוטומטי) כדי ליהנות מחוויה מנוהלת או באפשרות Standard (רגיל) כדי להתאים אישית. מגדירים את גודל האשכול, את סוגי הצמתים ואת המאיצים. כדי להשתמש בהגדרה אופטימלית, אפשר להיעזר במדריך למתחילים בנושא הסקת מסקנות.
פריסת המודל כפריסת 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 ומסוף Google Cloud . מידע נוסף זמין במאמר ניתוח הביצועים והעלויות של מודלים שמופעלים באמצעות 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 | הצגת מודלים של 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 שלכם.