במדריך הזה נסביר בפירוט איך להריץ כוונון עדין (SFT) מפוקח במודל Qwen3-14b באמצעות MaxText ב-Cloud TPU. תלמדו איך ליצור קובץ אימג' של קונטיינר ייעודי, להקצות אשכול Google Kubernetes Engine (GKE) באמצעות Pathways בעזרת Accelerated Processing Kit (XPK), ולהריץ עומס עבודה של אימון מרובה מארחים.
מטרות
- כאן מוסבר איך ליצור קובץ אימג' של קונטיינר מותאם אישית של MaxText שעברה אופטימיזציה לאימון.
- הקצאת אשכול GKE באמצעות XPK עם הפעלת Pathways.
- המרת מודל Qwen3 14b מפורמט Hugging Face לפורמט MaxText.
- הרצה של עומס עבודה של אימון SFT מרובה-מארחים ב-Cloud TPU.
- ממירים את המודל שעבר כוונון עדין בחזרה לפורמט של Hugging Face לצורך הצגה.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- Google Kubernetes Engine
- Cloud TPU
- Cloud Storage
- Artifact Registry
- Compute Engine, for the temporary build virtual machine (VM)
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
- מוודאים שלחשבון המשתמש או לחשבון השירות יש את התפקידים הבאים:
-
roles/compute.admin, כדי ליצור את מכונת ה-VM של ה-Build -
roles/artifactregistry.admin, כדי לנהל את המאגר ב-Docker -
roles/storage.admin, כדי לנהל את קטגוריית הנתונים -
roles/container.admin, כדי ליצור ולנהל את אשכול Google Kubernetes Engine -
roles/iam.serviceAccountAdmin, כדי ליצור את חשבון השירות של עומס העבודה -
roles/resourcemanager.projectIamAdmin, כדי להגדיר כללי מדיניות של ניהול זהויות והרשאות גישה (IAM) -
roles/iam.serviceAccountUser, כדי לפעול בתור חשבון השירות
-
- מתקינים ומפעילים את Google Cloud CLI.
- מוודאים שגרסה Python 3.12 ואילך מותקנת בתחנת העבודה.
כדי להשתמש במדריך הזה, צריך אסימון גישה של Hugging Face. אפשר להירשם לחשבון בחינם ב-Hugging Face. אחרי שיש לכם חשבון, יוצרים אסימון גישה:
- בדף Welcome to Hugging Face, לוחצים על הדמות שמייצגת את החשבון ובוחרים באפשרות Access tokens.
- בדף Access tokens (אסימוני גישה), לוחצים על Create new token (יצירת אסימון חדש).
- בוחרים את סוג הטוקן Read (קריאה) ומזינים שם לטוקן.
- טוקן הגישה יוצג. שומרים את האסימון במקום בטוח.
הגדרת הסביבה
מגדירים את משתני הסביבה על ידי הרצת הסקריפט הבא:
מחליפים את מה שכתוב בשדות הבאים:
- YOUR_PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- YOUR_REGION: האזור שבו רוצים להשתמש
- YOUR_ZONE: האזור שרוצים להשתמש בו
- YOUR_CLUSTER_NAME: שם לאשכול Google Kubernetes Engine
- YOUR_GCS_BUCKET: שם ייחודי לקטגוריה של Cloud Storage
- YOUR_RESERVATION_NAME: הזמנת הקיבולת
- YOUR_HF_TOKEN: טוקן הגישה שלכם ל-Hugging Face
הכנת קובץ אימג' של קונטיינר MaxText
כדי להכין את קובץ האימג' של קונטיינר MaxText, כולל התקנת התלויות הנדרשות, מבצעים את השלבים הבאים:
יוצרים קטגוריה של Cloud Storage:
יוצרים מאגר Artifact Registry:
יוצרים קובץ בספריית השורש של המאגר עם שם הקובץ
cloudbuild.yamlוהתוכן הבא:משתמשים ב-Cloud Build כדי ליצור את קובץ האימג' של MaxText Docker:
יצירת אשכול Google Kubernetes Engine
כדי להריץ אימון SFT במודל Qwen3 14b, צריך אשכול Google Kubernetes Engine שמצויד בשבבי TPU. מתקינים את Accelerated Processing Kit (XPK) ויוצרים אשכול GKE עם תמיכה ב-Pathways.
הכנת המודל לאימון
להמיר את מודל הבסיס לפורמט MaxText באמצעות עומס עבודה שמבוסס על CPU. אל תריצו את המשימה הזו בכמה מכונות במקביל. הפקודה הבאה כוללת בדיקה כדי לוודא שההמרה פועלת רק בצומת TPU אחד.
מעקב אחרי ההתקדמות של המרת המודל
כדי לעקוב אחרי התקדמות ההמרה:
- כדי להציג רשימה של ה-Pods שנקבעו באשכול GKE, מריצים את הפקודה
kubectl get pod. - מוצאים את הפוד בשם
qwen-hf-to-mt-slice-job-0-0-HASH. - כדי לבדוק את הפלט של ה-Pod בזמן אמת, מריצים את הפקודה
kubectl logs -f POD_NAME.
התחלת עומס העבודה של האימון
אחרי שתהליך ההמרה יסתיים, תוכלו להתחיל את עומס העבודה של כוונון עדין של SFT באמצעות XPK.
מעקב אחרי עומס העבודה של האימון
אפשר לעקוב אחרי הסטטוס של עומס העבודה באמצעות ממשק שורת הפקודה (CLI) של XPK.
xpk workload list --cluster ${CLUSTER_NAME} --project ${PROJECT} --zone ${ZONE}
כדי לראות את היומנים ואת השימוש ב-TPU, משתמשים במסוףGoogle Cloud . אפשר גם להציג את היומנים על ידי הרצת הפקודה הבאה:
kubectl logs -f qwen-training-pathways-head-0-0-HASH
מחליפים את HASH בגיבוב המספרי בשם של ה-Pod. כדי לוודא את הערך של הגיבוב הזה, מריצים את הפקודה kubectl get pod ובודקים את רשימת ה-pods שמוחזרת.
המרת המודל המאומן בחזרה לפורמט Hugging Face
אחרי שסיימתם את עומס העבודה של האימון, צריך להמיר את נקודות הבדיקה בחזרה לפורמט של Hugging Face.
כדי לעקוב אחרי התקדמות ההמרה, מריצים את הפקודה kubectl logs -f qwen-mt-to-hf-slice-job-0-0-HASH ומחליפים את HASH בגיבוב המספרי בשם של ה-Pod.
אחרי שההמרה תושלם, המודל המותאם שמאוחסן ב-gs://$GCS_BUCKET/qwen-3-14b/hf-trained/ יהיה מוכן לשימוש.
הסרת המשאבים
כדי להימנע מחיובים נוספים, צריך למחוק את המשאבים שנוצרו במהלך המדריך הזה, כולל אשכול Google Kubernetes Engine, קטגוריה של Cloud Storage ומאגר Artifact Registry.
כדי למחוק את המשאבים שיצרתם במדריך הזה, מריצים את הפקודה הבאה:
המאמרים הבאים
- מידע נוסף על Cloud TPU זמין במאמר מבוא ל-Cloud TPU.
- פרטים על הארכיטקטורה וההגדרה של
v6e-32TPU זמינים במאמר בנושא TPU v6e.