ההנחיה וההוראות למערכת של PaliGemma

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

פורמט ההנחיה

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

סדר הנתונים של התמונות והטקסט

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

תחביר של הנחיה למשימה

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

  • "cap {lang}\n": כתוביות קצרות מאוד גולמיות (נתמכות רק ב-PT)
  • "caption {lang}\n": כתוביות קצרות
  • "describe {lang}\n": כתוביות ארוכות יותר ותיאוריות יותר (נתמכות רק ב-PT)
  • "ocr": זיהוי תווים אופטי (התכונה נתמכת רק ב-PT)
  • "answer {lang} {question}\n": מענה לשאלות לגבי תוכן התמונה
  • "question {lang} {answer}\n": יצירת שאלות לתשובה נתונה (התכונה נתמכת רק ב-PT)
  • "detect {object} ; {object}\n": איתור אובייקטים שמפורטים בתמונה והחזרת תיבות הסף שלהם
  • "segment {object} ; {object}\n": מאתרים את האזור שבו נמצאים האובייקטים המפורטים בתמונה כדי ליצור פילוח תמונה של האובייקט הזה

האפשרויות של {lang} הן לקודי שפות. כשמשתמשים באפשרות הזו, PaliGemma תומך בזיהוי שפה של 34 שפות שונות להנחיות למשימות. רשימת השפות הנתמכות מופיעה ב-GitHub.

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

הצגת הנחיות בשפה טבעית

מומלץ להשתמש בתחביר שמתואר בקטע הקודם, אבל מודלים משולבים תומכים גם בשפה טבעית בחלק גדול מהמשימות. לדוגמה, הבקשות "describe this image briefly" או "what is this text" עדיין יפעלו גם אם לא תופיע בקשה עם התחביר המדויק.

פקודות הנחיה מקובצות

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

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

הוראות למערכת

מודלים של PaliGemma לא תומכים בהוראות מערכת נוספות מעבר להוראות המערכת של Gemma מהמודלים הבסיסיים שעליהם הם מבוססים.