GPT
C

clip-vit-base-patch16

קוד פתוח

openaiרישיון לא דווח2022-03-02

  • transformers
  • pytorch
  • jax
  • clip
  • zero-shot-image-classification

openai עומדים גם מאחורי Sora, ויש עליו סקירה כאן.

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

  • 77טוקנים בהקשר
  • 1.1 GBמשקל הקבצים
  • 1,650,515הורדות בחודש
  • 166לייקים

מה זה

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

בניגוד למודלים ישנים שהתבססו על ResNet, גרסת ה־ViT-B/16 מציעה חלוקה מדויקת יותר של התמונה למקטעים קטנים. מפתחים משתמשים בו בעיקר כדי לסווג תמונות בזמן אמת על פי תיאורים מילוליים, או כדי לשלוף תמונות לפי שאילתות טקסט באנגלית, ישירות דרך ספריית transformers.

מתאים ל

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

    מאפשר לאתר תמונות במאגר בעזרת תיאור חופשי באנגלית בלי לתייג ידנית כל קובץ מראש.

  • סיווג תמונות דינמי

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

  • סינון תוכן אוטומטי

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

איפה זה נופל

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

שאלות
נפוצות

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

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

האם אפשר להשתמש בו ישירות לזיהוי פנים?

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("zero-shot-image-classification", model="openai/clip-vit-base-patch16")
print(pipe("שלום"))

הרישיון

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

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