GPT
B

blip2-opt-2.7b

קוד פתוח

Salesforcemit2023-02-06

  • transformers
  • pytorch
  • safetensors
  • blip-2
  • visual-question-answering

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

  • 3.7Bפרמטרים
  • 28.4 GBמשקל הקבצים
  • 533,547הורדות בחודש
  • 448לייקים

מה זה

הארכיטקטורה כאן מחברת מקודד תמונה בסגנון CLIP יחד עם מודל השפה OPT-2.7b של מטא, באמצעות רכיב מגשר בשם Q-Former. במקום לאמן מודל ענק מאפס, החוקרים הקפיאו את משקלי הראייה ואת מודל השפה, ואימנו רק את רכיב התיווך שממיר את ייצוגי התמונה לטוקנים שהשפה מבינה. המטרה פשוטה: לחזות את הטוקן הבא בטקסט על בסיס התמונה והשאלה שהוזנה.

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

מתאים ל

  • מענה על שאלות מתמונה

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

  • יצירת תיאורים לתמונות

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

  • בדיקות ראייה ממוחשבת במעבדה

    מתאים לניסויי מחקר מקומיים בזכות היכולת לרוץ על זיכרון נמוך בכימות 4-bit.

איפה זה נופל

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

אותה משפחה

blip2-opt יצא ב־2 גרסאות שיש להן עמוד כאן. אלה האחרות, לפי כמה מורידים אותן.

שאלות
נפוצות

האם המודל תומך בעבודה בעברית?

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

כמה זיכרון GPU אני צריך בשביל להריץ אותו בפועל?

בדיוק מלא של float32 נדרשים כ־14.43 ג'יגה בייט זיכרון גרפי. אם מפעילים כימות ל־int4 דרך bitsandbytes, הדרישה יורדת לכ־1.8 ג'יגה בייט בלבד, מה שמאפשר להריץ אותו על כמעט כל כרטיס מודרני.

האם אפשר להשתמש בו ישירות במוצר מסחרי קיים?

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

איך מריצים

המודל רץ ישירות דרך ספריית transformers בפייתון, עם תמיכה בהרצה על מעבד או כרטיס גרפי. בדרישות זיכרון מלאות של float32 הוא תופס 14.43 ג'יגה בייט בזיכרון, אבל כמעט אף אחד לא מריץ אותו ככה בייצור.

בפועל, בשימוש בחצי דיוק float16 אפשר לרדת ל־7.21 ג'יגה בייט, ובאמצעות כימות ל־int8 או int4 דרך bitsandbytes נפח הזיכרון צונח ל־3.61 ג'יגה בייט או 1.8 ג'יגה בייט בלבד. המשמעות היא שאפשר לדחוף אותו בקלות לכרטיס מסך ביתי וזול, בלי צורך בתשתיות ענן יקרות או קריאות לרשת חיצונית.

from transformers import pipeline

pipe = pipeline("image-text-to-text", model="Salesforce/blip2-opt-2.7b")
print(pipe("שלום"))

הרישיון

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

  • שימוש מסחרי
  • שינוי הקוד
  • הפצה מחדש

הרישיון המלא בעמוד המודל ↗