GPT
J

JobBERT-v2

קוד פתוח

TechWolfmit2024-12-21

  • sentence-transformers
  • safetensors
  • mpnet
  • sentence-similarity
  • feature-extraction

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

  • 109Mפרמטרים
  • 514טוקנים בהקשר
  • 425 MBמשקל הקבצים
  • 38,760הורדות בחודש

מה זה

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

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

מתאים ל

  • נרמול שמות משרה

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

  • התאמת מועמדים למשרות

    השוואה מהירה בין כותרת התפקיד של מחפש העבודה לבין דרישות המשרה הפתוחה.

  • ניתוח מסלולי קריירה

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

איפה זה נופל

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

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

שאלות
נפוצות

האם אפשר להעביר לו קורות חיים מלאים כדי למצוא התאמה למשרה?

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

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

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

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

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

איך מריצים

בגלל שמדובר במודל של 109 מיליון פרמטרים ששוקל סך הכול 425 מגה בייט, אתם ממש לא צריכים שרת יקר או כרטיס מסך מפלצתי בשביל להריץ אותו. טוענים אותו ישירות דרך ספריית sentence-transformers בפייתון, והוא רץ חלק ומהר על גבי מעבד רגיל בכל סביבת פיתוח או קונטיינר מקומי.

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

from sentence_transformers import SentenceTransformer

m = SentenceTransformer("TechWolf/JobBERT-v2")
v = m.encode(["שלום עולם"])

הרישיון

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

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

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