יש שתי החלטות חשובות שצריך לקבל כשרוצים להריץ מודל Gemma: 1) איזה וריאנט של Gemma רוצים להריץ, ו-2) באיזו מסגרת להרצת AI רוצים להשתמש כדי להריץ אותו. אחת מהבעיות המרכזיות בקבלת שתי ההחלטות האלה קשורה לחומרה שזמינה לכם ולמשתמשים שלכם להרצת המודל.
כאן נסביר איך לקבל את ההחלטות האלה ולהתחיל לעבוד עם מודלים של Gemma. השלבים הכלליים להרצת מודל Gemma הם:
בחירת מסגרת
המודלים של Gemma תואמים למגוון של מסגרות לביצוע בינה מלאכותית גנרטיבית. אחד הגורמים העיקריים לקבלת החלטות לגבי הפעלת מודל Gemma הוא משאבי המחשוב שזמינים לכם (או שיהיו זמינים לכם) להפעלת המודל. רוב מסגרות ה-AI התואמות דורשות חומרה ייעודית, כמו GPUs או TPUs, כדי להריץ מודל Gemma בצורה יעילה. כלים כמו Google Colab יכולים לספק את משאבי המחשוב המיוחדים האלה באופן מוגבל. מסגרות מסוימות להרצת AI, כמו Ollama ו-Gemma.cpp, מאפשרות להריץ את Gemma במעבדים נפוצים יותר באמצעות ארכיטקטורות תואמות ל-x86 או ARM.
ריכזנו כאן מדריכים להרצת מודלים של Gemma עם מסגרות שונות של זמן ריצה של AI:
- Ollama
- Hugging Face Transformers
- ספריית Gemma ל-JAX
- Keras
- PyTorch
- MediaPipe LLM Inference API
- Hugging Face Transformers
- Gemma.cpp
- vLLM
- Google Cloud Vertex AI
- Google Cloud Run
- Google Cloud Kubernetes Engine (GKE)
חשוב לוודא שהפורמט של מודל Gemma שרוצים לפרוס, כמו הפורמט המקורי של Keras, Safetensors או GGUF, נתמך במסגרת שבחרתם.
בחירת וריאנט של Gemma
מודלים של Gemma זמינים בכמה וריאציות ובגדלים שונים, כולל מודלים בסיסיים או מודלים ליבה של Gemma, וריאציות מיוחדות יותר של מודלים כמו PaliGemma ו-DataGemma, ועוד הרבה וריאציות שנוצרו על ידי קהילת מפתחי ה-AI באתרים כמו Kaggle ו-Hugging Face. אם אתם לא בטוחים באיזה וריאנט כדאי להתחיל, בחרו את המודל העדכני ביותר של Gemma עם ליבה מותאמת-הוראות (IT) עם מספר הפרמטרים הנמוך ביותר. לסוג הזה של מודל Gemma יש דרישות מחשוב נמוכות, והוא יכול להגיב למגוון רחב של הנחיות בלי צורך בפיתוח נוסף.
כשאתם בוחרים וריאנט של Gemma, כדאי להביא בחשבון את הגורמים הבאים:
- Gemma core ומשפחות וריאנטים אחרות כמו PaliGemma, CodeGemma: מומלץ להשתמש ב-Gemma (core). הווריאנטים של Gemma מעבר לגרסה המרכזית כוללים את אותה ארכיטקטורה כמו המודל המרכזי, והם מאומנים לבצע משימות ספציפיות בצורה טובה יותר. אלא אם האפליקציה או היעדים שלכם תואמים להתמחות של וריאנט ספציפי של Gemma, מומלץ להתחיל עם מודל ליבה או מודל בסיס של Gemma.
- התאמה להוראות (IT), אימון מראש (PT), התאמה אישית (FT), שילוב (mix): מומלץ להשתמש ב-IT.
- וריאנטים של Gemma מסוג Instruction-tuned (IT) הם מודלים שהותאמו לתגובה למגוון של הוראות או בקשות בשפה אנושית. וריאציות המודלים האלה הן המקום הטוב ביותר להתחיל בו, כי הן יכולות להגיב להנחיות בלי אימון נוסף של המודל.
- וריאנטים של Gemma מאומנים מראש (PT) הם מודלים שהוכשרו להסיק מסקנות לגבי שפה או נתונים אחרים, אבל לא הוכשרו לפעול לפי הוראות אנושיות. כדי שהמודלים האלה יוכלו לבצע משימות ביעילות, נדרשים אימון או כוונון נוספים. הם מיועדים לחוקרים או למפתחים שרוצים ללמוד או לפתח את היכולות של המודל ואת הארכיטקטורה שלו.
- אפשר להתייחס לטיפוסים של Gemma שהותאמו אישית (FT) כאל טיפוסים של IT, אבל בדרך כלל הם עוברים אימון כדי לבצע משימה ספציפית או כדי להציג ביצועים טובים במדד ביצועים ספציפי של AI גנרטיבי. משפחת הווריאנטים של PaliGemma כוללת מספר וריאנטים של FT.
- וריאנטים של Gemma מסוג Mixed (שילוב) הם גרסאות של מודלים של PaliGemma שהותאמו להוראות במגוון הוראות, והם מתאימים לשימוש כללי.
- Parameters: Recommend smallest number available. באופן כללי, ככל שיש יותר פרמטרים במודל, כך הוא יעיל יותר. עם זאת, הפעלת מודלים גדולים יותר דורשת משאבי מחשוב גדולים ומורכבים יותר, ובדרך כלל מאטה את הפיתוח של אפליקציית AI. אם כבר הגדרתם שדגם Gemma קטן יותר לא יעמוד בצרכים שלכם, בחרו דגם עם מספר קטן של פרמטרים.
- רמות קוונטיזציה: מומלץ להשתמש ברמת דיוק חצי (16 ביט), מלבד לצורך כוונון. נושא הקוונטיזציה הוא נושא מורכב שמגיע בסופו של דבר לשאלות לגבי הגודל והדיוק של הנתונים, וכתוצאה מכך לגבי נפח הזיכרון שמודל ה-AI הגנרטיבי משתמש בו לצורך חישובים ויצירת תשובות. אחרי שמאמנים מודל באמצעות נתונים ברמת דיוק גבוהה, בדרך כלל נתונים של נקודה צפה באורך 32 ביט, אפשר לשנות מודלים כמו Gemma כך שישתמשו בנתונים ברמת דיוק נמוכה יותר, כמו גודל של 16, 8 או 4 ביט. מודלים אלה של Gemma עם קצוב עדיין יכולים להניב ביצועים טובים, בהתאם למורכבות המשימות, תוך שימוש קטן יותר במשאבי מחשוב וזיכרון. עם זאת, הכלים לכוונון מודלים מקוטנים מוגבלים, ויכול להיות שהם לא יהיו זמינים במסגרת הפיתוח של ה-AI שבחרתם. בדרך כלל, צריך לבצע שיפורים עדינים במודל כמו Gemma ברמת דיוק מלאה, ואז לבצע קוונטיזציה של המודל שנוצר.
רשימה של מודלים מרכזיים של Gemma שפורסמו על ידי Google מופיעה במאמר תחילת העבודה עם מודלים של Gemma, בקטע 'רשימת המודלים של Gemma'.
הרצת בקשות ליצירה ולהסקה
אחרי שבוחרים מסגרת לביצוע AI וריאננט של Gemma, אפשר להתחיל להריץ את המודל ולבקש ממנו ליצור תוכן או להשלים משימות. מידע נוסף על הפעלת Gemma עם מסגרת ספציפית זמין במדריכים שמקושרים בקטע בחירת מסגרת.
עיצוב הנחיות
לכל הווריאציות של Gemma שמותאמות להוראות יש דרישות ספציפיות לגבי הפורמט של ההנחיות. חלק מדרישות הפורמט האלה מטופלות באופן אוטומטי על ידי המסגרת שבה אתם משתמשים כדי להריץ מודלים של Gemma, אבל כששולחים נתוני הנחיה ישירות למפַתח תווים, צריך להוסיף תגים ספציפיים. דרישות התיוג עשויות להשתנות בהתאם לגרסה של Gemma שבה אתם משתמשים. במדריכים הבאים מוסבר איך לעצב את ההנחיות לשימוש בגרסאות של Gemma ואיך להשתמש בהן: