בדף הזה מוסבר איך פורסים מודל AI גנרטיבי לנקודת קצה לצורך היקש אונליין.
בדיקה ב-Model Garden
אם המודל נמצא ב-Model Garden, אפשר לפרוס אותו בלחיצה על Deploy (פריסה, זמין לחלק מהמודלים) או על Open Notebook (פתיחת מחברת).
אחרת, אפשר לבצע אחת מהפעולות הבאות:
אם המודל שלכם דומה לאחד מהמודלים ב-Model Garden, יכול להיות שתוכלו לעשות שימוש חוזר ישירות באחד מהקונטיינרים של Model Garden.
כדי לייבא את המודל אל מרשם המודלים של Vertex AI, צריך ליצור קונטיינר מותאם אישית שעומד בדרישות של קונטיינרים מותאמים אישית להיקש. אחרי הייבוא, הוא הופך למשאב
modelשאפשר לפרוס בנקודת קצה.אתם יכולים להשתמש בקבצי Dockerfile ובסקריפטים שבהם אנחנו משתמשים כדי ליצור את הקונטיינרים של Model Garden כנקודת התייחסות או כנקודת התחלה ליצירת קונטיינרים מותאמים אישית משלכם.
הצגת מסקנות באמצעות NVIDIA NIM
NVIDIA Inference Microservices (NIM) הם מודלים של AI שעברו אימון מראש ואופטימיזציה, והם ארוזים כמיקרו-שירותים. הם נועדו לפשט את הפריסה של AI עם ביצועים גבוהים שמוכן לייצור באפליקציות.
אפשר להשתמש ב-NVIDIA NIM יחד עם Artifact Registry ו-Vertex AI כדי לפרוס מודלים של בינה מלאכותית גנרטיבית להסקת מסקנות אונליין.
הגדרות של מאגרי תגים בהתאמה אישית
בקטע הזה מתוארים השדות ב-containerSpec של המודל, שאולי תצטרכו לציין כשמייבאים מודלים של בינה מלאכותית גנרטיבית.
אפשר לציין את השדות האלה באמצעות Vertex AI API בארכיטקטורת REST או הפקודה gcloud ai models upload.
מידע נוסף זמין במאמר בנושא שדות API שקשורים למאגרי תגים.
sharedMemorySizeMbחלק מהמודלים של AI גנרטיבי דורשים יותר זיכרון משותף. זיכרון משותף הוא מנגנון תקשורת בין תהליכים (IPC) שמאפשר לכמה תהליכים לגשת לבלוק זיכרון משותף ולבצע בו מניפולציות. גודל הזיכרון המשותף שמוגדר כברירת מחדל הוא 64MB.
חלק משרתי המודלים, כמו vLLM או Nvidia Triton, משתמשים בזיכרון משותף כדי לשמור במטמון נתונים פנימיים במהלך הסקת מסקנות של המודל. אם אין מספיק זיכרון משותף, חלק משרתי המודלים לא יכולים להציג מסקנות לגבי מודלים גנרטיביים. כמות הזיכרון המשותף שנדרשת, אם בכלל, היא פרט הטמעה של הקונטיינר והמודל. כדאי לעיין בהנחיות במסמכי התיעוד של שרת המודל.
בנוסף, אפשר להשתמש בזיכרון משותף לתקשורת בין GPU, ולכן שימוש בזיכרון משותף גדול יותר יכול לשפר את הביצועים של מאיצים ללא יכולות NVLink (לדוגמה, L4), אם קובץ ה-container של המודל דורש תקשורת בין GPU.
מידע על הגדרת ערך בהתאמה אישית לזיכרון משותף זמין במאמר בנושא שדות API שקשורים לקונטיינרים.
startupProbeבקשה לבדיקת תקינות (probe) של אתחול היא בקשה לבדיקת תקינות (probe) אופציונלית שמשמשת לזיהוי המועד שבו הקונטיינר מתחיל. בקשה לבדיקת תקינות (probe) זו משמשת לעיכוב של בדיקת תקינות ושל בדיקות מצב פעילות (liveness) עד שהקונטיינר מופעל. כך אפשר למנוע מצב שבו קונטיינרים שמופעלים לאט נסגרים לפני הזמן.
מידע נוסף זמין במאמר בנושא בדיקות תקינות.
healthProbeבקשה לבדיקת תקינות (probe) בודקת אם מאגר מוכן לקבל תנועה. אם לא מספקים בדיקת תקינות, Vertex AI ישתמש בבדיקות התקינות שמוגדרות כברירת מחדל. הבדיקות האלה שולחות בקשת HTTP ליציאה של הקונטיינר ומחפשות תגובה
200 OKמשרת המודל.אם שרת המודל מגיב עם
200 OKלפני שהמודל נטען במלואו, מה שיכול לקרות במיוחד במודלים גדולים, בדיקת תקינות תצליח מוקדם מדי ו-Vertex AI ינתב תנועה אל הקונטיינר לפני שהוא יהיה מוכן.במקרים כאלה, צריך לציין בקשה לבדיקת תקינות (probe) בהתאמה אישית שתצליח רק אחרי שהמודל נטען במלואו ומוכן לקבל תנועה.
מידע נוסף זמין במאמר בנושא בדיקות תקינות.
מגבלות
חשוב לקחת בחשבון את המגבלות הבאות כשפורסים מודלים של AI גנרטיבי:
- אפשר לפרוס מודלים של AI גנרטיבי רק במכונה אחת. פריסה בכמה מארחים לא נתמכת.
- למודלים גדולים מאוד שלא נכנסים לזיכרון ה-vRAM הגדול ביותר שנתמך, כמו Llama 3.1 405B, מומלץ לבצע קוונטיזציה כדי שהם יתאימו.