עיצוב הנחיות מולטי-מודאליות

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

יסודות עיצוב ההנחיות

בקטעים הבאים מתוארות שיטות מומלצות בסיסיות לעיצוב הנחיות מולטימודאליות יעילות.

שימוש בהוראות ספציפיות

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

גם אם ההנחיה נראית ברורה למי שכתב אותה, יכול להיות שהיא לא מספיק מפורטת. כדי להתאים אישית את התנהגות המודל, כדאי לחשוב איך אפשר לפרש את ההנחיה ולוודא שההוראות שאתם נותנים הן ספציפיות וברורות.

אם כוללים את התמונה של לוח המידע הזה בשדה התעופה כחלק מהפרומפט, בקשה מהמודל רק "לתאר את התמונה הזו" יכולה ליצור תיאור כללי. אם אתם רוצים שהמודל ינתח את השעה והעיר מהתמונה, צריך לכלול את הבקשה הזו ישירות בהנחיה.

פרומפט תשובה מהמודל
לוח זמנים של נמל התעופה עם שעות וערים.

תאר את התמונה הזו.

תמונה של לוח טיסות נכנסות ויוצאות בשדה תעופה.

פרומפט מעודכן תשובה משופרת
לוח זמנים של נמל התעופה עם שעות וערים.

Parse the time and city from the airport board shown in this image into a list.

  • ‫10:50 מוסקבה
  • ‫11:05 אדינבורו
  • ‫11:05 לונדון
  • ‫11:10 בוקרשט
  • ‫11:30 קייב
  • ‫11:35 דבלין
  • ‫11:45 איסט מידלנדס
  • ‫12:15 סופיה
  • 12:30 London
  • ‫12:30 ניוקאסל
  • ‫12:40 סנט פטרסבורג
  • ‫12:40 לונדון
  • ‫12:45 מנצ'סטר

הוספת דוגמאות

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

בדוגמה הבאה, הפלט הראשוני הוא משפט מלא שכולל גם את המדינה (ברזיל). אם הפלט המועדף הוא רק שם העיר ולא שם המדינה, אז הוספת פרומפט עם כמה דוגמאות (few-shot) להנחיה יכולה להנחות את המודל להגיב בפורמט הזה.

פרומפט תשובה מהמודל
פסל ישו הגואל בריו דה ז'ניירו, ברזיל.

לציין את העיר שבה נמצא ציון הדרך.

האתר המפורסם הוא פסל ישו הגואל בריו דה ז'ניירו, ברזיל.

פרומפט מעודכן תשובה משופרת

לציין את העיר שבה נמצא ציון הדרך.

הקולוסיאום ברומא, איטליה.

העיר: רומא, נקודת ציון: הקולוסיאום.

העיר האסורה בבייג'ינג, סין.

city: Beijing, landmark: Forbidden City

פסל ישו הגואל בריו דה ז'ניירו, ברזיל.

city: Rio de Janeiro, landmark: Christ the Redeemer statue

פיצול משימות מורכבות למשימות קטנות יותר

למשימות מורכבות שדורשות גם הבנה חזותית וגם חשיבה רציונלית, כדאי לפצל את המשימה לשלבים קטנים ופשוטים יותר או לבקש מהמודל ישירות לחשוב שלב אחרי שלב בפרומפט.

פרומפט תשובה מהמודל
תמונה של שלושה גלילי נייר טואלט.

מתי ייגמר לי נייר הטואלט?

בקרוב, נשארו לך רק 3 גלילים.

פרומפט מעודכן תשובה משופרת
תמונה של שלושה גלילי נייר טואלט.
  1. קודם כל, סופרים כמה גלילי נייר טואלט יש בתמונה הזו.
  2. לאחר מכן, קובעים כמה נייר טואלט אדם ממוצע משתמש ביום.
  3. תחשב כמה זמן יספיקו גלילי נייר הטואלט האלה.
  1. בתמונה הזו יש 3 גלילי נייר טואלט.
  2. אדם ממוצע משתמש בכ-20 דפים של נייר טואלט ביום.
  3. אם כל גליל מכיל 200 דפים, כל גליל יספיק לכ-10 ימים. לכן, 3 הגלילות יספיקו בערך לחודש.

אפשר גם לפרק בעיות מתמטיות או סוגים אחרים של בעיות מילוליות למשימות קטנות יותר.

פרומפט תשובה
תמונה של סדרה מתמטית b. b(1) = 15, ו-b(n) = b(n-1) * (-3).

