llm-d

במסמך הזה מוסבר איך להשתמש בשירות המנוהל של Google Cloud ל-Prometheus בפריסה של Google Kubernetes Engine כדי לאסוף מדדים מ-llm-d. llm-d מורכב מנתב llm-d (בוחר נקודות קצה, שנפרס במצב עצמאי או במצב שער עם GKE Gateway) ומשרתי מודלים כמו vLLM.

במאמרים הבאים מוסבר איך לאסוף מדדים מ-llm-d Router ומ-vLLM:

  • ‫נתב llm-d‏ (EPP): כשפורסים את הנתב באמצעות תרשים Helm של llm-d, צריך לכלול את המתכון monitoring-gke.values.yaml (router.monitoring.provider.name=gmp ו-router.monitoring.prometheus.enabled=true) כדי ליצור באופן אוטומטי את המשאב PodMonitoring ואת Secret לקריאת מדדים במרחב השמות של עומס העבודה. בפריסות עצמאיות של GKE Inference Gateway או בגרסאות של llm-d שקודמות לגרסה 0.8.0, קראו את המאמר GKE Inference Gateway.
  • ‫ vLLM: מפעילים את המעקב האוטומטי אחרי האפליקציה או משתמשים בהגדרות של PodMonitoring שמתוארות במסמך הזה כדי למפות את התווית של pod ה-llm-d.ai/role להפרדה של Prefill/Decode ‏ (P/D).

ההוראות במסמכים האלה רלוונטיות רק אם אתם משתמשים ב איסוף מנוהל עם שירות מנוהל ל-Prometheus. אם אתם משתמשים באיסוף בפריסה עצמית, עיינו במסמכי התיעוד של llm-d.

אחרי שמגדירים את llm-d Router ואת vLLM, אפשר לגשת למרכז בקרה מוגדר מראש ב-Cloud Monitoring כדי לראות את המדדים.

דרישות מוקדמות

כדי לאסוף מדדים מ-llm-d באמצעות השירות המנוהל ל-Prometheus ואיסוף מנוהל, הפריסה צריכה לעמוד בדרישות הבאות:

  • באשכול צריכה לפעול גרסה ‎1.28.15-gke.2475000 או גרסה חדשה יותר של Google Kubernetes Engine.
  • צריך להפעיל את השירות המנוהל ל-Prometheus עם איסוף מנוהל. מידע נוסף זמין במאמר תחילת העבודה עם אוסף מנוהל.

כדי לקבץ את המדדים של vLLM לפי התווית של Pod ב-llm-d.ai/role (לדוגמה, prefill ו-decode בפירוק של Prefill/Decode), צריך להחיל את המשאב PodMonitoring במרחב השמות של עומס העבודה:

apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
  name: llm-d-metrics
spec:
  selector:
    matchLabels:
      llm-d.ai/InferenceServing: "true"
  endpoints:
  - port: 8000
    interval: 15s
    path: /metrics
  targetLabels:
    fromPod:
    - from: llm-d.ai/role
      to: role
    metadata:
    - pod
    - container
    - node
    - top_level_controller_name
    - top_level_controller_type

צפייה במרכזי הבקרה

השילוב של Cloud Monitoring כולל את מרכזי הבקרה המאוחדים הבאים גם למצב עצמאי וגם למצב שער (הקטע Application Load Balancer מאוכלס כששרת ה-proxy של llm-d משתמש ב-GKE Inference Gateway):

  • ‫llm-d Overview: לגרסה v0.8.0 של llm-d ואילך (שולח שאילתות למדדים של llm_d_epp_* EPP לצד מדדים של מאזן עומסים של אפליקציות, רשתות GPU ו-vLLM).
  • ‫llm-d Overview (< v0.8.0): לגרסאות llm-d שקודמות ל-v0.8.0 (שאילתות למדדים של inference_objective_*).

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

כדי לראות מרכז בקרה שהותקן, מבצעים את הפעולות הבאות:

  1. נכנסים לדף  Dashboards במסוף Google Cloud :

    כניסה לדף Dashboards

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.

  2. לוחצים על הכרטיסייה רשימת מרכזי הבקרה.
  3. בוחרים בקטגוריה Integrations (שילובים).
  4. לוחצים על השם של מרכז הבקרה שרוצים לראות.

כדי לראות תצוגה מקדימה סטטית של מרכז הבקרה:

  1. נכנסים לדף  Integrations במסוף Google Cloud :

    עוברים אל שילובים.

    אם אתם משתמשים בשורת החיפוש כדי למצוא את הדף הזה, בחרו בתוצאה שכותרת המשנה שלה היא Monitoring.

  2. לוחצים על המסנן Kubernetes Engine של פלטפורמת הפריסה.
  3. מאתרים את השילוב של llm-d ולוחצים על הצגת פרטים.
  4. לוחצים על הכרטיסייה מרכזי בקרה.