בדף הזה מוסבר איך להגדיר GPU לעבודות ב-Cloud Run. מעבדי GPU מתאימים לעומסי עבודה של AI, כמו אימון מודלים גדולים של שפה (LLM) באמצעות מסגרות מועדפות, ביצוע הסקה אופליין או הסקה של אצווה ב-LLM, וטיפול במשימות אחרות שדורשות הרבה כוח מחשוב, כמו עיבוד וידאו ועיבוד גרפי כמשימות ברקע. Google מספקת GPU NVIDIA RTX PRO 6000 Blackwell עם זיכרון GPU (VRAM) בנפח 96GB ו-GPU NVIDIA L4 עם זיכרון GPU (VRAM) בנפח 24GB, שהוא נפרד מזיכרון המופע.
ה-GPU ב-Cloud Run מנוהל באופן מלא, ולא נדרשים מנהלי התקנים או ספריות נוספים. תכונת ה-GPU מציעה זמינות על פי דרישה ללא צורך בהזמנות, בדומה לאופן שבו CPU על פי דרישה וזיכרון על פי דרישה פועלים ב-Cloud Run.
מופעים של Cloud Run עם יחידת GPU מסוג NVIDIA RTX PRO 6000 Blackwell או L4 עם דרייברים מותקנים מראש מתחילים לפעול תוך כ-5 שניות, ובשלב הזה התהליכים שפועלים בקונטיינר יכולים להתחיל להשתמש ב-GPU.
אפשר להגדיר GPU אחד לכל מופע של Cloud Run. אם משתמשים במאגרי sidecar, חשוב לזכור שאפשר לצרף את ה-GPU רק למאגר אחד.
סוגי GPU נתמכים
Cloud Run תומך בשני סוגים של יחידות GPU:
- NVIDIA RTX PRO 6000 Blackwell GPU עם הגרסה הנוכחית של דרייבר NVIDIA: 580.x.x (13.0). כדי להשתמש ב-GPU NVIDIA RTX PRO 6000 Blackwell, צריך להשתמש ב-20 ליבות CPU ובזיכרון בנפח 80GiB לפחות.
- L4 GPU עם הגרסה הנוכחית של הדרייבר של NVIDIA: 580.x.x (13.0). ב-GPU מסוג L4, צריך להשתמש ב-4 מעבדים לפחות ובזיכרון בנפח 16GiB.
אזורים נתמכים
האזורים הבאים נתמכים על ידי NVIDIA RTX PRO 6000 Blackwell GPU:
asia-southeast1(סינגפור).asia-south2(דלהי, הודו).europe-west4(הולנד)רמה נמוכה של CO2
us-central1(אייווה)רמה נמוכה של CO2
האזורים הבאים נתמכים על ידי L4 GPU:
asia-southeast1(סינגפור)asia-south1(מומבאי) . האזור הזה זמין רק בהזמנה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.europe-west1(בלגיה)רמה נמוכה של CO2
europe-west4(הולנד)רמה נמוכה של CO2
us-central1(אייווה)רמה נמוכה של CO2 . יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
-
us-east4(צפון וירג'יניה) . יכול להיות שיהיה צורך לשלוח בקשה להגדלת המכסה כדי להרחיב את השימוש במשאבים באזור הזה. אם אתם מעוניינים באזור הזה, תוכלו לפנות לצוות התמיכה בחשבונות Google.
השפעה על התמחור
פרטים על תמחור של GPU זמינים במאמר תמחור של Cloud Run. שימו לב לדרישות ולשיקולים הבאים:
- התמחור של יחידות GPU לעבודות הוא ללא יתירות אזורית.
- הגדרות המעבד (CPU) והזיכרון של המשאב.
- החיוב על ה-GPU מתבצע לכל משך מחזור החיים של המופע.
יתירות של GPU שלא מוגבלת לאזור
התכונה 'משימות Cloud Run' מספקת תמיכה ביתירות לא אזורית רק למופעים עם GPU. אם מופעלת יתירות לא אזורית, מערכת Cloud Run מנסה לבצע מעבר לגיבוי במקרה של כשל במשימות שמופעל בהן GPU, על בסיס האפשרות הטובה ביותר. מערכת Cloud Run מעבירה את ההרצה של משימות לאזורים אחרים רק אם יש מספיק קיבולת של GPU באותו רגע. אפשרות זו אינה מבטיחה קיבולת שמורה עבור תרחישי יתירות כשל, אך מביאה לעלות נמוכה יותר לשנייה של GPU.
ראה הגדרת משימת Cloud Run עם GPU לקבלת פרטים על הפעלת יתירות שאינה אזורית.
שליחת בקשה להגדלת המכסה
המיכסה של יחידות GPU ב-Cloud Run nvidia-rtx-pro-6000 ניתנת במילי-GPU. פרויקטים המשתמשים לראשונה ב-GPU של nvidia-rtx-pro-6000 באזור יקבלו אוטומטית מכסת 3,000 מילי-GPU (יתירות אזורית כבויה) בעת יצירת הפריסה הראשונה. זה שווה ל-3 יחידות GPU. כשיוצרים פריסה ראשונה בפרויקטים שמשתמשים ב-GPUnvidia-l4 של Cloud Run באזור מסוים בפעם הראשונה, מקבלים אוטומטית מכסת GPU של 3 (יתירות אזורית מושבתת).
שים לב כי מענק מכסה אוטומטי זה כפוף לזמינות בהתאם לקיבולת המעבד והזיכרון שלך. זה מגביל את ספירת ה-GPU שעשויים להיות פעילים בכל השירותים, העבודות ובריכות העובדים של הפרויקט בכל זמן נתון.
אם אתם צריכים עוד יחידות GPU של Cloud Run לעבודות, אתם יכולים לבקש הגדלה של המכסה.
לפני שמתחילים
ברשימה הבאה מפורטות הדרישות והמגבלות כשמשתמשים ב-GPU ב-Cloud Run:
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
מפעילים את Cloud Run API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים- כדי לשפר את הביצועים כשמשתמשים במשימות של Cloud Run עם GPU, מומלץ לעיין במאמר שיטות מומלצות: משימות של Cloud Run עם GPU.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות להגדרת משימות Cloud Run, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים במשימות:
- Cloud Run Developer (
roles/run.developer) – המשימה ב-Cloud Run - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) – זהות השירות
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם עבודת Cloud Run שלכם מתקשרת עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
הגדרת משימת Cloud Run לשימוש במעבדים גרפיים (GPUs)
אפשר להשתמש במסוף Google Cloud , ב-Google Cloud CLI או ב-YAML כדי להגדיר GPU.
המסוף
נכנסים לדף Jobs ב-Cloud Run במסוף Google Cloud :
לוחצים על Deploy container (פריסת מאגר תגים) כדי למלא את דף ההגדרות הראשוניות של המשימה. אם אתם מגדירים משימה קיימת, בוחרים את המשימה ולוחצים על View and edit job configuration (הצגה ועריכה של הגדרת המשימה).
לוחצים על Containers, Connections, Security (מאגרי תגים, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.
לוחצים על הכרטיסייה Containers (מאגרי תגים).
- מגדירים את המעבד, הזיכרון והבדיקה של הפעלת האפליקציה בהתאם להמלצות שבקטע לפני שמתחילים.
- סמן את תיבת הסימון של ה-GPU. אחר כך בוחרים את סוג ה-GPU בתפריט סוג ה-GPU ואת מספר ה-GPU בתפריט מספר ה-GPU.
לוחצים על יצירה או על עדכון.
gcloud
כדי לאפשר יתירות שאינה אזורית, עליך לציין --no-gpu-zonal-redundancy. הפעולה הזו נדרשת כדי להשתמש ב-GPU עם משימות.
כדי ליצור משימה באמצעות GPU מופעלים, השתמשו בפקודה gcloud run jobs create:
gcloud run jobs create JOB_NAME \ --image=IMAGE \ --gpu=1 \ --no-gpu-zonal-redundancy
מחליפים את מה שכתוב בשדות הבאים:
- JOB_NAME: השם של המשימה ב-Cloud Run.
-
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/job:latest.
כדי לעדכן את הגדרת ה-GPU של משימה, משתמשים בפקודה gcloud run jobs update:
gcloud run jobs update JOB_NAME \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --parallelism PARALLELISM \ --no-gpu-zonal-redundancy
מחליפים את מה שכתוב בשדות הבאים:
- JOB_NAME: השם של המשימה ב-Cloud Run.
-
IMAGE_URL: הפניה לקובץ אימג' בקונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/job:latest. - CPU: מספר יחידות ה-CPU. עבור NVIDIA RTX PRO 6000 Blackwell GPU,
צריך לציין לפחות
20CPU. ב-L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: נפח הזיכרון. במקרה של NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
80Gi (80 GiB). עבור L4 GPU, צריך לציין לפחות16Gi (16 GiB). - GPU_NUMBER: הערך
1(אחד). אם לא מציינים את הפרמטר הזה אבל מציינים GPU_TYPE, ברירת המחדל היא1. - GPU_TYPE: סוג ה-GPU. אם משתמשים ב-GPU NVIDIA RTX PRO 6000 Blackwell, מזינים
nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערךnvidia-l4(nvidia-L4 באותיות קטנות, לא הערך המספרי 14). - PARALLELISM: ערך של מספר שלם שקטן מהערך הנמוך ביותר של מגבלות המכסה הרלוונטיות שהקציתם לפרויקט.
YAML
צריך להגדיר את ההערה run.googleapis.com/gpu-zonal-redundancy-disabled: לערך true. כך מפעילים יתירות לא אזורית, שנדרשת ל-GPU לעבודות.
אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:
gcloud run jobs describe JOB_NAME --format export > job.yaml
מעדכנים את מאפיין
nvidia.com/gpu,annotations: run.googleapis.com/launch-stageבשלב ההשקה, ואתnodeSelector::
run.googleapis.com/acceleratorapiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'true' spec: template: spec: containers: - image: IMAGE_URL limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: 'GPU_NUMBER' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
מחליפים את מה שכתוב בשדות הבאים:
- JOB_NAME: השם של המשימה ב-Cloud Run.
-
IMAGE_URL: הפניה לקובץ אימג' של קונטיינר, לדוגמהus-docker.pkg.dev/cloudrun/container/job:latest - CPU: מספר ליבות ה-CPU. עבור NVIDIA RTX PRO 6000 Blackwell GPU,
צריך לציין לפחות
20CPU. ב-L4 GPU, צריך לציין לפחות4מעבדים. - MEMORY: נפח הזיכרון. במקרה של NVIDIA RTX PRO 6000 Blackwell
GPU, צריך לציין לפחות
80Gi (80 GiB). עבור GPU L4, עליך לציין לפחות16Gi(16 GiB). - GPU_NUMBER: הערך
1(אחד) כי אנחנו תומכים רק בצירוף של GPU אחד לכל מכונת Cloud Run. - GPU_TYPE: סוג ה-GPU. NVIDIA RTX PRO 6000 Blackwell GPU,
enter
nvidia-rtx-pro-6000. עבור L4 GPU, מזינים את הערךnvidia-l4(nvidia-L4 באותיות קטנות, לא הערך המספרי 14).
יוצרים או מעדכנים את העבודה באמצעות הפקודה הבאה:
gcloud run jobs replace job.yaml
אם קיים קובץ
job.yaml, הפקודהgcloud run jobs replaceמשתמשת בו כברירת מחדל.
הצגת הגדרות ה-GPU
כדי להציג את הגדרות ה-GPU הנוכחיות עבור משימת Cloud Run שלך:
המסוף
במסוף Google Cloud , נכנסים לדף Cloud Run jobs:
לוחצים על המשרה שמעניינת אתכם כדי לפתוח את הדף פרטי המשרה.
לוחצים על View and Edit job configuration (הצגה ועריכה של הגדרות העבודה).
מחפשים את הגדרת ה-GPU בפרטי ההגדרה.
gcloud
משתמשים בפקודה הבאה:
gcloud run jobs describe JOB_NAME
אתר את הגדרת ה-GPU בתצורה המוחזרת.
ניתוק משאבי GPU ממשימה
אפשר לנתק משאבי GPU מעבודה באמצעות Google Cloud המסוף, Google Cloud CLI או YAML.
המסוף
נכנסים לדף Jobs ב-Cloud Run במסוף Google Cloud :
ברשימת המשרות, לחץ על משרה כדי לפתוח את פרטיה.
לוחצים על הצגה ועריכה של הגדרות העבודה.
לוחצים על Containers, Connections, Security (מאגרי תגים, חיבורים, אבטחה) כדי להרחיב את דף מאפייני העבודה.
לוחצים על הכרטיסייה מאגר תגים.
- מבטלים את הסימון של תיבת הסימון GPU.
לוחצים על עדכון.
gcloud
כדי לנתק משאבי GPU מהג'וב של Cloud Run, מגדירים את מספר ה-GPU ל-0 באמצעות הפקודה gcloud run jobs update:
gcloud run jobs update JOB_NAME --gpu 0
מחליפים את JOB_NAME בשם של העבודה ב-Cloud Run.
YAML
אם אתם יוצרים משרה חדשה, דלגו על השלב הזה. אם אתם מעדכנים משימה קיימת, אתם צריכים להוריד את הגדרת ה-YAML שלה:
gcloud run jobs describe JOB_NAME --format export > job.yaml
מוחקים את השורות
nvidia.com/gpu:,run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'ו-nodeSelector: run.googleapis.com/accelerator: GPU_TYPE.יוצרים או מעדכנים את העבודה באמצעות הפקודה הבאה:
gcloud run jobs replace job.yaml
אם קיים קובץ
job.yaml, הפקודהgcloud run jobs replaceמשתמשת בו כברירת מחדל.
ספריות של מנהלי התקנים
כברירת מחדל, כל ספריות הדרייברים של NVIDIA RTX PRO 6000 Blackwell GPU ו-NVIDIA L4 GPU מותקנות בתיקייה /usr/local/nvidia/lib64. Cloud Run מוסיף את הנתיב הזה באופן אוטומטי למשתנה הסביבה LD_LIBRARY_PATH (כלומר ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) של הקונטיינר עם ה-GPU. כך המקשר הדינמי יכול למצוא את ספריות מנהלי ההתקנים של NVIDIA. ה-linker מחפש ומזהה נתיבים לפי הסדר שמופיע במשתנה הסביבה LD_LIBRARY_PATH. לכל ערך שמציינים במשתנה הזה יש עדיפות על פני נתיב ברירת המחדל של ספריות מנהלי התקנים של Cloud Run /usr/local/nvidia/lib64.
אם רוצים להשתמש בגרסת CUDA שגבוהה מ-13.0, הדרך הכי קלה היא להסתמך על תמונת בסיס חדשה יותר של NVIDIA עם חבילות תאימות קדימה שכבר מותקנות. אפשרות נוספת היא להתקין ידנית את חבילות התאימות קדימה של NVIDIA ולהוסיף אותן ל-LD_LIBRARY_PATH. כדאי לעיין בטבלת התאימות של NVIDIA כדי לדעת אילו גרסאות של CUDA תואמות לגרסת מנהל ההתקן של NVIDIA שסופקה.
מידע על יחידות GPU ועל מקביליות
אם אתם מריצים משימות מקבילות בהרצת עבודה, צריך לקבוע ולהגדיר ערך parallelism שהוא נמוך ממכסת ה-GPU ללא יתירות אזורית שהוקצתה לפרויקט. כדי לבקש להגדיל את המכסה, אפשר לעיין במאמר איך מגדילים את המכסה. משימות GPU מתחילות מהר ככל האפשר ומגיעות למקסימום שמשתנה בהתאם לכמות מכסת ה-GPU שהקצת לפרויקט ולאזור שנבחר. פריסות של Cloud Run נכשלות אם מגדירים מקביליות שגבוהה ממכסת ה-GPU.
כדי לחשב את מכסת ה-GPU שבה משתמשת המשימה שלך לכל ביצוע, הכפל את מספר ה-GPU לכל משימת עבודה בערך המקבילות. לדוגמה, אם מכסת ה-GPU שלכם היא 10, ואתם פורסים את העבודה ב-Cloud Run עם --gpu=1, --parallelism=10, העבודה תנצל את כל מכסת ה-GPU שלכם. לחלופין, אם פורסים עם --gpu=1, --parallelism=20, הפריסות ייכשלו.
למידע נוסף, ראו שיטות עבודה מומלצות: משימות Cloud Run עם מעבדים גרפיים (GPUs).
המאמרים הבאים
תוכלו להיעזר במדריכים שבמאמר הרצת היקש של AI ב-Cloud Run באמצעות יחידות GPU.