יצירת תבנית בזמן ריצה
בדף הזה מוסבר איך ליצור תבנית של סביבת זמן ריצה ב-Colab Enterprise.
כדי להריץ קוד במחברת, משתמשים במשאב מחשוב שנקרא סביבת ריצה. אפשר להשתמש בזמן הריצה שמוגדר כברירת מחדל או בזמן ריצה שנוצר מתבנית של זמן ריצה. כשיוצרים תבנית בזמן ריצה, אפשר להגדיר את התבנית כך שתבצע אופטימיזציה של הביצועים, העלות ומאפיינים אחרים של זמן הריצה בהתאם לצרכים שלכם.
מידע נוסף על סביבות זמן ריצה ותבניות של סביבות זמן ריצה
לפני שמתחילים
- נכנסים לחשבון 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.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
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.
Enable the Agent Platform, Dataform, and Compute Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות ליצירת תבנית של סביבת זמן ריצה ב-Colab Enterprise, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין של Colab Enterprise (roles/aiplatform.colabEnterpriseAdmin) בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת תבנית זמן הריצה
כדי ליצור תבנית של סביבת זמן ריצה, אפשר להשתמש במסוף Google Cloud , ב-Google Cloud CLI, ב-API בארכיטקטורת REST או ב-Terraform.
המסוף
כדי ליצור תבנית של זמן ריצה:
-
במסוף Google Cloud , נכנסים לדף Runtime templates של Colab Enterprise.
-
לוחצים על תבנית חדשה.
מופיעה תיבת הדו-שיח יצירת תבנית חדשה של זמן ריצה.
מידע בסיסי על זמן ריצה
-
בקטע Runtime basics, מזינים Display name.
-
בתפריט אזור, בוחרים את האזור שבו רוצים שהתבנית של זמן הריצה תהיה.
-
אופציונלי: מוסיפים תיאור של תבנית זמן הריצה.
-
אופציונלי: כדי להוסיף תווית, לוחצים על הוספת תווית ואז מזינים צמד של מפתח וערך. כדי להוסיף עוד תוויות, חוזרים על השלב הזה.
-
לוחצים על Continue.
הגדרת מחשוב
-
בקטע Configure compute (הגדרת מחשוב), בתפריט Machine type (סוג המכונה), בוחרים סוג מכונה. מידע על סוגי מכונות זמין במאמר השוואה בין משפחות של מכונות ומשאבים.
אם בוחרים סוג מכונה עם GPU, בוחרים את סוג המאיץ ואת מספר המאיצים. אם אתם לא מצליחים לבחור את מספר ה-GPU הרצוי, יכול להיות שתצטרכו להגדיל את המכסה. איך שולחים בקשה לשינוי המכסות
-
בתפריט Data disk type (סוג דיסק הנתונים), בוחרים סוג דיסק.
-
בשדה Data disk size (גודל דיסק הנתונים), מזינים גודל ב-GB.
-
בקטע Idle shutdown (כיבוי במצב לא פעיל):
-
כדי להשבית את ההגדרה של כיבוי כשאין פעילות, מבטלים את הסימון בתיבה הפעלה של כיבוי כשאין פעילות.
-
כדי לשנות את משך הזמן של חוסר הפעילות, בשדה משך הזמן של חוסר פעילות לפני כיבוי (בדקות), משנים את המספר למספר הדקות של חוסר הפעילות שרוצים. במסוף Google Cloud , אפשר להגדיר את ההגדרה הזו לכל ערך של מספר שלם מ-10 עד 1,440.
-
-
לוחצים על Continue.
סביבה
-
בקטע Environment, בוחרים Environment. ברירת המחדל היא הגרסה האחרונה (נכון לעכשיו, Python 3.12).
-
אופציונלי: בשדה Post-startup script, מזינים את ה-URI של סקריפט אחרי ההפעלה. מידע נוסף על שימוש בסקריפט לטעינה אחרי ההפעלה זמין במאמר בנושא שימוש בסקריפט לטעינה אחרי ההפעלה.
-
אופציונלי: בקטע Post-startup script URL (כתובת URL של סקריפט אחרי הפעלה), בוחרים את ההתנהגות של הסקריפט אחרי ההפעלה. התנהגות ברירת המחדל היא הפעלה חד-פעמית. מידע נוסף זמין במאמר בנושא התנהגות הסקריפט אחרי ההפעלה.
-
אופציונלי: כדי להוסיף משתנה סביבה, לוחצים על הוספת משתנה סביבה ואז מזינים צמד של מפתח וערך. כדי להוסיף עוד משתני סביבה, חוזרים על השלב הזה.
-
לוחצים על Continue.
רשתות ואבטחה
-
בקטע Networking and security (רשתות ואבטחה), בתפריט Network (רשת), בוחרים רשת. אם לא בוחרים רשת, המערכת בוחרת את רשת ברירת המחדל.
-
בתפריט רשת משנה, בוחרים רשת משנה.
-
כדי להשבית את הגישה לכולם באינטרנט, מסירים את הסימון מהתיבה שליד הפעלת גישה לכולם באינטרנט.
-
כדי להשבית את הגישה של משתמשי קצה לפרטי הכניסה, מבטלים את הסימון של הפעלת פרטי כניסה של משתמשי קצה.
סיום יצירת תבנית זמן הריצה
לוחצים על יצירה כדי לסיים את יצירת תבנית זמן הריצה.
תבנית זמן הריצה מופיעה ברשימה בכרטיסייה Runtime templates (תבניות זמן ריצה).
gcloud
לפני השימוש בנתוני הפקודה הבאים, צריך להחליף את הנתונים הבאים:
-
DISPLAY_NAME: השם המוצג של תבנית זמן הריצה. PROJECT_ID: מזהה הפרויקט.-
REGION: האזור שבו רוצים להשתמש בתבנית זמן הריצה. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש בזמן הריצה. -
ACCELERATOR_TYPE: סוג ההאצה של החומרה שרוצים להשתמש בה בזמן הריצה. -
ACCELERATOR_COUNT: מספר המאיצים לשימוש בזמן הריצה.
מריצים את הפקודה הבאה:
Linux, macOS או Cloud Shell
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" \ --project=PROJECT_ID \ --region=REGION \ --machine-type=MACHINE_TYPE \ --accelerator-type=ACCELERATOR_TYPE \ --accelerator-count=ACCELERATOR_COUNT
Windows (PowerShell)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ` --project=PROJECT_ID ` --region=REGION ` --machine-type=MACHINE_TYPE ` --accelerator-type=ACCELERATOR_TYPE ` --accelerator-count=ACCELERATOR_COUNT
Windows (cmd.exe)
gcloud colab runtime-templates create --display-name="DISPLAY_NAME" ^ --project=PROJECT_ID ^ --region=REGION ^ --machine-type=MACHINE_TYPE ^ --accelerator-type=ACCELERATOR_TYPE ^ --accelerator-count=ACCELERATOR_COUNT
למידע נוסף על הפקודה ליצירת תבנית של סביבת זמן ריצה משורת הפקודה, אפשר לעיין במסמכי התיעוד של ה-CLI של gcloud.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
REGION: האזור שבו רוצים להשתמש בתבנית זמן הריצה. PROJECT_ID: מזהה הפרויקט.-
DISPLAY_NAME: השם המוצג של תבנית זמן הריצה. -
MACHINE_TYPE: סוג המכונה שבה רוצים להשתמש בזמן הריצה. -
ACCELERATOR_TYPE: סוג ההאצה של החומרה שרוצים להשתמש בה בזמן הריצה. -
ACCELERATOR_COUNT: מספר המאיצים לשימוש בזמן הריצה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates
גוף בקשת JSON:
{
"displayName": "DISPLAY_NAME",
"machineSpec": {
{
"machineType": MACHINE_TYPE
"acceleratorType": ACCELERATOR_TYPE,
"acceleratorCount": ACCELERATOR_COUNT,
}
},
}
כדי לשלוח את הבקשה עליכם לבחור אחת מהאפשרויות הבאות:
curl
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates"
PowerShell
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/notebookRuntimeTemplates" | Select-Object -Expand Content
מידע נוסף זמין במסמכי התיעוד של notebookRuntimeTemplates.create REST API.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform. למידע נוסף, ראו את מאמרי העזרה לספקים של Terraform.
בדוגמה הבאה נעשה שימוש במשאב Terraform google_colab_runtime_template
כדי ליצור תבנית של זמן ריצה ב-Colab Enterprise.
הענקת גישה לתבנית של זמן הריצה
אחרי שיוצרים תבנית של זמן ריצה, צריך להעניק גישה למנהל כדי שיוכל להשתמש בה. גורם ראשי יכול ליצור סביבת זמן ריצה מתבנית של סביבת זמן ריצה רק אם יש לו את הדברים הבאים:
- גישה לתבנית של זמן הריצה.
- ההרשאות שנדרשות ליצירת סביבות זמן ריצה.
מידע נוסף מופיע במאמר ניהול הגישה לתבנית של זמן ריצה.
שימוש ב-Colab Enterprise ברשת VPC משותפת
כשיוצרים תבנית או סביבת זמן ריצה בפרויקט שירות של רשת VPC משותפת, צריך להעניק לסוכן השירות של Gemini Enterprise Agent Platform (service-SERVICE_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) הרשאות ספציפיות בפרויקט המארח. ההרשאות האלה משמשות לביצוע הפעולות הבאות:
- כשיוצרים את תבנית זמן הריצה, צריך לוודא שהרשת ורשת המשנה קיימות ושיש אליהן גישה.
- כשיוצרים סביבת ריצה, מקצים את המכונה הווירטואלית הבסיסית של Compute Engine ברשת ה-VPC המשותפת.
כדי לוודא שלסוכן השירות של Gemini Enterprise Agent Platform יש את ההרשאות הנדרשות להפעלת תבנית זמן ריצה וזמן ריצה ברשת VPC משותפת, צריך לבקש מהאדמין להקצות לסוכן השירות של Gemini Enterprise Agent Platform את תפקיד ה-IAM Compute Network User (roles/compute.networkUser) בפרויקט המארח.
יכול להיות שהאדמין יוכל גם לתת לסוכן השירות של Gemini Enterprise Agent Platform את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
תזמון הפעלות של מחברות ברשת VPC משותפת
אם רוצים להשתמש בכלי לתזמון מחברות עם תבנית זמן ריצה או עם זמן ריצה בפרויקט שירות של רשת VPC משותפת, צריך להעניק לסוכן השירות של Colab Enterprise (service-SERVICE_PROJECT_NUMBER@gcp-sa-vertex-nb.iam.gserviceaccount.com) הרשאות ספציפיות בפרויקט המארח. ההרשאות האלה משמשות ליצירת מכונת ה-VM הבסיסית ב-Compute Engine.
כדי לוודא שלסוכן השירות של Colab Enterprise יש את ההרשאות שנדרשות לשימוש במחברות מתוזמנות ברשת VPC משותפת, צריך לבקש מהאדמין להקצות לסוכן השירות של Colab Enterprise את תפקיד ה-IAM Compute Network User (roles/compute.networkUser) בפרויקט המארח.
יכול להיות שהאדמין גם יוכל לתת לסוכן השירות של Colab Enterprise את ההרשאות שנדרשות באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מחיקה של תבנית זמן ריצה
כדי למחוק תבנית של זמן ריצה:
-
במסוף Google Cloud , נכנסים לדף Runtime templates של Colab Enterprise.
-
בתפריט Region (אזור), בוחרים את האזור שבו נמצאת תבנית זמן הריצה.
-
בוחרים את תבנית זמן הריצה שרוצים למחוק.
-
לוחצים על מחיקה.
-
לוחצים על אישור.
פתרון בעיות
בקטע הזה מוסבר איך לפתור בעיות שקשורות ליצירת תבניות של זמן ריצה ב-Colab Enterprise.
אי אפשר לבחור מספיק יחידות GPU
בזמן יצירת תבנית של סביבת ריצה, אי אפשר לבחור את מספר ה-GPU הרצוי. יכול להיות שאין לכם מספיק מכסה.
Colab Enterprise משתמש במכסה של Compute Engine עבור מעבדי GPU. מידע נוסף זמין במאמר מכסות ומגבלות ב-Compute Engine – סקירה כללית.
כדי לפתור את הבעיה, צריך לבקש שינוי במכסה.
המאמרים הבאים
- מידע נוסף על סביבות זמן ריצה ותבניות של סביבות זמן ריצה
- איך יוצרים סביבת ריצה על סמך תבנית של סביבת ריצה.