יש שתי החלטות חשובות שצריך לקבל כשרוצים להריץ מודל Gemma: 1) איזה וריאנט של Gemma רוצים להריץ, ו-2) באיזו מסגרת ביצוע של AI רוצים להשתמש כדי להריץ אותו? בעיה מרכזית בקבלת שתי ההחלטות האלה קשורה לחומרה שזמינה לכם ולמשתמשים שלכם להרצת המודל.
סקירה כללית זו עוזרת לכם לקבל את ההחלטות האלה ולהתחיל לעבוד עם מודלים של Gemma. אלה השלבים הכלליים להפעלת מודל Gemma:
בחירת מסגרת
מודלים של Gemma תואמים למגוון רחב של כלים בסביבת המערכת האקולוגית. הבחירה באפשרות הנכונה תלויה בחומרה הזמינה (GPU בענן לעומת מחשב נייד מקומי) ובהעדפות הממשק (קוד Python לעומת אפליקציית מחשב).
הטבלה הבאה תעזור לכם לזהות במהירות את הכלי המתאים ביותר לצרכים שלכם:
| אם אתה רוצה... | מערכת מומלצת | מתאים במיוחד עבור |
|---|---|---|
| הרצה מקומית עם ממשק משתמש של Chat | – LM Studio – Ollama |
משתמשים מתחילים או משתמשים שרוצים חוויה דומה ל-Gemini במחשב הנייד שלהם. |
| הרצה יעילה ב-Edge | - Gemma.cpp - LiteRT-LM - llama.cpp - MediaPipe LLM Inference API - MLX |
הסקת מסקנות מקומית עם ביצועים גבוהים ושימוש מינימלי במשאבים. |
| Build/Train in Python | - Gemma library for JAX - Hugging Face Transformers - Keras - PyTorch - Unsloth |
חוקרים ומפתחים שיוצרים אפליקציות בהתאמה אישית או מכווננים מודלים. |
| פריסה ב-Production או ב-Enterprise | - Google Cloud Kubernetes Engine (GKE) - Google Cloud Run - Vertex AI - vLLM |
פריסה מנוהלת בענן שניתנת להרחבה, עם אבטחה ברמת הארגון ותמיכה ב-MLOps. |
פרטי ה-Framework
בהמשך מופיעים מדריכים להפעלת מודלים של Gemma, שמסווגים לפי סביבת הפריסה.
1. הסקת מסקנות במחשב ובמכשיר (יעילות גבוהה)
הכלים האלה מאפשרים להריץ את Gemma על חומרה לצרכנים (מחשבים ניידים, מחשבים שולחניים) באמצעות פורמטים מותאמים (כמו GGUF) או מאיצי חומרה ספציפיים.
- LM Studio: אפליקציה למחשב שמאפשרת להוריד מודלים של Gemma ולנהל איתם שיחה בממשק ידידותי למשתמש. אין צורך בכתיבת קוד.
- llama.cpp: פורט פופולרי של Llama (ו-Gemma) בקוד פתוח ב-C++, שפועל מהר מאוד במעבדי CPU וב-Apple Silicon.
- LiteRT-LM: מציע ממשק שורת פקודה (CLI) להפעלת מודלים ממוטבים של
.litertlmGemma במחשב (Windows, Linux, macOS), שמבוסס על LiteRT (לשעבר TFLite). - MLX: מסגרת שנועדה במיוחד ללמידת מכונה ב-Apple Silicon, ומתאימה למשתמשי Mac שרוצים ביצועים מובנים.
- Gemma.cpp: מנוע הסקה קל משקל ועצמאי ב-C++, שפותח במיוחד על ידי Google.
- Ollama: כלי להפעלת מודלים גדולים של שפה (LLM) בקוד פתוח באופן מקומי, שמשמש לעיתים קרובות להפעלת אפליקציות אחרות.
2. פיתוח Python (מחקר וכוונון עדין)
מסגרות סטנדרטיות למפתחי AI שיוצרים אפליקציות, צינורות או מודלים לאימון.
- Hugging Face Transformers: הסטנדרט בתעשייה לגישה מהירה למודלים ולצינורות.
- Unsloth: ספרייה אופטימלית לכוונון עדין של מודלים גדולים של שפה (LLM). הוא מאפשר לאמן מודלים של Gemma פי 2 עד פי 5 מהר יותר עם הרבה פחות זיכרון, וכך אפשר לבצע כוונון עדין במעבדי GPU לצרכנים (למשל, בתוכניות חינמיות של Google Colab).
- Keras / JAX / PyTorch: ספריות ליבה למחקר למידה עמוקה וליישום ארכיטקטורה בהתאמה אישית.
3. פריסה בנייד ובקצה (במכשיר)
מסגרות שנועדו להפעיל מודלים של שפה גדולה (LLM) ישירות במכשירי משתמשים (Android, iOS, אינטרנט) ללא חיבור לאינטרנט, ולרוב נעשה בהן שימוש ביחידות עיבוד עצבי (NPU).
- LiteRT-LM: מסגרת קוד פתוח מלאה לפיתוח מודלים גדולים של שפה (LLM) במכשיר, שמציעה ביצועים מקסימליים ושליטה פרטנית, עם תמיכה ישירה בהאצת CPU, GPU ו-NPU ב-Android וב-iOS.
- MediaPipe LLM Inference API: הדרך הקלה ביותר לשלב את Gemma באפליקציות חוצות פלטפורמות. הוא מציע API ברמה גבוהה שפועל ב-Android, ב-iOS ובאינטרנט.
4. פריסה בענן ובסביבת ייצור
שירותים מנוהלים להרחבת האפליקציה לאלפי משתמשים או לגישה לכוח מחשוב עצום.
- Vertex AI: פלטפורמת ה-AI המנוהלת במלואה של Google Cloud. האפשרות הטובה ביותר לאפליקציות ארגוניות שנדרשים להן הסכמי רמת שירות (SLA) ושינוי גודל.
- Google Cloud Kubernetes Engine (GKE): לניהול אשכולות משלכם להצגת מודלים.
- vLLM: מנוע הסקה והצגה של מודלים עם תפוקה גבוהה ושימוש יעיל בזיכרון, שמשמש לעיתים קרובות בפריסות בענן.
מוודאים שהפורמט של מודל 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 שעברו התאמה להוראות (IT) הן מודלים שאומנו כדי להגיב למגוון הוראות או בקשות בשפה טבעית. הווריאציות האלה של המודלים הן המקום הכי טוב להתחיל בו, כי הן יכולות להגיב להנחיות בלי שנדרש אימון נוסף של המודל.
- Gemma מאומן מראש (PT) הוא מודל שאומן להסיק מסקנות לגבי שפה או נתונים אחרים, אבל לא אומן לפעול לפי הוראות של בני אדם. המודלים האלה דורשים אימון או כוונון נוספים כדי לבצע משימות בצורה יעילה, והם מיועדים לחוקרים או למפתחים שרוצים ללמוד או לפתח את היכולות של המודל והארכיטקטורה שלו.
- אפשר להחשיב וריאציות של Gemma שעברו כוונון עדין (FT) כווריאציות של IT, אבל בדרך כלל הן מאומנות לבצע משימה ספציפית או להשיג ביצועים טובים במדד השוואה ספציפי של AI גנרטיבי. משפחת הווריאציות של PaliGemma כוללת מספר וריאציות של FT.
- Mixed (mix) Gemma variants הם גרסאות של מודלים של PaliGemma שעברו כוונון באמצעות מגוון הוראות, והם מתאימים לשימוש כללי.
- פרמטרים: מומלץ להשתמש במספר הקטן ביותר שזמין. באופן כללי, ככל שיש למודל יותר פרמטרים, כך היכולות שלו גבוהות יותר. עם זאת, הפעלת מודלים גדולים יותר דורשת משאבי מחשוב גדולים ומורכבים יותר, ובדרך כלל מאטה את הפיתוח של אפליקציית AI. אלא אם כבר קבעתם שמודל Gemma קטן יותר לא יכול לענות על הצרכים שלכם, כדאי לבחור מודל עם מספר קטן של פרמטרים.
- רמות קוונטיזציה: מומלץ להשתמש בחצי דיוק (16 ביט), למעט במקרים של כוונון. קוונטיזציה היא נושא מורכב, אבל אפשר להסביר אותו כך: היא קובעת את הגודל והדיוק של הנתונים, וכתוצאה מכך את כמות הזיכרון שמודל AI גנרטיבי משתמש בה לחישובים וליצירת תשובות. אחרי שמבצעים אימון של מודל עם נתונים ברמת דיוק גבוהה, בדרך כלל נתונים של 32 ביט, אפשר לשנות מודלים כמו Gemma כדי להשתמש בנתונים ברמת דיוק נמוכה יותר, כמו גדלים של 16, 8 או 4 ביט. מודלים כמותיים של Gemma עדיין יכולים להניב ביצועים טובים, בהתאם למורכבות המשימות, תוך שימוש בפחות משאבי מחשוב וזיכרון. עם זאת, הכלים לכוונון מודלים שעברו קוונטיזציה מוגבלים, ויכול להיות שהם לא יהיו זמינים במסגרת פיתוח ה-AI שבחרתם. בדרך כלל, צריך לבצע כוונון עדין של מודל כמו Gemma בדיוק מלא, ואז לכמת את המודל שמתקבל.
רשימה של מודלים מרכזיים של Gemma שפורסמו על ידי Google זמינה במאמר תחילת העבודה עם מודלים של Gemma.
הרצת בקשות ליצירה ולניתוח
אחרי שבוחרים מסגרת הפעלה של AI וגרסה של Gemma, אפשר להפעיל את המודל ולתת לו הנחיות ליצירת תוכן או להשלמת משימות. מידע נוסף על הפעלת Gemma עם מסגרת ספציפית זמין במדריכים שמקושרים בקטע בחירת מסגרת.
עיצוב ההנחיה
לכל הגרסאות של Gemma שעברו כוונון להוראות יש דרישות ספציפיות לגבי פורמט ההנחיות. חלק מדרישות הפורמט האלה מטופלות אוטומטית על ידי המסגרת שבה אתם משתמשים כדי להפעיל מודלים של Gemma, אבל כשאתם שולחים נתוני הנחיה ישירות לטוקנייזר, אתם צריכים להוסיף תגים ספציפיים, והדרישות לגבי התיוג יכולות להשתנות בהתאם לגרסת Gemma שבה אתם משתמשים. במדריכים הבאים מפורט מידע על הפורמט של הנחיות לגרסאות של Gemma והוראות למערכת: