במאמר הזה מוסבר איך להשתמש בהגדרות מבוססות-פרופיל כדי לייעל את ההטמעה ולשפר את הביצועים של Cloud Storage FUSE בעומסי העבודה של בינה מלאכותית או למידת מכונה (AI/ML).
כדי לייעל את ההגדרה של Cloud Storage FUSE לעומסי עבודה של הגשה, יצירת נקודות ביקורת או אימון, אפשר להחיל פרופילים שהוגדרו מראש על סמך סוג עומס העבודה באמצעות השדה profile או האפשרות --profile. באמצעות השדה או האפשרות, אפשר לציין קבוצה מוגדרת מראש ואופטימלית של תכונות Cloud Storage FUSE לשמירה במטמון, לשרשור ולגדלי מאגרים. כך אפשר להבטיח ביצועים גבוהים עם מינימום מאמץ לאימון, ליצירת נקודות ביקורת ולהצגת עומסי עבודה, עם ערכי פרופיל של aiml-training, aiml-checkpointing ו-aiml-serving בהתאמה.
לתשומת ליבכם
אפשר להגדיר את האפשרות
--profileאו את השדהprofileרק במהלך פעולת הרכבה. אם אתם צריכים לעדכן את האפשרות--profileאו את השדהprofile, אתם צריכים להפעיל מחדש את הקטגוריה של Cloud Storage FUSE.כשמשתמשים בהגדרות מבוססות-פרופיל, Cloud Storage FUSE מגדיר את קיבולת המטמון של המטא-נתונים ואת אורך החיים (TTL) ללא הגבלה, כלומר הרשומות אף פעם לא נמחקות מהמטמון של המטא-נתונים. אם למכונה הווירטואלית אין מספיק זיכרון, יכול להיות שתיתקלו בשגיאות של חוסר זיכרון (OOM). לכן, מומלץ לבדוק את קיבולת הזיכרון לפני שמיישמים הגדרות מבוססות-פרופיל. שגיאות OOM סביר יותר שיקרו במחשבים עם פחות מ-TiB אחד של זיכרון.
אם פרמטר של Cloud Storage FUSE מוגדר בכמה דרכים, סדר העדיפות הבא חל (מהגבוה לנמוך):
- ערכים שמוגדרים ישירות בפקודה
gcsfuseאו בקובץ הגדרות של Cloud Storage FUSE. - ערכים שמוגדרים על ידי פרופיל, כאשר הפרופיל מצוין באמצעות האפשרות
--profileבפקודהgcsfuseאו השדהprofileבקובץ התצורה של Cloud Storage FUSE. - ערכי ברירת המחדל מוחלים באופן אוטומטי כש-Cloud Storage FUSE מזהה סוג מכונה עם ביצועים גבוהים. מידע נוסף זמין במאמר ערכי הגדרה אוטומטיים לסוגי מכונות עם ביצועים גבוהים.
- ערכים שמוגדרים ישירות בפקודה
נפחי אחסון של Cloud Storage FUSE CSI בקבוצות Pod של Google Kubernetes Engine לא תומכים בשדה
profileאו באפשרות--profile.אי אפשר להפעיל שמירה במטמון של קבצים באמצעות הגדרות מבוססות-פרופיל, כי שמירה במטמון של קבצים מחייבת שימוש בשדות ההגדרה של Cloud Storage FUSE ובאפשרויות של Cloud Storage FUSE CLI שלא ניתן להכליל. כדי להפעיל שמירת קבצים במטמון לצורך הצגה, אימון או יצירת נקודות ביקורת של עומסי עבודה, צריך להגדיר במפורש את האפשרויות או השדות של שמירת קבצים במטמון.
החלת הגדרות מבוססות-פרופיל על עומסי עבודה של אימון
פרופיל ספציפי לאימון משפר את הביצועים לקריאות של מערכי נתונים גדולים עם תפוקה גבוהה, ומונע ממעבדים גרפיים ל-Cloud ומחומרת Cloud TPU להמתין לנתונים.
כדי להחיל את הפרופיל הספציפי לאימון, מציינים את profile: aiml-training באמצעות קובץ תצורה של Cloud Storage FUSE או את --profile=aiml-training באמצעות Cloud Storage FUSE CLI. אחר כך מוחלות ההגדרות הבאות:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files or directories that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
החלת הגדרות מבוססות-פרופיל על עומסי עבודה של נקודות ביקורת
פרופיל ספציפי של checkpointing מבצע אופטימיזציה של הביצועים לכתיבה של קבצים גדולים עם תפוקה גבוהה, על ידי קיצור משמעותי של הזמן שנדרש לשמירת נקודות ביקורת של כמה גיגה-בייט, וכך מצמצם את ההפסקות בתהליך האימון.
כדי להחיל את הפרופיל הספציפי של יצירת נקודות ביקורת, מציינים את profile: aiml-checkpointing באמצעות קובץ הגדרות של Cloud Storage FUSE או את --profile=aiml-checkpointing באמצעות Cloud Storage FUSE CLI. אחר כך מוחלות ההגדרות הבאות:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Allow renaming directories with a lot of files in non-HNS buckets.
- file-system:rename-dir-limit:200000
החלת הגדרות מבוססות-פרופיל להצגת עומסי עבודה
השירות Serving מבצע אופטימיזציה של הביצועים עבור עומסי עבודה של Serving על ידי שיפור הגישה לנתונים ומנגנוני שמירה במטמון.
כדי להחיל את הפרופיל הספציפי להצגת נתונים, מציינים את profile: aiml-serving באמצעות קובץ תצורה של Cloud Storage FUSE או את --profile=aiml-serving באמצעות Cloud Storage FUSE CLI. אחר כך מוחלות ההגדרות הבאות:
# Create implicit directories locally when accessed:
- implicit-dirs
# Disable caching for lookups of files/dirs that don't exist:
- metadata-cache:negative-ttl-secs:0
# Keep cached metadata (file attributes, types) indefinitely time-wise:
- metadata-cache:ttl-secs:-1
# Allow unlimited size for the file attribute (stat) cache:
- metadata-cache:stat-cache-max-size-mb:-1
# Allow unlimited size for the file/directory type cache:
- metadata-cache:type-cache-max-size-mb:-1
# Cache the entire file when any part is read sequentially:
- file-cache:cache-file-for-range-read:true
# Enable kernel-list-cache to make listing faster as this is a readonly file system hierarchy.
- file-system:kernel-list-cache-ttl-secs:-1