מדריך זה מראה לכם כיצד להפעיל אימון למידה חיזוקית (RL) מרובת מארחים על אשכול v6e-64 של יחידת עיבוד Tensor (TPU) באמצעות MaxText ו-Cluster Toolkit. אתם משתמשים ב-Cluster Toolkit כדי לבצע עומס עבודה של אימון מרובה מארחים ולייצא את התוצאות בחזרה לפורמט Hugging Face לצורך הגשה.
מטרות
- מתקינים את Cluster Toolkit ואת יחסי התלות שלו.
- מתקינים את MaxText ואת יחסי התלות שלו.
- פריסת אשכול Cluster Toolkit.
- המר מודל של פנים מחבקות לפורמט MaxText.
- הפעל עומס עבודה של אימון RL על אשכול TPU v6e.
- ממירים את המודל המכוונן בחזרה לפורמט Hugging Face לצורך הצגה.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
כדי להשתמש במדריך הזה, צריך אסימון גישה של Hugging Face. אפשר להירשם לחשבון בחינם ב-Hugging Face. לאחר שפתחת חשבון, צור אסימון גישה:
- בדף Welcome to Hugging Face, לוחצים על הדמות שמייצגת את החשבון ובוחרים באפשרות Access tokens.
- בדף Access tokens (אסימוני גישה), לוחצים על Create new token (יצירת אסימון חדש).
- בוחרים את סוג הטוקן Read (קריאה) ומזינים שם לטוקן.
- טוקן הגישה יוצג. שומרים את האסימון במקום בטוח.
- באתר Hugging Face, קבל את הסכם הרישיון עבור המודל שאתה מתכנן לאמן. במדריך הזה נעשה שימוש במודל
gemma4-26b.
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקידי ה-IAM הבאים:
-
כדי להשלים את המדריך הזה:
- אדמין TPU (
roles/tpu.admin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - עורך Compute (
roles/compute.editor)
- אדמין TPU (
-
כדי להכין את קובץ האימג' של קונטיינר MaxText:
- עריכה ב-Cloud Build (
roles/cloudbuild.builds.editor) - אדמין של Artifact Registry (
roles/artifactregistry.admin) - מנהל אחסון (
roles/storage.admin) - אדמין של שימוש בשירות (
roles/serviceusage.serviceUsageAdmin)
- עריכה ב-Cloud Build (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדר את משתני הסביבה שלך
הגדר את משתני הסביבה שלך:
מחליפים את מה שכתוב בשדות הבאים:
- YOUR_PROJECT_ID: מזהה הפרויקט ב- Google Cloud .
- YOUR_REGION: האזור שבו רוצים לפרוס את האשכול.
- YOUR_ZONE: האזור שבו רוצים לפרוס את האשכול.
- YOUR_CLUSTER_NAME: שם אשכול מנוע Kubernetes של גוגל שלך.
- YOUR_REPOSITORY_NAME: השם של מאגר Artifact Registry לתמונות MaxText.
- YOUR_BUCKET_NAME: שם ייחודי גלובלית לקטגוריה של Cloud Storage.
- YOUR_RESERVATION_NAME: שם ההזמנה שלך.
- YOUR_HF_TOKEN: טוקן הגישה שלכם ל-Hugging Face.
התקנת יחסי תלות של Cluster Toolkit
כדי להשלים את המדריך הזה מלקוח או מתחנת עבודה של Linux או macOS, פועלים לפי השלבים הרלוונטיים במאמר Install dependencies (התקנת תלות) במסמכי Cluster Toolkit.
אם אתם משתמשים ב-Cloud Shell, תוכלו לדלג על סעיף זה.
התקנת Cluster Toolkit
התקינו את החבילה המוכנה מראש עבור Cluster Toolkit על ידי ביצוע ההוראות ב-התקנת Cluster Toolkit.
הכנת קובץ אימג' של קונטיינר MaxText
כדי להכין את תמונת המכולה של MaxText, כולל התקנת התלויות הנדרשות, בצע את השלבים הבאים:
צור דלי אחסון בענן:
צור מאגר של רישום ארטיפקטים;
יוצרים קובץ בספריית השורש של המאגר עם שם הקובץ
cloudbuild.yamlוהתוכן הבא:משתמשים ב-Cloud Build כדי ליצור את קובץ האימג' של MaxText Docker:
צור את אשכול ערכת הכלים של אשכולות
כדי ליצור ולפרוס אשכול של ערכת כלים של Cluster Toolkit עם 64 שבבי TPU של v6e, יש לבצע את השלבים הבאים:
יוצרים תפקיד בהתאמה אישית לניהול זהויות והרשאות גישה (IAM) בשם
gke.gcsfuse.profileUser:צור דלי אחסון בענן:
כברירת מחדל, לחשבון השירות של מאגר הצמתים של האשכול אין את ההרשאות הנדרשות לכתיבה לקטגוריה של Cloud Storage. כדי לאפשר לחשבון השירות של מאגר הצמתים לכתוב לקטגוריה של Cloud Storage, צריך להקצות לו את התפקיד
Storage Admin. כדי להעניק תפקיד זה, ערוך את הקובץgke-tpu-v6e-advanced.yamlעל ידי עדכון המודולservice-accountבשםnode_pool_service_account:החל הגדרות מותאמות אישית על בלוק
gke-tpu-v6e-clusterאשר מבטלות את הגדרות ברירת המחדל של IPv6 וסוג המכונה:פורסים את אשכול Cluster Toolkit באמצעות תוכנית הבסיס
gke-tpu-v6e-advanced.yamlומעבירים את המשתנים הנדרשים באמצעות הדגל--vars:
המרת המודל לפורמט MaxText
כדי לאמן את המודל בפורמט MaxText, עליך להמיר אותו מפורמט Hugging Face לפורמט MaxText.
אחרי שמסיימים ליצור את אשכול Cluster Toolkit, צריך להגדיר את Docker:
כדי לפשט את הפקודות הבאות, מגדירים את פרויקט ברירת המחדל, האשכול והמיקום:
המר את המודל מפורמט Hugging Face לפורמט MaxText ואחסן אותו בדלי אחסון הענן שלך:
בדוק את סטטוס עבודת ההמרה:
התחלת עומס העבודה של האימון
לאחר השלמת תהליך ההמרה, התחל את עומס העבודה של אימון RL:
בדוק את סטטוס עבודת ההדרכה:
המרת המודל המאומן בחזרה לפורמט Hugging Face
לאחר השלמת עומס העבודה של האימון, המירו את המודל בחזרה לפורמט Hugging Face:
בדוק את סטטוס עבודת ההמרה:
הסרת המשאבים
כדי להימנע מחיובים נוספים, מחק את המשאבים שנוצרו במהלך מדריך זה:
המאמרים הבאים
- למידע נוסף על Cloud TPU, ראו מבוא ל-Cloud TPU.
- פרטים על הארכיטקטורה וההגדרות של
v6e-64TPU זמינים במאמר TPU v6e. - למידע נוסף על ערכת הכלים של אשכולות, ראו סקירה כללית של ערכת הכלים של אשכולות.