GPT
I

InternVL2_5-78B

קוד פתוח

OpenGVLabother2024-12-02

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

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

  • 78Bפרמטרים
  • 146 GBמשקל הקבצים
  • 596הורדות בחודש
  • 193לייקים

מה זה

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

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

מתאים ל

  • ניתוח מסמכים וטבלאות סרוקות

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

  • השוואה בין תמונות שונות

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

  • הבנת סרטוני וידאו קצרים

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

איפה זה נופל

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

אותה משפחה

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

שאלות
נפוצות

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

לא, אין לכך שום היתכנות טכנית. המודל שוקל 146 גיגה בייט ודורש לפחות שני כרטיסים של 80 גיגה בייט גם כשמפעילים כימות של 8 ביט. לשימוש מקומי במחשב רגיל עדיף לבחור בגרסאות הקטנות יותר של הסדרה, כמו 4B או 8B.

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

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

איך מריצים

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

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

from transformers import pipeline

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

הקבצים

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

הרישיון

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

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