במדריך הזה נסביר איך להריץ מודל שפה גדול (LLM) בצינור עיבוד נתונים של Dataflow באמצעות Apache Beam RunInference API.
מידע נוסף על RunInference API זמין במאמר About Beam ML במסמכי התיעוד של Apache Beam.
קוד הדוגמה זמין ב-GitHub.
מטרות
- יצירת נושאים ומינויים ב-Pub/Sub עבור הקלט והתגובות של המודל.
- טוענים את המודל ל-Cloud Storage באמצעות משימה בהתאמה אישית ב-Gemini Enterprise Agent Platform.
- מריצים את הפייפליין.
- שואלים את המודל שאלה ומקבלים תשובה.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
כדי להתקין את יחסי התלות, צריך להריץ את המדריך הזה במחשב עם לפחות 5 GB של שטח פנוי בדיסק.
- נכנסים לחשבון 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 של Dataflow, Compute Engine, Cloud Storage, Pub/Sub ו-Agent Platform:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable dataflow.googleapis.com
compute.googleapis.com storage.googleapis.com pubsub.googleapis.com aiplatform.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/iam.serviceAccountUsergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
התקינו את ה-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 של Dataflow, Compute Engine, Cloud Storage, Pub/Sub ו-Agent Platform:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, נדרשת ההרשאה
serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידיםgcloud services enable dataflow.googleapis.com
compute.googleapis.com storage.googleapis.com pubsub.googleapis.com aiplatform.googleapis.com -
אם אתם משתמשים במעטפת מקומית, אתם צריכים ליצור פרטי כניסה לאימות מקומי עבור חשבון המשתמש:
gcloud auth application-default login
אם אתם משתמשים ב-Cloud Shell, אין צורך לבצע את הפעולה הזו.
אם מוחזרת שגיאת אימות ואתם משתמשים בספק זהויות חיצוני (IdP), ודאו ש נכנסתם ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
מעניקים תפקידים לחשבון המשתמש. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/iam.serviceAccountUsergcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
USER_IDENTIFIER: המזהה של חשבון המשתמש . לדוגמה,myemail@example.com. -
ROLE: תפקיד ה-IAM שאתם מקצים לחשבון המשתמש.
-
-
מקצים תפקידים לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/dataflow.adminroles/dataflow.workerroles/storage.adminroles/pubsub.editorroles/aiplatform.user
gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com" --role=SERVICE_ACCOUNT_ROLE
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.-
PROJECT_NUMBER: מספר הפרויקט. כדי למצוא את מספר הפרויקט, משתמשים בפקודהgcloud projects describe. -
SERVICE_ACCOUNT_ROLE: כל תפקיד בנפרד.
- מעתיקים את מזהה הפרויקט Google Cloud . תצטרכו את הערך הזה בהמשך המדריך.
יצירת Google Cloud המשאבים
בקטע הזה מוסבר איך ליצור את המשאבים הבאים:
- קטגוריה של Cloud Storage לשימוש כמיקום אחסון זמני
- נושא Pub/Sub להנחיות של המודל
- נושא ומינוי ב-Pub/Sub לתשובות של המודל
יצירת קטגוריה של Cloud Storage
יוצרים קטגוריה של Cloud Storage באמצעות ה-CLI של gcloud. הבאקט הזה משמש כמיקום אחסון זמני על ידי צינור Dataflow.
כדי ליצור את הקטגוריה, משתמשים בפקודה gcloud storage buckets create:
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
- BUCKET_NAME: שם לקטגוריה של Cloud Storage שעומד בדרישות למתן שמות לקטגוריות. שמות של קטגוריות ב-Cloud Storage חייבים להיות ייחודיים באופן גלובלי.
- LOCATION: המיקום של הקטגוריה.
מעתיקים את שם הקטגוריה. תצטרכו את הערך הזה בהמשך המדריך.
יצירת נושאים ומינויים ב-Pub/Sub
יוצרים שני נושאים ב-Pub/Sub ומינוי אחד. נושא אחד הוא הנחיות הקלט שאתם שולחים למודל. הנושא השני והמינוי שמצורף אליו מיועדים לתשובות של המודל.
כדי ליצור את הנושאים, מריצים את הפקודה
gcloud pubsub topics createפעמיים, פעם אחת לכל נושא:gcloud pubsub topics create PROMPTS_TOPIC_ID gcloud pubsub topics create RESPONSES_TOPIC_IDמחליפים את מה שכתוב בשדות הבאים:
- PROMPTS_TOPIC_ID: מזהה הנושא של ההנחיות לקלט שנשלחות למודל, כמו
prompts - RESPONSES_TOPIC_ID: מזהה הנושא של התשובות של המודל, כמו
responses
- PROMPTS_TOPIC_ID: מזהה הנושא של ההנחיות לקלט שנשלחות למודל, כמו
כדי ליצור את המינוי ולצרף אותו לנושא התגובות, משתמשים בפקודה
gcloud pubsub subscriptions create:gcloud pubsub subscriptions create RESPONSES_SUBSCRIPTION_ID --topic=RESPONSES_TOPIC_IDמחליפים את RESPONSES_SUBSCRIPTION_ID במזהה המינוי של תשובות המודל, לדוגמה
responses-subscription.
מעתיקים את מזהי הנושא ואת מזהה המינוי. תצטרכו את הערכים האלה בהמשך המדריך הזה.
הכנת הסביבה
מורידים את דוגמאות הקוד ומגדירים את הסביבה להרצת ההדרכה.
דוגמאות הקוד במאגר python-docs-samples ב-GitHub מספקות את הקוד שנדרש להרצת צינור העיבוד הזה. כשאתם מוכנים ליצור צינור משלכם, אתם יכולים להשתמש בקוד לדוגמה הזה כתבנית.
כדי להריץ את פרויקט צינור עיבוד הנתונים, יוצרים סביבה וירטואלית מבודדת של Python באמצעות venv. סביבה וירטואלית מאפשרת לבודד את התלות של פרויקט אחד מהתלות של פרויקטים אחרים. מידע נוסף על התקנת Python ויצירת סביבה וירטואלית מופיע במאמר הגדרת סביבת פיתוח ב-Python.
משתמשים בפקודה
git cloneכדי לשכפל את מאגר GitHub:git clone https://github.com/GoogleCloudPlatform/python-docs-samples.gitמנווטים לספרייה
run-inference:cd python-docs-samples/dataflow/run-inferenceאם אתם משתמשים בשורת פקודה, צריך לוודא ש-Python 3 ו-
pipפועלים במערכת:python --version python -m pip --versionבמקרה הצורך, מתקינים את Python 3.
אם אתם משתמשים ב-Cloud Shell, אתם יכולים לדלג על השלב הזה כי Python כבר מותקן ב-Cloud Shell.
יוצרים סביבה וירטואלית של Python:
python -m venv /tmp/env source /tmp/env/bin/activateמתקינים את יחסי התלות:
pip install -r requirements.txt --no-cache-dir
דוגמת קוד לטעינת מודל
קוד טעינת המודל במדריך הזה מפעיל משימה מותאמת אישית של Agent Platform שטוענת את אובייקט state_dict של המודל ל-Cloud Storage.
קובץ ההתחלה נראה כך:
דוגמת קוד של פייפליין
קוד צינור העיבוד במדריך הזה פורס צינור Dataflow שמבצע את הפעולות הבאות:
- קורא הנחיה מ-Pub/Sub ומקודד את הטקסט לטנסורים של טוקנים.
- הפעלת הטרנספורמציה
RunInference. - מפענח את טנסור האסימונים של הפלט לטקסט וכותב את התשובה ל-Pub/Sub.
קובץ ההתחלה נראה כך:
טעינת המודל
מודלים גדולים של שפה (LLM) יכולים להיות גדולים מאוד. בדרך כלל, מודלים גדולים יותר שאומנו עם יותר פרמטרים נותנים תוצאות טובות יותר. עם זאת, כדי להריץ מודלים גדולים יותר נדרש מחשב גדול יותר ויותר זיכרון. יכול להיות שייקח יותר זמן להריץ מודלים גדולים יותר במעבדי CPU.
לפני שמריצים מודל PyTorch ב-Dataflow, צריך לטעון את אובייקט state_dict של המודל. אובייקט state_dict של מודל
מאחסן את המשקלים של המודל.
בצינור עיבוד נתונים של Dataflow שמשתמש בטרנספורמציה RunInference של Apache Beam, צריך לטעון את אובייקט state_dict של המודל ל-Cloud Storage. למכונה שבה משתמשים כדי לטעון את אובייקט state_dict ל-Cloud Storage צריך להיות מספיק זיכרון כדי לטעון את המודל. בנוסף, המכונה צריכה חיבור מהיר לאינטרנט כדי להוריד את המשקלים ולהעלות אותם ל-Cloud Storage.
בטבלה הבאה מוצג מספר הפרמטרים של כל מודל וזיכרון המינימום שנדרש לטעינת כל מודל.
| דגם | פרמטרים | הזיכרון הנדרש |
|---|---|---|
google/flan-t5-small |
80 מיליון | > 320 MB |
google/flan-t5-base |
250 מיליון | > 1 GB |
google/flan-t5-large |
780 מיליון | > 3.2GB |
google/flan-t5-xl |
3 מיליארד | > 12 GB |
google/flan-t5-xxl |
11 מיליארד | > 44GB |
google/flan-ul2 |
20 מיליארד | > 80GB |
אפשר לטעון מודל קטן יותר באופן מקומי, אבל במדריך הזה נסביר איך להפעיל משימה בהתאמה אישית ב-Agent Platform שטוענת את המודל באמצעות מכונה וירטואלית בגודל מתאים.
מכיוון שמודלים גדולים של שפה יכולים להיות גדולים מאוד, בדוגמה שבמדריך הזה האובייקט state_dict נשמר בפורמט float16 במקום בפורמט ברירת המחדל float32.
בהגדרה הזו, כל פרמטר משתמש ב-16 ביט במקום ב-32 ביט, כך שהאובייקט state_dict קטן פי שניים. גודל קטן יותר ממזער את הזמן שנדרש לטעינת המודל. עם זאת, המרת הפורמט מחייבת שהמכונה הווירטואלית תתאים גם את המודל וגם את אובייקט state_dict לזיכרון.
בטבלה הבאה מפורטות הדרישות המינימליות לטעינת מודל אחרי שאובייקט state_dict נשמר בפורמט float16. בטבלה מוצגים גם סוגי המכונות המומלצים לטעינת מודל באמצעות Agent Platform. גודל הדיסק המינימלי (וגודל הדיסק שמוגדר כברירת מחדל) ל-Agent Platform הוא 100GB, אבל יכול להיות שחלק מהמודלים ידרשו דיסק גדול יותר.
| שם הדגם | הזיכרון הנדרש | סוג המכונה | זיכרון ה-VM | דיסק של מכונה וירטואלית |
|---|---|---|---|---|
google/flan-t5-small |
> 480 MB | e2-standard-4 |
16 GB | 100 GB |
google/flan-t5-base |
> 1.5 GB | e2-standard-4 |
16 GB | 100 GB |
google/flan-t5-large |
> 4.8 GB | e2-standard-4 |
16 GB | 100 GB |
google/flan-t5-xl |
> 18 GB | e2-highmem-4 |
32 GB | 100 GB |
google/flan-t5-xxl |
> 66 GB | e2-highmem-16 |
128 GB | 100 GB |
google/flan-ul2 |
> 120 GB | e2-highmem-16 |
128 GB | 150 GB |
טוענים את אובייקט state_dict של המודל ל-Cloud Storage באמצעות משימה בהתאמה אישית ב-Agent Platform:
python download_model.py vertex \
--model-name="MODEL_NAME" \
--state-dict-path="gs://BUCKET_NAME/run-inference/MODEL_NAME.pt" \
--job-name="Load MODEL_NAME" \
--project="PROJECT_ID" \
--bucket="BUCKET_NAME" \
--location="LOCATION" \
--machine-type="AGENT_PLATFORM_MACHINE_TYPE" \
--disk-size-gb="DISK_SIZE_GB"
מחליפים את מה שכתוב בשדות הבאים:
- MODEL_NAME: שם המודל, למשל
google/flan-t5-xl. - AGENT_PLATFORM_MACHINE_TYPE: סוג המכונה שבה רוצים להריץ את המשימה המותאמת של Agent Platform, לדוגמה
e2-highmem-4. - DISK_SIZE_GB: גודל הדיסק של המכונה הווירטואלית, ב-GB. הגודל המינימלי הוא 100 GB.
בהתאם לגודל המודל, יכול להיות שיחלפו כמה דקות עד שהמודל ייטען. כדי לראות את הסטטוס, עוברים לדף משימות בהתאמה אישית ב-Agent Platform.
הרצת צינור עיבוד הנתונים
אחרי שמעלים את המודל, מריצים את צינור הנתונים של Dataflow. כדי להפעיל את צינור העיבוד, גם המודל וגם הזיכרון שבו משתמש כל עובד צריכים להיכנס לזיכרון.
בטבלה הבאה מוצגים סוגי המכונות המומלצים להרצת צינור (pipeline) של הסקת מסקנות.
| שם הדגם | סוג המכונה | זיכרון ה-VM |
|---|---|---|
google/flan-t5-small |
n2-highmem-2 |
16 GB |
google/flan-t5-base |
n2-highmem-2 |
16 GB |
google/flan-t5-large |
n2-highmem-4 |
32 GB |
google/flan-t5-xl |
n2-highmem-4 |
32 GB |
google/flan-t5-xxl |
n2-highmem-8 |
64 GB |
google/flan-ul2 |
n2-highmem-16 |
128 GB |
מריצים את הפייפליין:
python main.py \
--messages-topic="projects/PROJECT_ID/topics/PROMPTS_TOPIC_ID" \
--responses-topic="projects/PROJECT_ID/topics/RESPONSES_TOPIC_ID" \
--model-name="MODEL_NAME" \
--state-dict-path="gs://BUCKET_NAME/run-inference/MODEL_NAME.pt" \
--runner="DataflowRunner" \
--project="PROJECT_ID" \
--temp_location="gs://BUCKET_NAME/temp" \
--region="REGION" \
--machine_type="DATAFLOW_MACHINE_TYPE" \
--requirements_file="requirements.txt" \
--requirements_cache="skip" \
--experiments="use_sibling_sdk_workers" \
--experiments="no_use_multiple_sdk_containers"
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט
- PROMPTS_TOPIC_ID: מזהה הנושא של ההנחיות לקלט שיישלחו למודל
- RESPONSES_TOPIC_ID: מזהה הנושא של התגובות של המודל
- MODEL_NAME: שם המודל, למשל
google/flan-t5-xl - BUCKET_NAME: שם הקטגוריה
- REGION: האזור שבו רוצים לפרוס את המשימה, למשל
us-central1 - DATAFLOW_MACHINE_TYPE: המכונה הווירטואלית להרצת צינור העיבוד, למשל
n2-highmem-4
כדי לוודא שהמודל נטען רק פעם אחת לכל עובד ושלא נגמר הזיכרון, מגדירים את העובדים להשתמש בתהליך יחיד על ידי הגדרת האפשרות --experiments=no_use_multiple_sdk_containers של צינור העיבוד. אין צורך להגביל את מספר השרשורים כי טרנספורמציית RunInference משתפת את אותו מודל עם כמה שרשורים.
הצינור בדוגמה הזו פועל עם מעבדי CPU. ככל שהמודל גדול יותר, נדרש יותר זמן לעיבוד כל בקשה. אם אתם צריכים תשובות מהירות יותר, אתם יכולים להפעיל GPUs.
כדי לראות את הסטטוס של צינור הנתונים, עוברים לדף Jobs (משימות) ב-Dataflow.
לשאול את המודל שאלה
אחרי שהצינור מתחיל לפעול, אתם מזינים הנחיה למודל ומקבלים תשובה.
שולחים את ההנחיה על ידי פרסום הודעה ב-Pub/Sub. משתמשים בפקודה
gcloud pubsub topics publish:gcloud pubsub topics publish PROMPTS_TOPIC_ID \ --message="PROMPT_TEXT"מחליפים את
PROMPT_TEXTבמחרוזת שמכילה את ההנחיה שרוצים לספק. מקיפים את ההנחיה במירכאות.אתם יכולים להשתמש בהנחיה משלכם או לנסות אחת מהדוגמאות הבאות:
Translate to Spanish: My name is LukaComplete this sentence: Once upon a time, there was aSummarize the following text: Dataflow is a Google Cloud service that provides unified stream and batch data processing at scale. Use Dataflow to create data pipelines that read from one or more sources, transform the data, and write the data to a destination.
כדי לקבל את התגובה, משתמשים בפקודה
gcloud pubsub subscriptions pull.בהתאם לגודל המודל, יכול להיות שיחלפו כמה דקות עד שהמודל יפיק תשובה. לוקח יותר זמן לפרוס מודלים גדולים יותר וליצור תשובה.
gcloud pubsub subscriptions pull RESPONSES_SUBSCRIPTION_ID --auto-ackמחליפים את
RESPONSES_SUBSCRIPTION_IDבמזהה המינוי של תשובות המודל.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
כדי למחוק פרויקט Google Cloud :
gcloud projects delete PROJECT_ID
מחיקת משאבים בודדים
-
יוצאים מהסביבה הווירטואלית של Python:
deactivate
-
עוצרים את הפייפליין:
-
מציגים את רשימת מזהי המשימות של משימות Dataflow שפועלות, ורושמים את מזהה המשימה של המדריך:
gcloud dataflow jobs list --region=REGION --status=active
-
כדי לבטל את המשימה:
gcloud dataflow jobs cancel JOB_ID --region=REGION
-
-
מחיקת הקטגוריה וכל מה שבתוכה:
gcloud storage rm gs://BUCKET_NAME --recursive
-
מחיקת הנושאים והמינוי:
gcloud pubsub topics delete PROMPTS_TOPIC_ID gcloud pubsub topics delete RESPONSES_TOPIC_ID gcloud pubsub subscriptions delete RESPONSES_SUBSCRIPTION_ID
-
מבטלים את התפקידים שהקציתם לחשבון השירות של Compute Engine שמוגדר כברירת מחדל. מריצים את הפקודה הבאה לכל אחד מהתפקידים הבאים ב-IAM:
roles/dataflow.adminroles/dataflow.workerroles/storage.adminroles/pubsub.editorroles/aiplatform.user
gcloud projects remove-iam-policy-binding PROJECT_ID --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com --role=SERVICE_ACCOUNT_ROLE
אופציונלי: ביטול תפקידים בחשבון Google.
gcloud projects remove-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=roles/iam.serviceAccountUser
-
אם תרצו, תוכלו לבטל את פרטי הכניסה שיצרתם ולמחוק את הקובץ המקומי של פרטי הכניסה.
gcloud auth application-default revoke
-
אם רוצים, מבטלים את פרטי הכניסה של ה-CLI של gcloud.
gcloud auth revoke
המאמרים הבאים
- מידע נוסף על Dataflow ML
- מידע נוסף על RunInference API
- במאמרים בנושא צינורות עיבוד נתונים של AI/ML ב-Apache Beam יש מידע מפורט על שימוש בלמידת מכונה עם Apache Beam.
- עובדים עם מחברת שימוש ב-RunInference ל-AI גנרטיבי.
- כדאי להעמיק את הקריאה ולהכיר דוגמאות לארכיטקטורות, תרשימים ושיטות מומלצות בנושאי Google Cloud. כל אלה זמינים במרכז הארכיטקטורה של Cloud.