במדריך הזה נשתמש ב-Model Garden כדי לפרוס את המודל הפתוח Gemma 2 2B לנקודת קצה של Gemini Enterprise Agent Platform עם תמיכה ב-TPU. כדי להשתמש במודל כדי להציג תחזיות אונליין, צריך לפרוס את המודל לנקודת קצה. פריסת מודל משייכת למודל משאבים פיזיים כדי שהוא יוכל לספק תחזיות אונליין עם זמן אחזור נמוך.
אחרי שפורסים את מודל Gemma 2 2B, מסיקים מסקנות מהמודל שאומן באמצעות PredictionServiceClient כדי לקבל חיזויים אונליין. תחזיות אונליין הן בקשות סנכרוניות שנשלחות למודל שפריסתו מתבצעת לנקודת קצה (endpoint).
מטרות
במדריך הזה מוסבר איך לבצע את הפעולות הבאות:
- איך פורסים את המודל הפתוח Gemma 2 2B לנקודת קצה שמגובה על ידי TPU באמצעות Model Garden
- משתמשים ב-
PredictionServiceClientכדי לקבל תחזיות אונליין
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
-
A
ct5lp-hightpu-1tmachine type with one TPU_V5 accelerator - Gemini Enterprise Agent Platform prediction and explanation
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
כדי לבצע את הפעולות במדריך הזה, צריך:
- הגדרת פרויקט והפעלת Agent Platform API Google Cloud
- במכונה המקומית:
- התקנה, הפעלה ואימות באמצעות Google Cloud CLI
- התקנה של ה-SDK בשפה שלכם
הגדרת Google Cloud פרויקט
מגדירים את הפרויקט ב- Google Cloud ומפעילים את Agent Platform API.
- נכנסים לחשבון 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 API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
הגדרת Google Cloud CLI
במחשב המקומי, מגדירים את Google Cloud CLI.
-
מתקינים ומפעילים את Google Cloud CLI.
-
אם התקנתם בעבר את ה-CLI של gcloud, מריצים את הפקודה הזו כדי לוודא שהרכיבים של
gcloudמעודכנים.gcloud components update
-
כדי לבצע אימות באמצעות ה-CLI של gcloud, מריצים את הפקודה הזו כדי ליצור קובץ מקומי של Application Default Credentials (ADC). תהליך האינטרנט שמופעל על ידי הפקודה משמש להזנת פרטי הכניסה שלכם.
gcloud auth application-default login
למידע נוסף, ראו הגדרת אימות ב-CLI של gcloud והגדרת ADC.
הגדרת ה-SDK לשפת התכנות
כדי להגדיר את הסביבה שבה משתמשים במדריך הזה, צריך להתקין את Gemini Enterprise Agent Platform SDK בשפה שלכם ואת ספריית Protocol Buffers. בדוגמאות הקוד נעשה שימוש בפונקציות מהספרייה של מאגרי אחסון לפרוטוקולים כדי להמיר את מילון הקלט לפורמט JSON שה-API מצפה לו.
במחשב המקומי, לוחצים על אחת מהכרטיסיות הבאות כדי להתקין את ה-SDK עבור שפת התכנות שלכם.
Python
במחשב המקומי, לוחצים על אחת מהכרטיסיות הבאות כדי להתקין את ה-SDK בשפת התכנות הרצויה.
כדי להתקין ולעדכן את Agent Platform SDK for Python, מריצים את הפקודה הבאה.
pip3 install --upgrade "google-cloud-aiplatform>=1.64"
מריצים את הפקודה הבאה כדי להתקין את ספריית Protocol Buffers ל-Python.
pip3 install --upgrade "protobuf>=5.28"
Node.js
כדי להתקין או לעדכן את aiplatform SDK for Node.js, מריצים את הפקודה הבאה.
npm install @google-cloud/aiplatform
Java
כדי להוסיף את google-cloud-aiplatform כתלות, מוסיפים את הקוד המתאים לסביבה שלכם.
Maven עם BOM
מוסיפים את קוד ה-HTML הבא לקובץ pom.xml:
<dependencyManagement> <dependencies> <dependency> <artifactId>libraries-bom</artifactId> <groupId>com.google.cloud</groupId> <scope>import</scope> <type>pom</type> <version>26.34.0</version> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency> </dependencies>
Maven בלי BOM
מוסיפים את השורות הבאות לקובץ pom.xml:
<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-aiplatform</artifactId> <version>1.1.0</version> </dependency> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>5.28</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.11.0</version> </dependency>
Gradle ללא BOM
מוסיפים את הנתונים הבאים אל build.gradle:
implementation 'com.google.cloud:google-cloud-aiplatform:1.1.0'המשך
כדי להתקין את חבילות Go האלה, מריצים את הפקודות הבאות.
aiplatformספריית הלקוח של Go- קבלת תמיכה ב-Protocol Buffers
- Google API Extensions for Go (gax-go)
go get cloud.google.com/go/aiplatform go get google.golang.org/protobuf go get github.com/googleapis/gax-go/v2
פריסת Gemma באמצעות Model Garden
אתם פורסים את מודל Gemma 2 2B במכונה וירטואלית מסוג ct5lp-hightpu-1t Compute Engine, שמותאמת לאימון בקנה מידה קטן עד בינוני. במכונה הזו יש מאיץ TPU v5e. מידע נוסף על אימון מודלים באמצעות TPU זמין במאמר אימון ב-Cloud TPU v5e.
במדריך הזה נסביר איך לפרוס את מודל Gemma 2 2B בקוד פתוח שעבר כוונון לפי הוראות, באמצעות כרטיס המודל ב-Model Garden. גרסת המודל הספציפית היא gemma2-2b-it – -it מייצג כוונון לפי הוראות.
למודל Gemma 2 2B יש גודל פרמטרים קטן יותר, מה שאומר שדרישות המשאבים נמוכות יותר והגמישות בפריסה גבוהה יותר.
נכנסים לדף Model Garden במסוף Google Cloud .
לוחצים על כרטיס המודל Gemma 2.
לוחצים על Deploy (פריסה) כדי לפתוח את החלונית Deploy model (פריסת מודל).
בחלונית Deploy model (פריסת המודל), מציינים את הפרטים הבאים.
בקטע סביבת פריסה, לוחצים על Agent Platform.
בקטע Deploy model (פריסת מודל):
בשדה מזהה המשאב, בוחרים באפשרות
gemma-2b-it.בקטעים Model name ו-Endpoint name, מאשרים את ערכי ברירת המחדל. לדוגמה:
- שם הדגם:
gemma2-2b-it-1234567891234 - שם נקודת הקצה:
gemma2-2b-it-mg-one-click-deploy
רושמים את שם נקודת הקצה. תצטרכו אותו כדי למצוא את מזהה נקודת הקצה שמשמש בדוגמאות הקוד.
- שם הדגם:
בקטע הגדרות הפריסה:
מאשרים את אפשרות ברירת המחדל להגדרות בסיסיות.
בשדה Region (אזור), מאשרים את ערך ברירת המחדל או בוחרים אזור מהרשימה. רושמים את האזור. תצטרכו אותו לדוגמאות הקוד.
בקטע Machine spec, בוחרים את המכונה הווירטואלית עם TPU:
ct5lp-hightpu-1t (1 TPU_V5_LITEPOD; ct5lp-hightpu-1t).
לוחצים על פריסה. בסיום הפריסה, תקבלו אימייל עם פרטים על נקודת הקצה החדשה. אפשר גם לראות את פרטי נקודת הקצה בלחיצה על Online prediction > Endpoints (חיזוי אונליין > נקודות קצה) ובחירה באזור.
הסקת מסקנות של Gemma 2 2B באמצעות PredictionServiceClient
אחרי שמפעילים את Gemma 2 2B, משתמשים ב-PredictionServiceClient כדי לקבל תחזיות אונליין להנחיה: "למה השמיים כחולים?"
פרמטרים של קוד
בדוגמאות הקוד של PredictionServiceClient צריך לעדכן את הפרטים הבאים.
PROJECT_ID: כדי למצוא את מזהה הפרויקט, פועלים לפי השלבים הבאים.נכנסים לדף Welcome במסוף Google Cloud .
בוחרים את הפרויקט מתוך כלי לבחירת פרויקטים בחלק העליון של הדף.
שם הפרויקט, מספר הפרויקט ומזהה הפרויקט מופיעים אחרי הכותרת Welcome.
ENDPOINT_REGION: האזור שבו פרסתם את נקודת הקצה.
ENDPOINT_ID: כדי למצוא את מזהה נקודת הקצה, אפשר לראות אותו במסוף או להריץ את הפקודהgcloud ai endpoints list. תצטרכו את שם נקודת הקצה והאזור מהחלונית Deploy model.המסוף
כדי לראות את הפרטים של נקודת הקצה, לוחצים על Online prediction (חיזוי אונליין) > Endpoints (נקודות קצה) ובוחרים את האזור. שימו לב למספר שמופיע בעמודה
ID.gcloud
כדי לראות את פרטי נקודת הקצה, מריצים את הפקודה
gcloud ai endpoints list.gcloud ai endpoints list \ --region=ENDPOINT_REGION \ --filter=display_name=ENDPOINT_NAMEהפלט אמור להיראות כך:
Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deploy
קוד לדוגמה
בקוד לדוגמה בשפה שלכם, מעדכנים את PROJECT_ID, ENDPOINT_REGION ו-ENDPOINT_ID. לאחר מכן מריצים את הקוד.
Python
במאמר התקנת Vertex AI SDK ל-Python מוסבר איך להתקין או לעדכן את Vertex AI SDK ל-Python. מידע נוסף מופיע ב מאמרי העזרה של Python API.
Node.js
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Node.jsההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Javaההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
לפני שמנסים את הדוגמה הזו, צריך לפעול לפי Goההוראות להגדרה במאמר מדריך למתחילים של Agent Platform באמצעות ספריות לקוח.
כדי לבצע אימות ב-Agent Platform, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת משאבים בודדים
אם אתם רוצים לשמור את הפרויקט, אתם צריכים למחוק את המשאבים שבהם השתמשתם במדריך הזה:
- ביטול הפריסה של המודל ומחיקת נקודת הקצה
- מחיקת המודל ממרשם המודלים
ביטול הפריסה של המודל ומחיקת נקודת הקצה
כדי לבטל את הפריסה של מודל ולמחוק את נקודת הקצה, אפשר להשתמש באחת מהשיטות הבאות.
המסוף
במסוף Google Cloud , לוחצים על חיזוי מיידי ואז על נקודות קצה.
בתפריט הנפתח Region, בוחרים את האזור שבו פרסתם את נקודת הקצה.
לוחצים על שם נקודת הקצה כדי לפתוח את דף הפרטים. לדוגמה:
gemma2-2b-it-mg-one-click-deploy.בשורה של מודל
Gemma 2 (Version 1), לוחצים על Actions ואז על Undeploy model from endpoint.בתיבת הדו-שיח Undeploy model from endpoint (ביטול הפריסה של המודל מנקודת הקצה), לוחצים על Undeploy (ביטול הפריסה).
לוחצים על הלחצן הקודם כדי לחזור לדף Endpoints.
בסוף השורה
gemma2-2b-it-mg-one-click-deploy, לוחצים על Actions (פעולות) ואז בוחרים באפשרות Delete endpoint (מחיקת נקודת קצה).בהודעת האישור, לוחצים על אישור.
gcloud
כדי לבטל את הפריסה של המודל ולמחוק את נקודת הקצה באמצעות Google Cloud CLI, פועלים לפי השלבים הבאים.
בפקודות האלה, מחליפים את:
- PROJECT_ID בשם הפרויקט
- LOCATION_ID עם האזור שבו פרסתם את המודל ואת נקודת הקצה
- ENDPOINT_ID עם מזהה נקודת הקצה
- DEPLOYED_MODEL_NAME עם השם המוצג של המודל
- DEPLOYED_MODEL_ID עם מזהה המודל
מריצים את הפקודה
gcloud ai endpoints listכדי לקבל את מזהה נקודת הקצה. הפקודה הזו מציגה רשימה של מזהי נקודות הקצה של כל נקודות הקצה בפרויקט. חשוב לשים לב למזהה של נקודת הקצה שבה נעשה שימוש במדריך הזה.gcloud ai endpoints list \ --project=PROJECT_ID \ --region=LOCATION_IDהפלט אמור להיראות כך: בפלט, המזהה נקרא
ENDPOINT_ID.Using endpoint [https://us-central1-aiplatform.googleapis.com/] ENDPOINT_ID: 1234567891234567891 DISPLAY_NAME: gemma2-2b-it-mg-one-click-deployמריצים את הפקודה
gcloud ai models describeכדי לקבל את מזהה המודל. רושמים בצד את המזהה של המודל שפרסתם במדריך הזה.gcloud ai models describe DEPLOYED_MODEL_NAME \ --project=PROJECT_ID \ --region=LOCATION_IDהפלט המקוצר נראה כך: בפלט, המזהה נקרא
deployedModelId.Using endpoint [https://us-central1-aiplatform.googleapis.com/] artifactUri: [URI removed] baseModelSource: modelGardenSource: publicModelName: publishers/google/models/gemma2 ... deployedModels: - deployedModelId: '1234567891234567891' endpoint: projects/12345678912/locations/us-central1/endpoints/12345678912345 displayName: gemma2-2b-it-12345678912345 etag: [ETag removed] modelSourceInfo: sourceType: MODEL_GARDEN name: projects/123456789123/locations/us-central1/models/gemma2-2b-it-12345678912345 ...מבטלים את הפריסה של המודל מנקודת הקצה. תצטרכו את מזהה נקודת הקצה ואת מזהה המודל מהפקודות הקודמות.
gcloud ai endpoints undeploy-model ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_ID \ --deployed-model-id=DEPLOYED_MODEL_IDהפקודה הזו לא יוצרת פלט.
מריצים את הפקודה
gcloud ai endpoints deleteכדי למחוק את נקודת הקצה.gcloud ai endpoints delete ENDPOINT_ID \ --project=PROJECT_ID \ --region=LOCATION_IDכשמופיעה בקשה, מקלידים
yכדי לאשר. הפקודה הזו לא יוצרת פלט.
מחיקת המודל
המסוף
עוברים לדף מרשם המודלים בקטע Agent Platform במסוף Google Cloud .
בתפריט הנפתח Region, בוחרים את האזור שבו פרסתם את המודל.
בסוף השורה
gemma2-2b-it-1234567891234, לוחצים על פעולות.בוחרים באפשרות מחיקת המודל.
כשמוחקים את המודל, כל הגרסאות וההערכות שמשויכות אליו נמחקות מהפרויקט Google Cloud .
בהודעת האישור, לוחצים על מחיקה.
gcloud
כדי למחוק את המודל באמצעות Google Cloud CLI, צריך להזין את שם התצוגה והאזור של המודל בפקודה gcloud ai models delete.
gcloud ai models delete DEPLOYED_MODEL_NAME \
--project=PROJECT_ID \
--region=LOCATION_ID
מחליפים את DEPLOYED_MODEL_NAME בשם לתצוגה של המודל. מחליפים את PROJECT_ID בשם הפרויקט. מחליפים את LOCATION_ID באזור שבו פרסתם את המודל.
המאמרים הבאים
- מידע נוסף על מודלים פתוחים של Gemma
- מומלץ לקרוא את התנאים וההגבלות של Gemma.
- מידע נוסף על מודלים פתוחים
- איך פורסים מודל שעבר התאמה
- איך פורסים את Gemma 2 ב-Google Kubernetes Engine באמצעות HuggingFace Textgen Inference (TGI)
- מידע נוסף על
PredictionServiceClientבשפה המועדפת עליכם: Python, Node.js, Java או Go.