במדריך הזה מוסבר איך להריץ אימון של למידת חיזוק (RL) בכמה מארחים באשכול של Tensor Processing Unit (TPU) v6e-32 באמצעות MaxText ו-Cluster Toolkit. אתם משתמשים ב-Cluster Toolkit כדי להריץ עומס עבודה של אימון בכמה מארחים, ולייצא את התוצאות בחזרה לפורמט של Hugging Face לצורך הצגה.
סיכום עומס העבודה
כדי להריץ את עומס העבודה הזה של RL אחרי אימון ב-Cloud TPU וב-GKE, צריך להשתמש ברכיבים הבאים:
- מודל: Gemma 4 26B A4B Instruct (
google/gemma-4-26b-a4b-it), מודל מתקדם עם משקלים פתוחים שעבר כוונון לפי הוראות. במדריך הזה, משקלי המודל יורדו מ-Hugging Face, יומרו לפורמט שתואם ל-MaxText וייפרסו באשכול GKE עם תשתית Cloud TPU v6e. - אלגוריתם למידת חיזוק (RL): אופטימיזציה של מדיניות יחסית לקבוצה (GRPO) באמצעות MaxText ו-Pathways. עומס העבודה מפעיל צינור עיבוד נתונים שניתן להתאמה אחרי האימון, באמצעות מאמן ה-RL המובנה של MaxText (
maxtext.trainers.post_train.rl.train_rl) בשילוב עם קצה עורפי של דוגם vLLM. GRPO מבצע אופטימיזציה של המדיניות על ידי יצירת קבוצת פלטים לכל הנחיה והערכת תגמולים יחסיים בלי צורך במודל ביקורת נפרד. - קבוצת נתונים ותבנית: OpenMathInstruct-2 (
openmathinstruct2_rl.json), קבוצת נתונים גדולה לכוונון הוראות במתמטיקה. עומס העבודה משתמש בתבניות צ'אט מובנות במהלך שלב ההשקה של RL כדי לשפר את יכולות החשיבה המתמטית בכמה שלבים. - תשתית ומסגרת: GKE, מנוהל באמצעות Cluster Toolkit, ב-Cloud TPU v6e (פרוסה של
ct6e-standard-4t,v6e-32עם טופולוגיה של4x8). המסגרת היא MaxText (tpu_post_training:0.2.4) עם Pathways וקצה עורפי של JAX.
מטרות
- מתקינים את Cluster Toolkit ואת יחסי התלות שלו.
- פריסת אשכול של Cluster Toolkit.
- המרת מודל של Hugging Face לפורמט MaxText.
- מריצים עומס עבודה של אימון RL באשכול TPU v6e.
- ממירים את המודל המכוונן בחזרה לפורמט של Hugging Face כדי להשתמש בו.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
בעזרת מחשבון העלויות אתם יכולים להעריך את העלויות בהתאם לשימוש הצפוי.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
כדי להשתמש במדריך הזה, אתם צריכים טוקן גישה ל-Hugging Face. אתם יכולים להירשם לחשבון בחינם ב-Hugging Face. אחרי שיוצרים חשבון, יוצרים אסימון גישה:
- בדף Welcome to Hugging Face, לוחצים על הדמות של החשבון ובוחרים באפשרות טוקן גישה.
- בדף טוקני גישה, לוחצים על יצירת טוקן חדש.
- בוחרים את סוג הטוקן Read ומזינים שם לטוקן.
- טוקן הגישה שלכם יוצג. שומרים את הטוקן במקום בטוח.
- בכרטיס המודל
google/gemma-4-26b-a4b-itב-Hugging Face, מאשרים את הסכם הרישיון של המודל.
כדי לקבל את ההרשאות שדרושות להשלמת המדריך, בקשו מהאדמין להקצות לכם את התפקידים הבאים ב-IAM בפרויקט:
- אדמין ב-TPU (
roles/tpu.admin) - אדמין ב-Kubernetes Engine (
roles/container.admin) - אדמין ב-Compute (
roles/compute.admin) - אדמין באחסון (
roles/storage.admin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - אדמין בחשבון שירות (
roles/iam.serviceAccountAdmin) - אדמין IAM בפרויקט (
roles/resourcemanager.projectIamAdmin) - אדמין ב-Service Usage (
roles/serviceusage.serviceUsageAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדרת משתני הסביבה
מגדירים את משתני הסביבה:
מחליפים את מה שכתוב בשדות הבאים:
-
YOUR_PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
YOUR_REGION: האזור שבו נמצאת ההזמנה של ה-TPU ושבו פורסים את האשכול. -
YOUR_ZONE: האזור שבו נמצאת ההזמנה של ה-TPU ושבו פורסים את האשכול. -
YOUR_CLUSTER_NAME: השם של אשכול GKE. השם צריך להתחיל באות קטנה, לכלול רק אותיות קטנות, מספרים ומקפים, ולהיות באורך של עד 20 תווים. -
YOUR_BUCKET_NAME: שם ייחודי גלובלי לקטגוריה של Cloud Storage. -
YOUR_RESERVATION_NAME: השם של ההזמנה של TPU v6e. -
YOUR_HF_TOKEN: טוקן הגישה ל-Hugging Face.
התקנת יחסי התלות של Cluster Toolkit
כדי להשלים את המדריך הזה מתחנת עבודה או מלקוח של Linux או macOS, פועלים לפי השלבים הרלוונטיים בקטע התקנת יחסי תלות במסמכי התיעוד של Cluster Toolkit.
אם אתם משתמשים ב-Cloud Shell, אתם יכולים לדלג על החלק הזה.
התקנת Cluster Toolkit
מורידים ומחלצים את החבילה שנוצרה מראש לגרסה הספציפית של Cluster Toolkit שמוגדרת ב-CLUSTER_TOOLKIT_VERSION (v1.103.0) לספריית העבודה הנוכחית:
אימות הסביבה
לפני שמריצים את הסקריפטים לפריסה, צריך לאמת את Google Cloud CLI ולהגדיר את Application Default Credentials (ADC). כך Cluster Toolkit יוכל להקצות משאבים ולשלוח קובצי אימג' ל-Artifact Registry בשמכם.
יצירת אשכול ב-Cluster Toolkit
כדי ליצור ולפרוס אשכול של Cluster Toolkit עם 32 שבבי TPU מסוג v6e:
יוצרים קטגוריה של Cloud Storage:
משתמשים בפקודה
gcluster deployכדי לפרוס את האשכול של Cluster Toolkit באמצעות תוכנית ה-blueprintgke-tpu-v6e-advanced.yaml, ומעבירים את המשתנים הנדרשים באמצעות הדגל--vars:
המרת המודל לפורמט MaxText
כדי לאמן את המודל בפורמט MaxText, צריך להמיר אותו מפורמט Hugging Face לפורמט MaxText.
כדי לפשט את הפקודות הבאות, משתמשים בפקודה
gcluster job configכדי להגדיר את פרויקט ברירת המחדל, האשכול והמיקום:משתמשים בפקודה
gcluster job submitכדי להמיר את המודל מפורמט Hugging Face לפורמט MaxText, ולאחסן אותו בקטגוריה של Cloud Storage:הפקודה כוללת את הדגל
--await-job-completion, כלומר היא ממתינה בטרמינל הנוכחי עד לסיום ההמרה.אופציונלי: כדי להעביר בסטרימינג את יומני ההמרה בזמן שהמשימה פועלת, פותחים טרמינל נפרד בספריית העבודה שבה חילצתם את
gcluster, ומריצים את הפקודהgcluster job logs:בטרמינל המקורי, מוודאים שקובצי המודל שהומרו זמינים בקטגוריה של Cloud Storage:
התחלת עומס העבודה של האימון
אחרי שתהליך ההמרה מסתיים, מתחילים את עומס העבודה של אימון ה-RL:
בודקים את הסטטוס, מחכים שה-Pod של המתאם יהיה מוכן ומעבירים בסטרימינג את היומנים של משימת האימון:
מיד אחרי השליחה, הפלט מהפקודה
./gcluster job listעשוי להציג לזמן קצר אתSuspendedבזמן ש-GKE מגדיל את מאגר הצמתים של המעבד (CPU) של Pathways coordinator (cpu-np). כשהמשימה מתחילה, היא מפיקה הערכה ראשונית לפני האימון בשלב 0 (Pre RL Training: ... mean_reward=...), משהה את פלט היומן למשך כמה דקות במהלך הידור ה-XLA הראשוני, ואז מאמנת במשך 50 שלבים, ומדפיסה אתReshard finishedואת דורות ההשקה בכל שלב בלי מספרי שלבים.לפני שממשיכים לשלב הבא, מחכים עד שפלט היומנים
Post RL Training: ... mean_reward=...והפלט מהפקודה./gcluster job listיציגו את הסטטוס שלgemma4-trainingבתורSucceeded.מוודאים שנקודות הבדיקה של האימון נוצרו בקטגוריה של Cloud Storage:
המרת המודל המאומן חזרה לפורמט של Hugging Face
אחרי שעומס העבודה של האימון מסתיים, ממירים את המודל בחזרה לפורמט של Hugging Face:
אופציונלי: כדי לעקוב אחרי יומני ההמרה בזמן אמת בזמן שפקודת
--await-job-completionהקודמת ממתינה בטרמינל הראשון, פותחים טרמינל נפרד בספריית העבודה שבה חילצתם אתgcluster, ומשתמשים בפקודהgcluster job logs:בטרמינל המקורי, מוודאים שמשקלי המודל המאומן של Hugging Face וקובצי התצורה נמצאים בקטגוריה של Cloud Storage:
הסרת המשאבים
כדי להימנע מחיובים נוספים, השתמשו בפקודה gcluster destroy כדי למחוק את המשאבים שנוצרו במהלך המדריך הזה:
המאמרים הבאים
- למידע נוסף על Cloud TPU, קראו את המאמר מבוא ל-Cloud TPU.
- במאמר TPU v6e מפורטים הארכיטקטורה וההגדרות של
v6e-32TPU. - מידע נוסף על Cluster Toolkit זמין במאמר סקירה כללית על Cluster Toolkit.