GPT
I

InternVL3-38B

קוד פתוח

OpenGVLabapache-2.02025-04-10

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

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

  • 38Bפרמטרים
  • 71.5 GBמשקל הקבצים
  • 2,208הורדות בחודש
  • 44לייקים

מה זה

הארכיטקטורה מורכבת מחיבור של מודל ראייה InternViT בנפח 6 מיליארד פרמטרים יחד עם מודל השפה Qwen2.5-32B דרך שכבת קישור. במקום ללמד מודל שפה מוכן איך לראות בשלב מאוחר, כאן אימנו את שני החלקים יחד מראש על תמונות, וידאו וטקסט. התהליך הזה משמר את יכולות הטקסט של בסיס השפה ואף משפר אותן, כך שהוא לא מאבד מכושר הניסוח כשהוא לומד להביט בתמונות.

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

מתאים ל

  • ניתוח מסמכים וגרפים

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

  • סוכני ממשק משתמש

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

  • הבנת סרטונים ותמונות מרובות

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from transformers import pipeline

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

הרישיון

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

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

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