GPT
J

jina-clip-v1

קוד פתוח

jinaaiapache-2.02024-05-21

  • transformers
  • pytorch
  • onnx
  • safetensors
  • jina_clip

יש כאן גם סקירה על Jina AI עצמו.

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

  • 223Mפרמטרים
  • 3.9 GBמשקל הקבצים
  • 109,885הורדות בחודש
  • 257לייקים

מה זה

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

במבחני אחזור תמונה מטקסט ב־MSCOCO הוא מגיע לדיוק R@1 של 0.4111 לעומת 0.342 של ViT-B-32, שזה פער מורגש באחזור התוצאה הראשונה. במקביל, במבחני דמיון טקסטואלי כמו STSBenchmark ו־TRECCOVID הוא עוקף את מודל הטקסט הייעודי הקודם של אותה חברה. בפועל אתם מקבלים וקטורים אחידים לטקסט ולתמונות בלי לשלם בירידה חדה באיכות החיפוש הטקסטואלי.

מתאים ל

  • חיפוש תמונות לפי טקסט

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

  • מערכות RAG מולטימודליות

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

  • הרצה ישירה בדפדפן

    חילוץ וקטורים מקומי בצד הלקוח בעזרת תמיכה רשמית בספריית Transformers.js.

איפה זה נופל

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

הבעיה העיקרית שלו מופיעה כשמנסים לשלב תוצאות חיפוש: ציוני דמיון הקוסינוס בין טקסט לטקסט גבוהים משמעותית מציוני הדמיון בין טקסט לתמונה. היוצרים מודים בזה במפורש ומציעים לנרמל את הציונים עם z-score או להשתמש במשקולות ידניות. אם לא תטפלו בזה בקוד, תוצאות הטקסט תמיד ידחקו את התמונות החוצה. בנוסף, הוא מציג ירידה קלה במשימות טקסט מסוימות, למשל במבחן FiQA2018 שבו קיבל 0.3827 לעומת 0.4158 במודל הטקסט הקודם שלהם.

אותה משפחה

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

שאלות
נפוצות

איך מדרגים יחד תוצאות טקסט ותוצאות של תמונות?

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

קיבלתי שגיאת תאימות על JinaCLIPConfig ב־transformers, מה עושים?

מדובר בבאג מוכר שהיה קיים בגרסאות transformers בין 4.40 ל־4.41.1. הפתרון הוא לעדכן את הספרייה לגרסה 4.41.2 ומעלה, או לשנמך ל־4.40.0 ומטה.

האם אפשר להשתמש במודל לאתר בעברית?

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

איך מריצים

טוענים אותו ישירות דרך ספריית sentence-transformers עם trust_remote_code מוגדר כחיובי, או ב־JavaScript דרך transformers.js מגרסה 3. אפשר להעביר לו מחרוזות טקסט או קישורים ישירים לתמונות ברשת והוא מחזיר וקטורים. משקל הקבצים עומד על 3.9 גיגה בייט בדיוק float32, כך שכרטיס מסך בסיסי עם 6 עד 8 גיגה זיכרון יריץ אותו בקלות, ואפשר להריץ אותו גם על מעבד בלי להיתקע.

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

from transformers import pipeline

pipe = pipeline("feature-extraction", model="jinaai/jina-clip-v1")
print(pipe("שלום"))

הרישיון

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

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

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