במדריך הזה נסביר בפירוט איך להריץ כוונון עדין מפוקח (SFT) במכונה וירטואלית (VM) של יחידת עיבוד טנסור (TPU) אחת ב-v6e-8באמצעות MaxText, מחסנית אימון מבוססת JAX עם ביצועים גבוהים למודלים גדולים של שפה (LLM). Google Cloud
מטרות
- מגדירים מופע של TPU VM ב-Cloud TPU.
- מתקינים את MaxText ואת יחסי התלות שלו.
- המרת מודל של 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, מאשרים את הסכם הרישיון של המודל שמתכננים לאמן. במדריך הזה נעשה שימוש במודל
gemma3-4b.
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לכם בפרויקט את תפקידי ה-IAM הבאים:
- אדמין TPU (
roles/tpu.admin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - עורך Compute (
roles/compute.editor)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
הגדרת הסביבה
מגדירים את משתני הסביבה על ידי הרצת הסקריפט הבא:
מחליפים את מה שכתוב בשדות הבאים:
- YOUR_PROJECT_ID: מזהה הפרויקט ב- Google Cloud
- ZONE_NAME: האזור שרוצים להשתמש בו
- RESERVATION_NAME: הזמנת הקיבולת
- TPU_MACHINE_NAME: השם של מכונת ה-TPU VM של Cloud TPU
מריצים את הפקודה הבאה כדי לבצע אימות באמצעות Google Cloud :
gcloud auth login
יצירת מכונת Cloud TPU וירטואלית
יוצרים מכונת VM של Cloud TPU עם 8 v6e שבבי TPU, שקשורים להזמנת הקיבולת.
אחרי שיוצרים את מופע ה-VM, מתחברים אליו באמצעות SSH.
מבצעים את השלבים הבאים במופע של TPU VM.
התקנת MaxText
מעדכנים את חבילות המערכת במכונה הווירטואלית של TPU.
מתקינים את Python 3.12, שנדרש ל-MaxText, ואת חבילת הסביבה הווירטואלית שלו.
כדי להאיץ את ההתקנה של חבילת Python, משתמשים ב-uv.
יוצרים סביבה וירטואלית בשם maxtext_venv ומפעילים אותה.
מתקינים את MaxText ואת יחסי התלות שנדרשים לו למשימות אחרי האימון.
מריצים את הפקודה הבאה כדי להתקין את שאר יחסי התלות הנדרשים:
המרת המודל לפורמט MaxText
כדי לאמן את המודל בפורמט MaxText, צריך להמיר אותו מפורמט Hugging Face לפורמט MaxText.
מציינים את משתני הסביבה, כמו אסימון הגישה של Hugging Face, שם המודל שרוצים להשתמש בו והספרייה שבה רוצים לשמור את המודל בפורמט MaxText.
מחליפים את YOUR_HF_TOKEN באסימון הגישה של Hugging Face שיצרתם קודם.
כדי להמיר את המודל מפורמט Hugging Face לפורמט MaxText, מריצים את הסקריפט הבא. ההמרה הזו נמשכת כחמש דקות.
התחלת עומס העבודה של האימון
אחרי שתהליך ההמרה יסתיים, תוכלו להפעיל את עומס העבודה של SFT.
מגדירים את פרמטרים של אימון עומס העבודה של SFT.
מפעילים את משימת האימון. התהליך נמשך כ-10 דקות במכונה וירטואלית
v6e-8.
המרת המודל המאומן בחזרה לפורמט Hugging Face
אחרי שסיימתם את עומס העבודה של האימון, המירו את המודל בחזרה לפורמט Hugging Face.
מגדירים את הנתיבים לייצוא ואת הפרמטרים שאומנו.
מריצים את ההמרה בחזרה לפורמט Hugging Face.
אחרי שההמרה תושלם, המודל המותאם שמאוחסן ב-/dev/shm/gemma3-4b/hf-trained יהיה מוכן לשימוש. כי כשמפעילים מחדש את ה-VM, מאבדים את הגישה לתוכן של התיקייה /dev/shm. לכן, כדאי להעביר את המודל המכוונן לאחסון מתמיד או להעלות אותו ל-Hugging Face Hub.
הסרת המשאבים
כדי להימנע מחיובים נוספים, מומלץ למחוק את המשאבים שנוצרו במהלך המדריך הזה.
מחיקת TPU VM
יוצאים ממופע Cloud TPU VM ואז מוחקים אותו.
המאמרים הבאים
- מידע נוסף על Cloud TPU זמין במאמר מבוא ל-Cloud TPU.
- פרטים על הארכיטקטורה וההגדרות של
v6e-8TPU זמינים במאמר TPU v6e.