במדריך הזה מוסבר איך להריץ כוונון עדין מפוקח (SFT) באשכול Tensor Processing Unit (TPU) v6e באמצעות MaxText ו-Cluster Toolkit. אתם משתמשים ב-Cluster Toolkit כדי להריץ עומס עבודה של אימון מרובה מארחים ולייצא את התוצאות בחזרה לפורמט Hugging Face לצורך הצגה.
מטרות
- מתקינים את Cluster Toolkit ואת יחסי התלות שלו.
- מתקינים את MaxText ואת יחסי התלות שלו.
- פריסת אשכול Cluster Toolkit.
- המרת מודל של Hugging Face לפורמט MaxText.
- הרצת עומס עבודה של אימון SFT ב-TPU.
- ממירים את המודל המכוונן בחזרה לפורמט Hugging Face לצורך הצגה.
עלויות
במסמך הזה משתמשים ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
כדי להעריך את ההוצאות בהתאם לתחזית השימוש שלכם, אתם יכולים להיעזר במחשבון העלויות.
כשמסיימים את המשימות שמתוארות במסמך הזה אפשר למחוק את המשאבים שיצרתם כדי להימנע מחיובים נוספים. מידע נוסף זמין בקטע הסרת המשאבים.
לפני שמתחילים
כדי להשתמש במדריך הזה, צריך אסימון גישה של Hugging Face. אפשר להירשם לחשבון בחינם ב-Hugging Face. אחרי שיוצרים חשבון, יוצרים אסימון גישה:
- בדף Welcome to Hugging Face, לוחצים על הדמות שמייצגת את החשבון ובוחרים באפשרות Access tokens.
- בדף Access tokens (אסימוני גישה), לוחצים על Create new token (יצירת אסימון חדש).
- בוחרים את סוג הטוקן Read (קריאה) ומזינים שם לטוקן.
- טוקן הגישה יוצג. שומרים את האסימון במקום בטוח.
- באתר Hugging Face, מאשרים את הסכם הרישיון של המודל שמתכננים לאמן. במדריך הזה נעשה שימוש במודל
gemma4-31b.
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקידי ה-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_REPOSITORY_NAME: השם של מאגר Artifact Registry לתמונות MaxText.
- YOUR_RESERVATION_NAME: השם של ההזמנה.
- YOUR_HF_TOKEN: טוקן הגישה שלכם ל-Hugging Face.
- YOUR_BUCKET_NAME: שם ייחודי גלובלית לקטגוריה של Cloud Storage.
התקנת יחסי תלות של Cluster Toolkit
כדי להשלים את המדריך הזה מלקוח או מתחנת עבודה של Linux או macOS, פועלים לפי השלבים הרלוונטיים במאמר Install dependencies (התקנת תלות) במסמכי Cluster Toolkit.
אם אתם משתמשים ב-Cloud Shell, אתם יכולים לדלג על הקטע הזה.
התקנת Cluster Toolkit
כדי להתקין את חבילת ה-Cluster Toolkit שנבנתה מראש, פועלים לפי ההוראות במאמר בנושא התקנת Cluster Toolkit.
הכנת קובץ אימג' של קונטיינר MaxText
כדי להכין את קובץ האימג' של קונטיינר MaxText, כולל התקנת התלויות הנדרשות, מבצעים את השלבים הבאים:
יוצרים קטגוריה של Cloud Storage:
יוצרים מאגר Artifact Registry:
יוצרים קובץ בספריית השורש של המאגר עם שם הקובץ
cloudbuild.yamlוהתוכן הבא:משתמשים ב-Cloud Build כדי ליצור את קובץ האימג' של MaxText Docker:
יצירת אשכול Cluster Toolkit
כדי ליצור ולפרוס אשכול Cluster Toolkit עם 32 v6e שבבי TPU:
יוצרים תפקיד בהתאמה אישית לניהול זהויות והרשאות גישה (IAM) בשם
gke.gcsfuse.profileUser:יוצרים קטגוריה של Cloud Storage:
כברירת מחדל, לחשבון השירות של מאגר הצמתים של האשכול אין את ההרשאות הנדרשות לכתיבה לקטגוריה של Cloud Storage. כדי לאפשר לחשבון השירות של מאגר הצמתים לכתוב לקטגוריה של Cloud Storage, צריך להקצות לו את התפקיד
Storage Admin. כדי להעניק את התפקיד הזה, צריך לערוך את הקובץgke-tpu-v6e-advanced.yamlולעדכן את המודולnode_pool_service_account:פורסים את אשכול Cluster Toolkit באמצעות תוכנית הבסיס
gke-tpu-v6e-advanced.yamlומעבירים את המשתנים הנדרשים באמצעות הדגל--vars:
המרת המודל לפורמט MaxText
כדי לאמן את המודל בפורמט MaxText, צריך להמיר אותו מפורמט Hugging Face לפורמט MaxText.
אחרי שמסיימים ליצור את אשכול Cluster Toolkit, צריך להגדיר את Docker:
כדי לפשט את הפקודות הבאות, מגדירים את פרויקט ברירת המחדל, האשכול והמיקום:
כדי להמיר את המודל מפורמט Hugging Face לפורמט MaxText ולאחסן אותו בקטגוריה של Cloud Storage, מריצים את הסקריפט הבא:
כדי לבדוק את הסטטוס של עבודת ההמרה, מריצים את הפקודה הבאה:
התחלת עומס העבודה של האימון
אחרי שתהליך ההמרה יסתיים, תוכלו להפעיל את עומס העבודה של SFT באמצעות הפקודה הבאה:
כדי לבדוק את הסטטוס של משימת האימון, מריצים את הפקודה הבאה:
המרת המודל המאומן בחזרה לפורמט Hugging Face
אחרי שסיימתם את עומס העבודה של האימון, מחזירים את המודל לפורמט Hugging Face:
כדי לבדוק את הסטטוס של עבודת ההמרה, מריצים את הפקודה הבאה:
הסרת המשאבים
כדי להימנע מחיובים נוספים, מומלץ למחוק את המשאבים שנוצרו במהלך המדריך הזה.
המאמרים הבאים
- מידע נוסף על Cloud TPU זמין במאמר מבוא ל-Cloud TPU.
- פרטים על הארכיטקטורה וההגדרות של
v6e-32TPU זמינים במאמר TPU v6e.