GPT
I

InternVL2-1B

קוד פתוח

OpenGVLabmit2024-07-08

  • transformers
  • safetensors
  • internvl_chat
  • feature-extraction
  • internvl

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

  • 938Mפרמטרים
  • 1.8 GBמשקל הקבצים
  • 594,941הורדות בחודש
  • 83לייקים

מה זה

החיבור כאן הוא בין מקודד ראייה InternViT-300M למודל השפה הזעיר Qwen2-0.5B, מה שמביא את כל העסק לכדי 938 מיליון פרמטרים בלבד. למרות הגודל, הוא אומן על חלון הקשר של 8k ומסוגל לקבל מספר תמונות במקביל, סרטוני וידאו ומסמכים סרוקים, כשהוא מפרק תמונות ברזולוציה גבוהה למקטעים של 448 פיקסלים.

במבחני ביצועים הוא עוקף מודלים גדולים ממנו במשימות מוגדרות. בבדיקת OCRBench הוא הגיע לציון 754 לעומת 614 של PaliGemma-3B, ובמבחן זיהוי מיקום אלמנטים הוא עומד על ממוצע של 79.9 נקודות. זה אומר שמדובר בכלי ממוקד שמצטיין בקריאת טקסט וגרפים מתוך תמונות, גם כשהבסיס הטקסטואלי שלו קטן מאוד.

מתאים ל

  • קריאת נתונים מגרפים

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

  • חילוץ טקסט מטפסים

    התוצאה ב־OCRBench מראה עדיפות ברורה בקריאת מסמכים ותוויות ישירות מתמונה.

  • איתור עצמים לפי טקסט

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

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

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

איך מריצים

טוענים אותו ישירות דרך ספריית transformers של פייתון, אבל חובה להשתמש בגרסה 4.37.2 ומעלה ולהגדיר trust_remote_code כחיובי כדי להריץ את קוד הארכיטקטורה. בדיוק המקורי של bfloat16 כל המשקלים יושבים בתוך 1.8 גיגה בייט, כך שכרטיס מסך פשוט עם 4 או 6 גיגה זיכרון יריץ אותו בקלות. יש גם אפשרות מובנית לטעון אותו בכימות של 8 ביט דרך bitsandbytes כדי לחסוך עוד יותר במשאבים.

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

from transformers import pipeline

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

הרישיון

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

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

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