GPT
K

ko-reranker

קוד פתוח

Dongjin-krmit2023-12-22

  • transformers
  • pytorch
  • safetensors
  • xlm-roberta
  • text-classification

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

  • 560Mפרמטרים
  • 514טוקנים בהקשר
  • 4.2 GBמשקל הקבצים
  • 21,844הורדות בחודש

מה זה

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

האימון נעשה על כמעט חצי מיליון שלשות נתונים ממאגר MS MARCO שתורגמו מאנגלית בעזרת Amazon Translate. במבחני הביצועים המדווחים, שילוב המודל העלה את מדד MRR מ־0.80 בשליפה בסיסית ל־0.87, לעומת 0.84 שהשיג מודל הבסיס הכללי. במילים פשוטות, התשובה הנכונה מופיעה גבוה יותר בדירוג באופן עקבי יותר בקוריאנית.

מתאים ל

  • סידור תוצאות בצינור RAG

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

  • שיפור מנועי חיפוש היברידיים

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

  • סינון מסמכים קצרים

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

איפה זה נופל

האימון התבסס על תרגום מכונה של Amazon Translate מתוך דאטה-סט אנגלי, מה שאומר שסלנג מקומי, ניואנסים תרבותיים ותרגומים עקומים עשויים לבלבל אותו. בנוסף, חלון ההקשר מוגבל ל־514 טוקנים בלבד, כך שאי אפשר לדרג מסמכים ארוכים בלי לחתוך אותם לפסקאות קטנות מראש.

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

שאלות
נפוצות

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

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("text-classification", model="Dongjin-kr/ko-reranker")
print(pipe("שלום"))

הרישיון

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

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

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