מידע על Multi-cluster GKE Inference Gateway

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

מידע נוסף על פריסת GKE Inference Gateway מרובה אשכולות זמין במאמר הגדרת GKE Inference Gateway מרובה אשכולות.

כדי להבין את המסמך הזה, צריך להכיר את המושגים הבאים:

המסמך הזה מיועד לדמויות הבאות:

  • מהנדסי למידת מכונה (ML), אדמינים ומפעילים של פלטפורמות ומומחים לנתונים ול-AI שמעוניינים להשתמש ביכולות של Kubernetes לארגון קונטיינרים כדי להפעיל עומסי עבודה של AI/ML.
  • מומחי Cloud Architect או מומחי רשתות שיוצרים אינטראקציה עם רשתות Kubernetes.

במאמר תפקידי משתמשים נפוצים ומשימות לדוגמה ב-GKE Enterprise מוסבר על תפקידים נפוצים ומשימות לדוגמה שאנחנו מתייחסים אליהם בGoogle Cloud תוכן.

היתרונות של GKE multi-cluster Inference Gateway

שער ההסקה של GKE עם תמיכה באשכולות מרובים מספק כמה יתרונות לניהול עומסי העבודה של הסקת מסקנות מ-AI/ML, כולל:

  • משפר את הזמינות הגבוהה ואת העמידות בכשלים באמצעות איזון עומסים חכם בכמה אשכולות GKE, גם באזורים גיאוגרפיים שונים. עומסי העבודה של ההסקה נשארים זמינים, והמערכת מנתבת מחדש את הבקשות באופן אוטומטי אם יש בעיות באזור או באשכול, וכך מצמצמת את זמן ההשבתה.
  • משפר את יכולת ההתאמה לגודל ומבצע אופטימיזציה של השימוש במשאבים על ידי איגום של משאבי GPU ו-TPU מאשכולות שונים כדי לתת מענה לביקוש מוגבר. האיגום הזה מאפשר לעומסי העבודה שלכם לחרוג מהקיבולת של אשכול יחיד ולהשתמש ביעילות במשאבים הזמינים בכל המערך.
  • שיפור הביצועים באמצעות ניתוב אופטימלי ברחבי העולם. השער משתמש במדדים מתקדמים, כמו שימוש במטמון של זוגות מפתח/ערך (KV) מכל האשכולות, כדי לקבל החלטות יעילות לגבי ניתוב. הגישה הזו עוזרת לוודא שהבקשות מועברות לאשכול שמצויד בצורה הטובה ביותר לטפל בהן, וכך למקסם את הביצועים הכוללים של צי ההיסקים שלכם מבוססי-AI/ML.

מגבלות

ל-GKE Inference Gateway מרובה אשכולות יש את המגבלות הבאות:

  • שילוב של הגנה מוגברת על המודל: שער ההיקש של GKE מרובה-אשכולות לא תומך בשילוב של הגנה מוגברת על המודל.

  • דיווח על זמן התגובה של Envoy Proxy: Envoy Proxy מדווח רק על זמן התגובה של שאילתות לבקשות מוצלחות (2xx). המערכת מתעלמת משגיאות ופסק זמן. ההתנהגות הזו עלולה לגרום למאזן העומסים הגלובלי של השרת (GSLB) להעריך הערכת חסר את העומס האמיתי בשרתי קצה (backend) שנכשלו, וכך להפנות יותר תנועה לשירותים שכבר עמוסים מדי. כדי לפתור את הבעיה, צריך להגדיר זמן קצוב ארוך יותר לתפוגת בקשה. לדוגמה, מומלץ להגדיר ערך של 600s.

רכיבים עיקריים

שער ההסקה של GKE עם כמה אשכולות משתמש בכמה משאבים מותאמים אישית של Kubernetes כדי לנהל את עומסי העבודה של ההסקה ואת ניתוב התנועה:

  • InferencePool: מקבץ את ה-backends הזהים של שרת המודל באשכול היעד. המשאב הזה מפשט את הניהול וההתאמה של מופעי פרסום המודל.
  • InferenceObjective: מגדיר את סדרי העדיפויות של הניתוב למודלים ספציפיים בתוך InferencePool. הניתוב הזה עוזר לוודא שדגמים מסוימים יקבלו העדפה בתנועה על סמך הדרישות שלכם.
  • GCPInferencePoolImport: מאפשר להשתמש ב-HTTPRoute באשכול התצורה כדי להגדיר את הניתוב של העורפים של המודלים. המשאב הזה נוצר אוטומטית באשכול ההגדרות כשמייצאים InferencePool מאשכול יעד. אשכול ההגדרות משמש כנקודת בקרה מרכזית לסביבה מרובת האשכולות.
  • GCPBackendPolicy: מאפשר להתאים אישית את איזון העומסים של התנועה לשרתי הקצה. לדוגמה, אתם יכולים להפעיל איזון עומסים על סמך מדדים מותאמים אישית או להגדיר מגבלות על בקשות בזמן ההעברה לכל נקודת קצה, כדי להגן על שרתי המודלים.
  • AutoscalingMetric: מגדיר מדדים מותאמים אישית, כמו vllm:kv_cache_usage_perc, לייצוא משרתי המודלים. אחר כך תוכלו להשתמש במדדים האלה ב-GCPBackendPolicy כדי לקבל החלטות חכמות יותר לגבי איזון עומסים, ולשפר את הביצועים ואת ניצול המשאבים.

איך פועל שער ההסקה של GKE עם כמה אשכולות

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

  • ניהול תנועה מרכזי: אשכול הגדרות ייעודי מגדיר את כללי ניתוב התנועה. אשכול ההגדרות פועל כנקודת בקרה מרכזית בסביבה מרובת האשכולות. כשמפעילים Ingress מרובה אשכולות לצי, מציינים אשכול GKE כאשכול ההגדרות. הגישה המרכזית הזו מאפשרת לכם לנהל ממקום אחד את האופן שבו הבקשות מופנות למודלים בכל צי האשכולות של GKE.
  • פריסת מודלים גמישה: מודלים בפועל של AI/ML פועלים באשכולות יעד נפרדים. ההפרדה הזו מאפשרת לכם לפרוס מודלים במקומות שהכי מתאימים לכך (לדוגמה, קרוב יותר לנתונים או לאשכולות עם חומרה ספציפית).
  • שילוב קל של מודלים: כשפורסים מודל באשכול יעד, מקבצים את המכונות שמריצות אותו באמצעות InferencePool. ייצוא של InferencePool הופך אותו לזמין באופן אוטומטי לניתוב באשכול ההגדרות.
  • איזון עומסים חכם: השער לא רק מפזר את התנועה, אלא גם מקבל החלטות ניתוב חכמות. הגדרת שער הגישה לשימוש באותות שונים, כולל מדדים בהתאמה אישית משרתי המודלים, עוזרת לוודא שהבקשות הנכנסות נשלחות לאשכול או למופע המודל המתאימים ביותר, וכך למקסם את הביצועים ואת ניצול המשאבים. לדוגמה, אפשר לנתב בקשות לאשכול עם קיבולת ההסקה הזמינה הגדולה ביותר על סמך מדדים כמו השימוש במטמון של זוגות מפתח/ערך (KV).

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