GPT
I

InternVL2_5-8B

קוד פתוח

OpenGVLabmit2024-11-20

  • transformers
  • tensorboard
  • safetensors
  • internvl_chat
  • feature-extraction

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

  • 8.1Bפרמטרים
  • 15.0 GBמשקל הקבצים
  • 19,972הורדות בחודש
  • 107לייקים

מה זה

החיבור פה מבוסס על שלד שמצמיד מודל ראייה בשם InternViT של 300 מיליון פרמטרים למודל שפה internlm2_5-7b-chat דרך שכבת קישור. במקום לדחוס תמונות לרזולוציה אחידה ונמוכה, המודל מחלק כל תמונה למספר משתנה של מקטעים בגודל 448 על 448 פיקסלים, ומצמצם את כמות הטוקנים הוויזואליים לרבע באמצעות כיווץ פיקסלים. השיטה הזו שומרת על פרטים חדים שקריטיים לזיהוי טקסט ותרשימים.

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

מתאים ל

  • חילוץ מידע מתרשימים

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

  • השוואה בין מספר תמונות

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

  • תחקור מקטעי וידאו קצרים

    ניתוח פריימים נבחרים מתוך וידאו לזיהוי רצף פעולות או אירועים.

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

האם אפשר להריץ אותו על מחשב נייד רגיל ללא כרטיס מסך?

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

מה היתרון שלו מול מודל טקסט רגיל בגודל 7B או 8B?

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

איך מריצים

כדי להריץ אותו בפורמט המקורי של bfloat16, צריך כרטיס מסך עם לפחות 20 עד 24 גיגה זיכרון גרפי, שכן המשקלים לבדם תופסים 15 גיגה לפני זיכרון להקשר ולמקטעי התמונה. אפשר להוריד את הדרישה לקוואנטיזציה של 8 ביט דרך bitsandbytes וכך להסתפק בכרטיס עם 12 עד 16 גיגה זיכרון, אבל החיתוך של תמונות ברזולוציה גבוהה לכמה משבצות ייקח זמן עיבוד מורגש.

ההפעלה בקוד דורשת ספריית transformers מגרסה 4.37.2 ומעלה, הגדרת trust remote code כי הארכיטקטורה יושבת ישירות במאגר, ושימוש ב־Flash Attention. אם המטרה היא להריץ מדי פעם סריקה של קבצים בודדים בלי להחזיק שרת יקר באוויר, שירות API חיצוני יעלה פחות מאחזקת כרטיס ייעודי.

from transformers import pipeline

pipe = pipeline("image-text-to-text", model="OpenGVLab/InternVL2_5-8B")
print(pipe("שלום"))

הרישיון

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

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

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