מהו האיבר הרביעי בסדרה?

-135

התשובה מהמודל שגויה. אפשר לנסות לבקש מהמודל לנתח את הבעיה לפני שהוא עונה על הפרומפט.

פרומפט תשובה
תמונה של סדרה מתמטית b. b(1) = 15, ו-b(n) = b(n-1) * (-3).

קודם מנתחים את הנוסחה שבתמונה.

לאחר מכן, על סמך הנוסחה, ענה על השאלה 'מה האיבר הרביעי בסדרה?'.

לחיצה להרחבת התוצאה $$b(n) = b(n-1) * (-3)$$ $$b(1) = 15$$
  1. מציבים n = 4 בנוסחה:

    $$b(4) = b(4-1) * (-3)$$

    $$b(4) = b(3) * (-3)$$

  2. אנחנו לא יודעים את הערך של b(3), לכן נציב n = 3 בנוסחה:

    $$b(3) = b(3-1) * (-3)$$

    $$b(3) = b(2) * (-3)$$

  3. אנחנו לא יודעים את הערך של b(2), אז נציב n = 2 בנוסחה:

    $$b(2) = b(2-1) * (-3)$$

    $$b(2) = b(1) * (-3)$$

  4. אנחנו יודעים שהערך של b(1) הוא 15, אז נציב אותו בנוסחה:

    $$b(2) = 15 * (-3)$$

    $$b(2) = -45$$

  5. עכשיו, אחרי שיש לנו את הערך של b(2), נציב אותו בנוסחה של b(3):

    $$b(3) = b(2) * (-3)$$

    $$b(3) = -45 * (-3)$$

    $$b(3) = 135$$

  6. עכשיו אנחנו יודעים את הערך של b(3), אז נציב אותו בנוסחה של b(4):

    $$b(4) = b(3) * (-3)$$

    $$b(4) = 135 * (-3)$$

    $$b(4) = -405$$

לכן, האיבר הרביעי בסדרה הוא ‎-405.

כדי שהתשובה תהיה יעילה עוד יותר, אפשר לבקש מהמודל לחשוב על הפרומפט שלב אחרי שלב.

פרומפט מעודכן תשובה משופרת
תמונה של סדרה מתמטית b. b(1) = 15, ו-b(n) = b(n-1) * (-3).

מהו האיבר הרביעי בסדרה? תחשוב שלב אחרי שלב.

האיבר הראשון הוא 15.

האיבר השני הוא b(1) * (-3) = 15 * (-3) = -45.

האיבר השלישי הוא b(2) * (-3) = -45 * (-3) = 135.

האיבר הרביעי הוא b(3) * (-3) = 135 * (-3) = -405.

ציון פורמט הפלט

כשנדרש פורמט מסוים, אפשר להנחות את המודל להשתמש בפורמט הזה בפלט שלו.

פרומפט תשובה מהמודל
תמונה של גיליון אלקטרוני ב-Excel.

תנתח את הטבלה בתמונה הזו לפורמט Markdown

| Subject   | Status      | Time    | Start date | Due on     |
|-----------|-------------|---------|------------|------------|
| Math      | Done        | 1.5 hrs | 11/29/2023 | 12/1/2023  |
| Geography | Done        | 30 min  | 12/2/2023  | 12/4/2023  |
| Physics   | In progress | 2 hrs   | 12/3/2023  | 12/5/2023  |
| Biology   | Not started | 6 hrs   | 11/2/2016  | 12/6/2023  |
        
פרומפט תשובה מהמודל
תמונה של ארוחה עם שרימפס, צדפות ורכיבים נוספים.

צריך לציין את כל המאפיינים הבאים:

רכיבים, סוג המטבח, צמחוני או לא, בפורמט JSON


        {
          "ingredients": [
            "rice",
            "shrimp",
            "clams",
            "mussels",
            "peas",
            "tomatoes",
            "onions",
            "garlic",
            "olive oil",
            "paprika",
            "salt",
            "pepper"
          ],
          "type of cuisine": "Spanish",
          "vegetarian": false
        }
        

פתרון בעיות בהנחיות מולטי-מודאליות

פתרון בעיות בהנחיה יכול לכלול שיפור של השפה בהנחיה, מיקוד של ההנחיה או שינוי פרמטרים. הגישות השונות האלה יכולות להוביל לשיפור התוצאות, במיוחד אחרי שקובעים את שורש הבעיה.

התמקדות בחלק הרלוונטי של תמונה

