שימוש ב-Cloud Storage כמערכת קבצים מוטענת

Cloud Storage FUSE מאפשר לכם לטעון נתוני אימון לקטגוריה ב-Cloud Storage ולגשת לנתונים האלה ממשימת אימון ללא שרתים בפלטפורמת הסוכנים של Gemini Enterprise, כמו ממערכת קבצים שנטענה. יש כמה יתרונות לשימוש ב-Cloud Storage FUSE:

  • נתוני האימון מועברים בסטרימינג למשימת האימון במקום להורדה לרפליקות, מה שיכול להפוך את טעינת הנתונים ומשימות ההגדרה למהירות יותר כשהמשימה מתחילה לפעול.
  • משימות אימון יכולות לטפל בקלט ופלט בהיקף גדול בלי לבצע קריאות ל-API, לטפל בתשובות או לבצע שילוב עם ספריות בצד הלקוח.
  • ‫Cloud Storage FUSE מספק תפוקה גבוהה לקריאות רציפות של קבצים גדולים ולתרחישי אימון מבוזרים.

תרחישים לדוגמה

מומלץ להשתמש ב-Cloud Storage לאחסון נתוני אימון במצבים הבאים:

  • נתוני האימון הם נתונים לא מובְנים, כמו תמונות, טקסט וסרטונים.
  • נתוני האימון הם נתונים מובנים בפורמט כמו TFRecord.
  • נתוני האימון מכילים קבצים גדולים, כמו סרטוני וידאו לא ערוכים.
  • אתם משתמשים באימון מבוזר.

איך זה עובד

משימות אימון ללא שרת יכולות לגשת לקטגוריות של Cloud Storage כספריות משנה של ספריית הבסיס /gcs. לדוגמה, אם נתוני האימון שלכם נמצאים בנתיב gs://example-bucket/data.csv, תוכלו לקרוא ולכתוב לקטגוריה מאפליקציית האימון שלכם ב-Python באופן הבא:

קריאה מהמאגר

with open('/gcs/example-bucket/data.csv', 'r') as f:
  lines = f.readlines()

כתיבה לקטגוריה

with open('/gcs/example-bucket/epoch3.log', 'a') as f:
  f.write('success!\n')

הרשאות גישה לקטגוריות

כברירת מחדל, משימת אימון ללא שרת יכולה לגשת לכל קטגוריה של Cloud Storage באותו פרויקט באמצעות סוכן השירות של פלטפורמת הסוכנים של Gemini Enterprise לשימוש בקוד בהתאמה אישית. כדי לשלוט בגישה לקטגוריות, אפשר להקצות חשבון שירות בהתאמה אישית למשימה. במקרה כזה, הגישה לקטגוריה של Cloud Storage ניתנת על סמך ההרשאות שמשויכות לתפקידים ב-Cloud Storage של חשבון השירות בהתאמה אישית. Google Cloud

לדוגמה, אם רוצים לתת לעבודת אימון בלי שרת (serverless) גישת קריאה וכתיבה לקטגוריה א', אבל רק גישת קריאה לקטגוריה ב', אפשר להקצות לעבודה חשבון שירות בהתאמה אישית עם התפקידים הבאים:

  • roles/storage.objectAdmin עבור Bucket-A
  • roles/storage.objectViewer Bucket-B

אם משימת האימון מנסה לכתוב ל-Bucket-B, מוחזרת שגיאה מסוג 'ההרשאה נדחתה'.

מידע נוסף על תפקידים ב-Cloud Storage זמין במאמר תפקידי IAM ל-Cloud Storage.

שיטות מומלצות

  • מומלץ להימנע משינוי שמות של ספריות. פעולת שינוי שם היא לא אטומית ב-Cloud Storage FUSE. אם הפעולה נקטעת, חלק מהקבצים נשארים בספרייה הישנה.
  • מומלץ להימנע מסגירה (close()) או מריקון (flush()) של קבצים שלא לצורך. סגירה או ריקון של קבצים מעבירים את הקובץ ל-Cloud Storage, וזה כרוך בעלות.

הנחיות לאופטימיזציה של הביצועים

כדי להשיג תפוקת קריאה אופטימלית כשמשתמשים ב-Cloud Storage כמערכת קבצים, מומלץ ליישם את ההנחיות הבאות:

  • כדי להקטין את זמן האחזור שנוצר כתוצאה מחיפוש ופתיחה של אובייקטים בדלי, כדאי לאחסן את הנתונים בקבצים גדולים יותר ובפחות קבצים.
  • כדי להגדיל ככל האפשר את ניצול רוחב הפס, מומלץ להשתמש באימון מבוזר.
  • שמירה במטמון של קבצים שמתבצעת אליהם גישה לעיתים קרובות כדי לשפר את ביצועי הקריאה. פרטים נוספים זמינים במאמר סקירה כללית של שמירה במטמון ב-Cloud Storage FUSE.
  • שימוש באחסון מקומי לנקודות ביקורת וליומנים במקום ב-Cloud Storage.

מגבלות

מידע על המגבלות של Cloud Storage FUSE, כולל ההבדלים בינו לבין מערכות הקבצים של POSIX, מופיע במאמר המגבלות של Cloud Storage FUSE וההבדלים בינו לבין מערכות הקבצים של POSIX.

שימוש ב-Cloud Storage FUSE

כדי להשתמש ב-Cloud Storage FUSE לאימון בלי שרתים, מבצעים את הפעולות הבאות:

  1. יצירת קטגוריה של Cloud Storage שימו לב שאין תמיכה בקטגוריות של אזורים כפולים ושל כמה אזורים לאימון ללא שרת.
  2. מעלים את נתוני האימון לקטגוריה. פרטים נוספים זמינים במאמר בנושא העלאות של אובייקטים.

    במאמר אפשרויות להעברת נתונים מוסבר על אפשרויות נוספות להעברת נתונים ל-Cloud Storage.

  3. התקנת Cloud Storage FUSE.

  4. שימוש במערכת הקבצים של Cloud Storage

המאמרים הבאים