במדריך הזה נסביר איך לפרוס ולהכניס לשימוש בסביבת הייצור את Llama 4 Scout (17Bx16E), מודל שפה גדול (LLM) עם 17 מיליארד פרמטרים, ולהשתמש בו באמצעות vLLM framework. אתם פורסים את המודל הזה במכונה וירטואלית (VM) אחת מסוג A4 ב-Google Kubernetes Engine (GKE).
המדריך הזה מיועד למהנדסי למידת מכונה (ML), לאדמינים ולאופרטורים של פלטפורמות ולמומחי נתונים ו-AI שרוצים להשתמש ביכולות של Kubernetes לניהול קונטיינרים כדי לטפל בעומסי עבודה של הסקת מסקנות.
מטרות
אפשר לגשת אל Llama 4 באמצעות Hugging Face.
מכינים את הסביבה.
יוצרים אשכול GKE במצב Autopilot.
יוצרים סוד של Kubernetes לפרטי הכניסה של Hugging Face.
פורסים קונטיינר vLLM באשכול GKE.
אינטראקציה עם Llama 4 באמצעות curl.
מנקים את הבית.
עלויות
במדריך הזה נעשה שימוש ברכיבים של Google Cloud שחלים עליהם חיובים, כולל:
כדי ליצור הערכת עלויות על סמך השימוש החזוי, אתם יכולים להשתמש במחשבון התמחור.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשק ה-API הנדרש:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable container.googleapis.com
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את ממשק ה-API הנדרש:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable container.googleapis.com
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/container.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
- נכנסים לחשבון Hugging Face או יוצרים חשבון.
גישה ל-Llama 4 באמצעות Hugging Face
כדי להשתמש ב-Hugging Face כדי לגשת ל-Llama 4:
- חתימה על הסכם ההסכמה לשימוש ב-Llama 4
- יוצרים טוקן גישה ל-Hugging Face
read. - מעתיקים ושומרים את ערך טוקן הגישה
read. תשתמשו בו בהמשך המדריך הזה.
הכנת הסביבה
כדי להכין את הסביבה, מגדירים את המשתנים הבאים:
מחליפים את מה שכתוב בשדות הבאים:
YOUR_PROJECT_ID: המזהה של Google Cloud הפרויקט Google Cloud שבו רוצים ליצור את אשכול GKE.
YOUR_RESERVATION_NAME: כתובת ה-URL של ההזמנה שרוצים להשתמש בה כדי ליצור את אשכול GKE. בהתאם לפרויקט שבו קיימת ההזמנה, מציינים אחד מהערכים הבאים:ההזמנה קיימת בפרויקט:
YOUR_RESERVATION_NAMEההזמנה קיימת בפרויקט אחר, והפרויקט שלכם יכול להשתמש בה. מציינים את הנתיב המלא, שלרוב נקרא
RESERVATION_URL:projects/YOUR_RESERVATION_PROJECT_ID/reservations/YOUR_RESERVATION_NAME. מחליפים אתYOUR_RESERVATION_PROJECT_IDבמזהה הפרויקט שבו נוצרה ההזמנה המשותפת.מוודאים שלפרויקט יש את ההרשאות הנדרשות לשימוש בהזמנות מהפרויקט השני.
YOUR_CLUSTER_REGION: האזור שבו רוצים ליצור את אשכול GKE. אפשר ליצור את האשכול רק באזור שבו קיימת ההזמנה.
YOUR_CLUSTER_NAME: השם של אשכול GKE שרוצים ליצור.
YOUR_HUGGING_FACE_TOKEN: טוקן הגישה ל-Hugging Face שיצרתם בקטע הקודם.
YOUR_NETWORK_NAME: הרשת שבה נעשה שימוש באשכול GKE. מציינים אחד מהערכים הבאים:אם יצרתם רשת בהתאמה אישית, צריך לציין את שם הרשת.
אחרת, מציינים את הערך
default.
YOUR_SUBNETWORK_NAME: רשת המשנה שבה נעשה שימוש באשכול GKE. מציינים אחד מהערכים הבאים:אם יצרתם רשת משנה בהתאמה אישית, צריך לציין את השם של רשת המשנה. אפשר לציין רק רשת משנה שנמצאת באותו אזור של השריין.
אחרת, מציינים את הערך
default.
יצירה והגדרה של Google Cloud משאבים
כדי ליצור את המשאבים הנדרשים, פועלים לפי ההוראות שבקטע הזה.
יצירת אשכול GKE במצב Autopilot
כדי ליצור אשכול GKE במצב Autopilot, מריצים את הפקודה הבאה:
יכול להיות שיעבור קצת זמן עד ליצירת אשכול GKE. כדי לוודא ש- Google Cloud סיים ליצור את האשכול, עוברים אל Kubernetes clusters במסוף Google Cloud .
יצירת סוד של Kubernetes לאחסון פרטי הכניסה של Hugging Face
כדי ליצור סוד ב-Kubernetes לאחסון פרטי הכניסה שלכם ב-Hugging Face:
מגדירים את
kubectlלתקשורת עם אשכול GKE:יוצרים סוד של Kubernetes שמכיל את האסימון
read accessשל Hugging Face שיצרתם בשלב קודם:
פריסת קונטיינר vLLM באשכול GKE
כדי לפרוס את קונטיינר vLLM כדי להכניס לשימוש בסביבת הייצור את מודל Llama-4-Scout-17B-16E-Instruct:
יוצרים קובץ
vllm-l4-17b.yamlעם הפריסה של vLLM שבחרתם:מחילים את קובץ
vllm-l4-17b.yamlעל אשכול GKE:במהלך תהליך הפריסה, הקונטיינר צריך להוריד את מודל
Llama-4-Scout-17B-16E-Instructמ-Hugging Face. לכן, יכול להיות שיחלפו עד 30 דקות עד שהפריסה של מאגר התגים תושלם.כדי לראות את סטטוס ההשלמה, מריצים את הפקודה הבאה:
הדגל
--timeout=3000sמאפשר לפקודה לעקוב אחרי הפריסה למשך עד 50 דקות.
אינטראקציה עם Llama 4 באמצעות curl
כדי לאמת את מודל Llama 4 Scout שפרסתם:
מגדירים העברה ליציאה אחרת ל-Llama 4 Scout:
פותחים חלון טרמינל חדש. אחרי זה תוכלו לשוחח עם המודל באמצעות
curl:הפלט שיוצג יהיה דומה לזה:
{ "id": "chatcmpl-ec0ad6310c494a889b17600881c06e3d", "object": "chat.completion", "created": 1754073279, "model": "meta-llama/Llama-4-Scout-17B-16E-Instruct", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "A sailboat is a type of watercraft that uses the wind for propulsion, typically featuring a hull, mast, and one or more sails.", "refusal": null, "annotations": null, "audio": null, "function_call": null, "tool_calls": [], "reasoning_content": null }, "logprobs": null, "finish_reason": "stop", "stop_reason": null } ], "service_tier": null, "system_fingerprint": null, "usage": { "prompt_tokens": 19, "total_tokens": 49, "completion_tokens": 30, "prompt_tokens_details": null }, "prompt_logprobs": null, "kv_transfer_params": null }
מעקב אחר ביצועי המודל
כדי לעקוב אחרי הביצועים של המודל, אפשר להשתמש בשילוב של לוח הבקרה vLLM ב-Cloud Monitoring. במרכז הבקרה הזה אפשר לראות מדדי ביצועים חשובים כמו קצב העברת נתונים של טוקנים, זמן האחזור של הבקשות ושיעורי השגיאות.
במאמר vLLM בנושא יכולת צפייה במסמכי Cloud Monitoring מוסבר איך להשתמש ב Google Cloud שירות מנוהל ל-Prometheus כדי לאסוף מדדים מהמודל.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת המשאבים
כדי למחוק את הפריסה והשירות בקובץ
vllm-l4-17b.yamlואת הסוד של Kubernetes מאשכול GKE, מריצים את הפקודה הבאה:כדי למחוק את אשכול GKE, מריצים את הפקודה הבאה:
מחיקת פרויקט
כדי למחוק פרויקט Google Cloud :
gcloud projects delete PROJECT_ID