כדי לשפר את התשובה, כדאי לציין אילו חלקים בתמונה הכי רלוונטיים לפרומפט.

פרומפט תשובה מהמודל
תמונה של הצד של קופסת חיתולים; המספר 198 כתוב על הקופסה.

כמה ימים יספיקו חיתולים לתינוק?

החיתולים יספיקו ל-198 ימים לפני שיגמרו.

פרומפט מעודכן תשובה משופרת
תמונה של הצד של קופסת חיתולים; המספר 198 כתוב על הקופסה.

כמה זמן יספיקו החיתולים האלה עד שאצטרך לקנות חדשים?

משתמשים במשקל שמופיע על האריזה כדי לקבוע את גיל הילד או הילדה, ומשתמשים במספר הכולל של החיתולים באריזה.

מחלקים את המספר הכולל במספר החיתולים שהילד או הילדה משתמשים בהם ביום.

הקופסה מכילה 198 חיתולים. על הקופסה מצוין שהחיתולים מיועדים לילדים במשקל 10-17 ק"ג.

הגיל הממוצע של ילדים בטווח המשקל הזה הוא בדרך כלל בין שנה לשנתיים.

ילד בן שנתיים משתמש בדרך כלל ב-6 חיתולים ביום, ולכן החיתולים יספיקו לכ-33 ימים (198/6).

התאמת התשובה של המודל לקלט

מבקשים מהמודל לתאר את התמונות לפני שמבצעים את המשימה בהנחיה.

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

מה המשותף לתמונות האלה?

כל ארבע התמונות הן דוגמאות לצילום נוף.

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

קודם כל, תתאר בפירוט את מה שרואים בכל תמונה. מה המשותף לתמונות האלה?

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

המשותף לכל התמונות האלה הוא שהן דוגמאות למרחבים לימינליים. מרחבים לימינליים הם מקומות או מצבים שנמצאים בין שני מקומות או מצבים אחרים. לרוב הן מתאפיינות בתחושת חוסר ודאות או דו-משמעות.

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

בתמונה הרביעית מוצג הים, פעם רגוע ופעם סוער.

מרחבים לימינליים יכולים להיות מרגשים ומטרידים בו-זמנית. הם יכולים להיות מקום של התחלות חדשות או מקום של סיומים. הם יכולים להיות מקום למחשבה או מקום לפעולה.

אתם יכולים לבקש מהמודל להתייחס למה שרואים בתמונה.

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

מה המשותף לתמונות האלה? להתייחס למה שרואים בתמונות בתשובה.

כל התמונות קשורות לנסיעות. בתמונה הראשונה רואים אדם אורז מזוודה, בתמונה השנייה רואים מסדרון ריק בקניון, בתמונה השלישית רואים ערימה של נייר טואלט ובתמונה הרביעית רואים ים סוער וחשוך.

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

אותם טיפים רלוונטיים גם ליצירת קריאייטיב. כדאי לבקש מהמודל באופן מפורש לכלול היבטים מהתמונה, כדי לשפר את הפלט.

פרומפט תשובה מהמודל
תמונה של ארנב חום.

תכתוב שיר על התמונה הזו?

Little bunny, so soft and brown,
        Hopping through the field, up and down.
        Your ears so long, your tail so small,
        You're the cutest creature of them all.
You nibble on the grass, so green and sweet,
        And hop away when you see me.
        But I'll always be your friend,
        Little bunny, until the very end.
פרומפט מעודכן תשובה משופרת
תמונה של ארנב חום.

תכתוב לי שיר תיאורי ודרמטי על התמונה הזו, ותציין את המיקום.

Little bunny on the green,
        Ears so long, so keen.
        What do you see out there,
        In the distance, where you stare?
Is it the ocean blue,
        Sparkling in the sun's hue?
        Or the waves that crash and roar,
        A rhythm that you adore?
Little bunny, tell me true,
        What captures your attention so?
        Is it the salty breeze,
        Or the seagulls' cries that please?
Perhaps it's the vastness of it all,
        A world so big and small.
        A place where dreams can roam,
        And adventures can be sown.
Little bunny, I wonder what you dream,
        As you sit on the grass, so serene.
        Do you yearn to explore the deep,
        Or stay on land, where you can leap?
Whatever it may be, little bunny,
        Keep that spark of wonder burning brightly.
        For in your dreams and aspirations,
        Lies a world waiting for your creation.

איך אפשר לדעת למה ההנחיה נכשלה

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

