GPT
L

LongCLIP-GmP-ViT-L-14

קוד פתוח

zer0intרישיון לא דווח2024-06-15

  • transformers
  • safetensors
  • clip
  • zero-shot-image-classification
  • endpoints_compatible

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

  • 428Mפרמטרים
  • 248טוקנים בהקשר
  • 5.8 GBמשקל הקבצים
  • 2,640הורדות בחודש

מה זה

המודל הזה הוא גרסה מכווננת של Long-CLIP שמבוססת על ארכיטקטורת ViT-L-14 עם כ־428 מיליון פרמטרים. ההבדל המרכזי מול מודלי CLIP רגילים של OpenAI נמצא בחלון ההקשר. במקום מגבלה קשיחה של 77 טוקנים, המודל תומך בעד 248 טוקנים. זה פותר את הבעיה שבה תיאור מפורט של תמונה פשוט נחתך באמצע ומאבד משמעות.

היוצר השתמש בשיטת אימון בשם Geometric Parametrization שנועדה לייצב את המשקלים. לפי הנתונים בכרטיס, המודל מציג דיוק של 0.89 במבחני ImageNet ו־ObjectNet, לעומת כ־0.81 של מודל המקור. בפועל, המשמעות היא שההתאמה בין תיאור טקסטואלי מורכב לבין התמונה הנכונה נעשית חדה יותר, מה שבא לידי ביטוי בציוני דמיון קוסינוס גבוהים יותר כשמזינים את מלוא אורך ההקשר.

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

מתאים ל

  • מקודד טקסט ב־SDXL

    מאפשר להזין הנחיות יצירה שלמות ומפורטות בלי שהמחולל יחתוך את התיאור באמצע.

  • חיפוש תמונות לפי תיאור

    התאמה מדויקת של פסקאות טקסט מורכבות לתמונות באפס דוגמאות בדיוק משופר.

  • תיוג תוכן מפורט

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

איפה זה נופל

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

שאלות
נפוצות

למה המודל זורק שגיאה כשטוענים אותו ישירות בקוד?

הספרייה של Hugging Face מצפה כברירת מחדל לאורך של 77 טוקנים כמו ב־CLIP המקורי. צריך להגדיר ידנית את אובייקט ה־Config ל־248 טוקנים לפני הטעינה.

האם כדאי להשתמש בזה לסיווג תמונות רגיל עם מילים בודדות?

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

איך מריצים

כדי להריץ אותו דרך ספריית transformers צריך להגדיר את הקונפיגורציה מראש ל־248 טוקנים, אחרת הספרייה תיכשל או תחתוך את הקלט ל־77 טוקנים ותיתן תוצאות נחותות. קובצי המודל שוקלים 5.8 גיגה-בייט בגלל ייצוג float32, כך שמומלץ לטעון אותם לזיכרון ה־GPU בפורמט bfloat16 כדי לחסוך מקום.

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

from transformers import pipeline

pipe = pipeline("zero-shot-image-classification", model="zer0int/LongCLIP-GmP-ViT-L-14")
print(pipe("שלום"))

הרישיון

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

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