GPT
B

Bio_ClinicalBERT

קוד פתוח

emilyalsentzermit2022-03-02

  • transformers
  • pytorch
  • tf
  • jax
  • bert

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

  • 512טוקנים בהקשר
  • 2.5 GBמשקל הקבצים
  • 2,195,180הורדות בחודש
  • 440לייקים

מה זה

במקום להתחיל מאפס, הבסיס כאן הוא BioBERT שעבר המשך אימון על כלל ההערות הקליניות ממאגר MIMIC III, שכולל כ־880 מיליון מילים מתיקים רפואיים בבית חולים. זה אומר שהוא מכיר קיצורים, מינוחים של אחיות ורופאים, ואת המבנה המבולגן של סיכומי מחלה.

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

מתאים ל

  • חילוץ ישויות רפואיות

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

  • ייצוג וקטורי לרישומים

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

  • בסיס למודל סיווג

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

איפה זה נופל

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

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

שאלות
נפוצות

האם המודל יודע לכתוב סיכומי ביקור או לענות למטופלים?

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

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

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

איך מריצים

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

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

from transformers import pipeline

pipe = pipeline("fill-mask", model="emilyalsentzer/Bio_ClinicalBERT")
print(pipe("שלום"))

הרישיון

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

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

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