בדוגמה הזו, אם המודל משיב עם חטיף שנראה מפתיע כשמשלבים אותו עם תה (כמו פופקורן), קודם צריך לקבוע אם המודל זיהה שהתמונה מכילה תה.

פרומפט פרומפט לפתרון בעיות
תמונה של סט תה.

איזה נשנוש אפשר להכין בדקה שיתאים לזה?

תמונה של סט תה.

מה רואים בתמונה?

אם מבקשים מהמודל להסביר את החשיבה הרציונלית שלו, אפשר לצמצם את החלק בחשיבה הרציונלית שבו הייתה בעיה, אם הייתה כזו.

פרומפט פרומפט לפתרון בעיות
תמונה של סט תה.

איזה נשנוש אפשר להכין בדקה שיתאים לזה?

תמונה של סט תה.

איזה נשנוש אפשר להכין בדקה שיתאים לזה? תסביר למה.

פתרון בעיות בגישה ובהרשאות ב-Cloud Storage

כשמעבירים קבצים מ-Cloud Storage (gs://... כתובות URI או קבצים שנבחרו מ-Cloud Storage ב-Agent Studio), Agent Platform ניגשת לאובייקטים באמצעות סוכן השירות של Agent Platform (service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com) בבק-אנד, ולא באמצעות פרטי הכניסה האישיים שלכם.

אם בקשת הנחיה נכשלת עם Permission denied while accessing input file (HTTP 403 / Error code 7):

  1. הענקת התפקיד 'צפייה באובייקט אחסון' לסוכן השירות: מוודאים שלסוכן השירות של Agent Platform מוקצה התפקיד Storage Object Viewer (roles/storage.objectViewer) בקטגוריה של Cloud Storage שמכילה את הקבצים:

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
      --member="serviceAccount:service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com" \
      --role="roles/storage.objectViewer"
    
  2. גישה לקטגוריה בפרויקט אחר: אם הקטגוריה של Cloud Storage נמצאת בפרויקט אחר Google Cloud מהפרויקט של Agent Platform, צריך להעניק roles/storage.objectViewer לסוכן השירות של הפרויקט שבו מתבצעת הבקשה של Agent Platform.

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

התאמת פרמטרים של דגימה

בכל בקשה שולחים למודל לא רק את ההנחיה המולטימודלית, אלא גם קבוצה של פרמטרים לדגימה. המודל יכול להפיק תוצאות שונות עבור ערכים שונים של פרמטרים. כדאי להתנסות בפרמטרים השונים כדי לקבל את הערכים הכי טובים למשימה. הפרמטרים הנפוצים ביותר שמשנים הם:

טמפרטורה

רמת אקראיות משמשת לדגימה במהלך תהליך יצירת תשובות, שמתרחשת כשמחילים את הפרמטרים Top-P ו-Top-K. הטמפרטורה שולטת במידת האקראיות בבחירת האסימון. טמפרטורות נמוכות טובות להנחיות שדורשות תשובה יותר דטרמיניסטית ופחות פתוחה או יצירתית, ואילו טמפרטורות גבוהות יכולות להוביל לתוצאות יותר מגוונות או יצירתיות. רמת אקראיות של 0 היא דטרמיניסטית, כלומר יש סיכוי גבוה יותר שהתשובה עם ההסתברות הכי גבוהה תיבחר.

ברוב תרחישי השימוש, כדאי להתחיל עם רמת אקראיות של 0.4. אם אתם רוצים לקבל תוצאות יצירתיות יותר, הגדילו את הטמפרטורה. אם אתם מבחינים בהזיות ברורות, כדאי להוריד את הטמפרטורה.

Top-P

ההגדרה Top-P משנה את האופן שבו המודל בוחר אסימונים לפלט. הטוקנים נבחרים מהסביר ביותר לסביר פחות עד שסכום ההסתברויות שלהם שווה לערך של Top-P. לדוגמה, אם ההסתברות של האסימונים A, ‏ B ו-C היא 0.6, ‏ 0.3 ו-0.1, והערך של Top-P הוא 0.9, המודל יבחר באסימון A או באסימון B כאסימון הבא באמצעות רמת אקראיות, ויפסול את C כמועמד.

כדי לקבל תשובות פחות אקראיות, מציינים ערך נמוך יותר, וכדי לקבל תשובות יותר אקראיות, מציינים ערך גבוה יותר. ערך ברירת המחדל של top-P הוא 1.0.

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