כשמבצעים אימון ללא שרת ב-Gemini Enterprise Agent Platform, צריך לציין איזה קוד של למידת מכונה (ML) רוצים ש-Gemini Enterprise Agent Platform יריץ. כדי לעשות את זה, מגדירים את ההגדרות של קונטיינר האימון עבור קונטיינר בהתאמה אישית או אפליקציית אימון של Python שפועלת בקונטיינר מוכן מראש.
כדי להחליט אם רוצים להשתמש במאגר תגים בהתאמה אישית או במאגר תגים מוכן מראש, כדאי לקרוא את המאמר דרישות קוד ההדרכה.
במסמך הזה מתוארים השדות של Agent Platform API שצריך לציין בכל אחד מהמקרים הקודמים.
איפה מציינים את הגדרות המאגר
מציינים את פרטי ההגדרה בתוך תג WorkerPoolSpec. בהתאם לאופן שבו מבצעים אימון ללא שרת, צריך להזין את הערך WorkerPoolSpec באחד משדות ה-API הבאים:
אם יוצרים
CustomJobמשאב, מציינים אתWorkerPoolSpecב-CustomJob.jobSpec.workerPoolSpecs.אם אתם משתמשים ב-Google Cloud CLI, אתם יכולים להשתמש בדגל
--worker-pool-specאו בדגל--configבפקודהgcloud ai custom-jobs createכדי לציין אפשרויות של מאגר עובדים.אם יוצרים
HyperparameterTuningJobמשאב, מציינים אתWorkerPoolSpecב-HyperparameterTuningJob.trialJobSpec.workerPoolSpecs.אם אתם משתמשים ב-CLI של gcloud, אתם יכולים להשתמש בדגל
--configבפקודהgcloud ai hpt-tuning-jobs createכדי לציין אפשרויות של מאגר עובדים.אם יוצרים
TrainingPipelineמשאב בלי כוונון היפרפרמטרים, מציינים אתWorkerPoolSpecב-TrainingPipeline.trainingTaskInputs.workerPoolSpecs.אם יוצרים
TrainingPipelineעם כוונון של היפר-פרמטרים, צריך לציין אתWorkerPoolSpecב-TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs.
אם אתם מבצעים אימון מבוזר, אתם יכולים להשתמש בהגדרות שונות לכל מאגר עובדים.
קביעת הגדרות של מאגרי תגים
בהתאם לסוג מאגר התגים שבו אתם משתמשים (מאגר תגים מוכן מראש או מאגר תגים בהתאמה אישית), צריך לציין שדות שונים בתוך WorkerPoolSpec. בוחרים את הכרטיסייה של התרחיש הרלוונטי:
מאגר מוכן מראש
בוחרים מאגר תגים מוכן מראש שתומך במסגרת ה-ML שבה אתם מתכננים להשתמש לאימון. מציינים אחת מכתובות ה-URI של תמונת הקונטיינר בשדה
pythonPackageSpec.executorImageUri.מציינים את מזהי ה-URI של Cloud Storage של אפליקציית האימון של Python בשדה
pythonPackageSpec.packageUris.מציינים את מודול נקודת הכניסה של אפליקציית האימון בשדה
pythonPackageSpec.pythonModule.אפשר גם לציין רשימה של ארגומנטים בשורת הפקודה שיועברו למודול נקודת הכניסה של אפליקציית האימון בשדה
pythonPackageSpec.args.
בדוגמאות הבאות מודגש איפה מציינים את הגדרות הקונטיינר האלה כשיוצרים CustomJob:
המסוף
במסוף Google Cloud , אי אפשר ליצור CustomJob ישירות. עם זאת, אפשר ליצור TrainingPipeline שיוצר CustomJob. כשיוצרים TrainingPipeline במסוף Google Cloud , אפשר לציין הגדרות מוכנות מראש של מאגר תגים בשדות מסוימים בשלב Training container (מאגר תגים לאימון):
pythonPackageSpec.executorImageUri: משתמשים בתפריטים הנפתחים Model framework ו-Model framework version.
pythonPackageSpec.packageUris: משתמשים בשדה מיקום החבילה.
pythonPackageSpec.pythonModule: משתמשים בשדה Python module.
pythonPackageSpec.args: משתמשים בשדה Arguments (ארגומנטים).
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
למידע נוסף, אפשר לקרוא את המדריך ליצירת CustomJob.
מאגר תגים בהתאמה אישית
מציינים את ה-URI של Artifact Registry או Docker Hub של המאגר המותאם אישית בשדה
containerSpec.imageUri.אם רוצים לשנות את ההוראות של
ENTRYPOINTאוCMDבמאגר התגים, אפשר לציין את השדותcontainerSpec.commandאוcontainerSpec.args. השדות האלה משפיעים על הפעלת מאגר התגים בהתאם לכללים הבאים:אם לא מציינים אף אחד מהשדות: מאגר התגים יפעל בהתאם להוראה
ENTRYPOINTולהוראהCMD(אם היא קיימת). במאמרי העזרה של Docker מוסבר איךCMDו-ENTRYPOINTפועלים יחד.אם מציינים רק
containerSpec.command: מאגר התגים יפעל עם הערך שלcontainerSpec.commandבמקום ההוראהENTRYPOINT. אם יש תגCMDבמאגר התגים, המערכת מתעלמת ממנו.אם מציינים רק
containerSpec.args: מאגר התגים פועל בהתאם להוראהENTRYPOINT, והערך שלcontainerSpec.argsמחליף את ההוראהCMD.אם מציינים את שני השדות: מאגר התגים פועל עם
containerSpec.commandבמקום ההוראהENTRYPOINTועםcontainerSpec.argsבמקום ההוראהCMD.
בדוגמה הבאה אפשר לראות איפה מציינים חלק מההגדרות של מאגר התגים כשיוצרים CustomJob:
המסוף
במסוף Google Cloud , אי אפשר ליצור CustomJob ישירות. עם זאת, אפשר ליצור TrainingPipeline שיוצר CustomJob. כשיוצרים TrainingPipeline במסוף Google Cloud , אפשר לציין הגדרות מותאמות אישית של מאגר התגים בשדות מסוימים בשלב Training container (מאגר תגים לאימון):
containerSpec.imageUri: משתמשים בשדה Container image (קובץ אימג' של קונטיינר).
containerSpec.command: אי אפשר להגדיר את השדה הזה ב-API בGoogle Cloud מסוף.
containerSpec.args: משתמשים בשדה Arguments (ארגומנטים).
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Agent Platform Java API.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח. מידע נוסף מופיע במאמרי העזרה של Agent Platform Node.js API.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
למידע נוסף, אפשר לקרוא את המדריך ליצירת CustomJob.
המאמרים הבאים
- כך יוצרים
CustomJobומבצעים אימון ללא שרתים.