GPT
I

InternVL3-78B

קוד פתוח

OpenGVLabother2025-04-10

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

מודל מולטימודלי ענק שמחבר רכיב ראייה של 6 מיליארד פרמטרים עם שפת בסיס של 72 מיליארד. הוא מתאים למי שחייב ביצועי קצה בניתוח תמונות, מסמכים ווידאו בהרצה מקומית.

  • 78Bפרמטרים
  • 146 GBמשקל הקבצים
  • 14,237הורדות בחודש
  • 239לייקים

מה זה

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

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

מתאים ל

  • ניתוח מסמכים ותרשימים

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

  • אוטומציה של ממשקי משתמש

    הוא אומן על מיפוי רכיבי GUI ויכולת זיהוי מיקומים מדויקת על גבי מסכים מורכבים.

  • תחקור וידאו ורצפי תמונות

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

אפשר להריץ אותו על שרת עם כרטיס A100 יחיד של 80GB?

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

למה צריך סקריפט חלוקה מיוחד בהרצה מרובת כרטיסים?

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

איך מריצים

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

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

from transformers import pipeline

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

הקבצים

53 קבצים במאגר, 146 GB סך הכול. הקישורים מובילים ישירות ל־Hugging Face.

הרישיון

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

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