חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

חזה את מצב ההישרדות של סרטן הריאות באמצעות נתונים מולטי-מודאליים ב-Amazon SageMaker JumpStart

סרטן ריאות של תאים לא קטנים (NSCLC) הוא הסוג הנפוץ ביותר של סרטן ריאות, והוא מורכב מגידולים עם הטרוגניות מולקולרית משמעותית הנובעת מהבדלים במסלולי איתות אונקוגניים מהותיים [1]. מתן אפשרות לרפואה מדויקת, ציפייה להעדפות המטופלים, זיהוי מחלות ושיפור איכות הטיפול בחולי NSCLC הם נושאים חשובים בקרב קהילות בריאות ומדעי החיים (HCLS).

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

אנו מכריזים על פתרון חדש לחיזוי הישרדות סרטן ריאות ב אמזון SageMaker JumpStart, על סמך הפוסטים בבלוג בניית צינורות למידת מכונה ניתנים להרחבה עבור נתוני בריאות מולטי-מודאליים ב-AWS ו אימון מודלים של למידת מכונה על נתוני בריאות מולטי-מודאליים עם Amazon SageMaker. JumpStart מספקת מודלים מאומנים מראש, קוד פתוח ותבניות פתרונות מובנות מראש עבור מגוון רחב של סוגי בעיות כדי לעזור למדעני נתונים ולעוסקים ב-ML להתחיל בהדרכה ובפריסה של מודלים של ML במהירות. זהו פתרון ה-HCLS הראשון שמציע JumpStart.

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

מה יש במערך הנתונים

סרטן ריאות תאים לא קטנים הוא הגורם המוביל למוות מסרטן [2]. עם זאת, אין שתי אבחנות סרטן זהות, מכיוון שגידולים מכילים הטרוגניות מולקולרית משמעותית הנובעת מהבדלים במסלולי איתות אונקוגניים מהותיים [1]. בנוסף, מידע קליני שונה שנאסף מהמטופלים עשוי להשפיע על הפרוגנוזה ועל אפשרויות הטיפול. לכן, לאפשר רפואה מדויקת, לצפות את העדפות המטופל, לזהות מחלות ולשפר את איכות הטיפול בחולי NSCLC היא בעלת חשיבות עליונה בקהילות האונקולוגיה וה-HCLS.

השמיים מערך נתונים רדיוגנומי מסוג Non-Small Cell Lung Cancer (NSCLC). [3] כולל הדמיה רפואית, נתונים קליניים וגנומיים שנאספו מקבוצה של חולי NSCLC בשלב מוקדם שהופנו לטיפול כירורגי. הוא כולל טומוגרפיה ממוחשבת (CT), תמונות פליטת פוזיטרון (PET)/CT, הערות סמנטיות של הגידולים כפי שנצפו בתמונות הרפואיות באמצעות אוצר מילים מבוקר, מפות פילוח של גידולים בסריקות CT וערכים כמותיים המתקבלים מה-PET / סריקות CT. הנתונים הגנומיים מכילים נתוני מוטציות גנים וריצוף RNA מדגימות של רקמת גידול שנכרתה בניתוח. זה גם מורכב מנתונים קליניים המשקפים רשומות בריאות אלקטרוניות (EHR) כגון גיל, מין, משקל, מוצא אתני, מצב עישון, שלב גרורות בלוטות הגידול (TNM), דרגת היסטופתולוגית ותוצאת הישרדות. כל שיטת נתונים מציגה מבט שונה על מטופל.

נתוני הדמיה רפואית

סמנים ביולוגיים להדמיה רפואית של סרטן מבטיחים שיפורים בטיפול בחולים באמצעות התקדמות ברפואה מדויקת. בהשוואה לסמנים ביולוגיים גנומיים, סמנים ביולוגיים להדמיה מספקים את היתרונות של היותם לא פולשניים, ומאפיין גידול הטרוגני בשלמותו, בניגוד לרקמות מוגבלות הזמינות באמצעות ביופסיה [3]. במערך נתונים זה, רצפי הדמיה של CT ו-PET/CT נרכשו עבור מטופלים לפני פרוצדורות כירורגיות. פילוח של אזורי גידול סומנו על ידי שני רדיולוגים מומחים לחזה. התמונה הבאה היא שכבת-על לדוגמה של פילוח גידול על גבי סריקת CT ריאות (מקרה R01-093 במערך הנתונים).

נתונים גנומיים

דגימות של רקמות גידול שנכרתו בניתוח נותחו בטכנולוגיית רצף RNA. קובץ הנתונים הזמין מהמקור עבר עיבוד מראש באמצעות כלי קוד פתוח, כולל STAR v.2.3 ליישור ו-Cufflinks v.2.0.2 עבור קריאות ביטוי [4]. ניתן למצוא את מערך הנתונים המקורי (GSE103584_R01_NSCLC_RNAseq.txt.gz) ב- אתר NCBI. למרות שהנתונים המקוריים מכילים יותר מ-22,000 גנים, לצורך הדגמה, השתמשנו ב-21 גנים מ-10 צבירי גנים בעלי ביטוי משותף גבוה (מטגנים) שזוהו, אושרו בקבוצות ביטוי גנים זמינות לציבור, ותואמו עם פרוגנוזה [4] ].

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

מזהה מקרה LRIG1 HPGD GDF15 CDH2 POSTN ......
R01-024 26.7037 3.12635 13.0269 0 36.4332 ......
R01-153 15.2133 5.0693 0.90866 0 32.8595 ......
R01-031 5.54082 1.23083 29.8832 1.13549 34.8544 ......
R01-032 12.8391 7.21931 12.0701 0 7.77297 ......
R01-033 33.7975 3.19058 5.43418 0 9.84029 ......

נתונים קליניים

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

מזהה מקרה מצב הישרדות גיל באבחון היסטולוגי משקל (ק"ג) אזור עישון מארז שנים שנה להפסיק לעשן כימותרפיה טיפול משלים מצב מוטציה EGFR ......
R01-005 מת 84 145 לשעבר 20 1951 לא לא טיפוס פראי ......
R01-006 בחיים 62 לא נאסף לשעבר לא נאסף נאן לא לא טיפוס פראי ......
R01-007 מת 68 לא נאסף לשעבר 15 1968 יש יש טיפוס פראי ......
R01-008 בחיים 73 102 לא מעשן נאן נאן לא לא טיפוס פראי ......
R01-009 מת 59 133 נוֹכְחִי 100 נאן לא ...... ...... ......

סקירת פתרונות

עבודה עם נתוני בריאות מולטי-מודאליים למטרות ML דורשת לעתים קרובות צינורות ייעודיים לעיבוד נתונים ומשאבי מחשוב כדי לחלץ סמנים ביולוגיים ותכונות רלוונטיות. איסוף, אחסון וניהול של תכונות שחולצו עשוי להיות מאתגר. בפתרון JumpStart זה, אנו מראים לך כיצד לעבד כל אופציה במחברות נפרדות, להשתמש ב-Amazon SageMaker Processing לבניית תמונה תלת מימדית אינטנסיבית, להשתמש חנות הפונקציות של אמזון SageMaker לאחסון מרכזי של תכונות שחולצו עבור מודלים של ML, הפעל ניסויים של SageMaker כדי לשפר את שושלת ה-ML, הטמיע את האלגוריתם המובנה של SageMaker כדי להכשיר מודל ML ללא קידוד מתוחכם, ופרוס מודל לחיזוי בזמן אמת עם פריסת SageMaker.

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

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

השירותים העיקריים המעורבים הם כדלקמן:

  • אמזון SageMaker JumpStart – JumpStart מספקת מודלים מאומנים מראש, קוד פתוח עבור מגוון רחב של סוגי בעיות כדי לעזור לך להתחיל. JumpStart מספקת גם תבניות פתרונות שמגדירות תשתית למקרי שימוש נפוצים, ומחברות עבור ML עם SageMaker. שירות זה הוא המקום בו אנו משיקים את הפתרון שלנו.
  • שירות אחסון פשוט של אמזון - Amazon S3 הוא שירות אחסון אובייקטים המציע מדרגיות, זמינות נתונים, אבטחה וביצועים. Amazon S3 מאפשר לך לאחסן נתונים לשימוש על ידי SageMaker.
  • מחברות אמזון SageMaker Studio - אתה יכול להפעיל את המחברות השיתופיות האלה במהירות מכיוון שאינך צריך להגדיר מופעי מחשוב ואחסון קבצים מראש. זו הסביבה שאתה יכול לבנות בה.
  • משרות SageMaker Processing - עבודות אלו מאפשרות לך לנתח נתונים ולהעריך מודלים של ML. החוויה המנוהלת הזו עוזרת לך להפעיל את עומסי העבודה שלך בעיבוד הנתונים, כגון הנדסת תכונות, אימות נתונים ופרשנות מודלים. שירות זה מאפשר לך לעבד את הנתונים המאוחסנים באמזון S3.
  • חנות הפונקציות של אמזון SageMaker - אתה יכול ליצור, לשתף ולנהל תכונות לפיתוח ML. זה המקום שבו אתה מאחסן תכונות מעובדות לשימוש לאימון.
  • ניסויים באמזון SageMaker - אתה יכול לארגן, לעקוב, להשוות ולהעריך ניסויי ML.
  • אלגוריתם XGBoost מובנה (הגברת שיפוע eXtreme) – זהו יישום פופולרי ויעיל בקוד פתוח של אלגוריתם הגברת השיפוע המשמש לאימון.
  • משרות הדרכה של SageMaker – אתה יוצר עבודת הדרכה מנוהלת ב- SageMaker באמצעות ארבע תכונות: כתובת האתר של דלי S3 שאחסנת את נתוני ההדרכה, משאבי מחשוב, כתובת האתר של דלי S3 שבו אתה רוצה לאחסן את הפלט של העבודה, וה מרשם מיכל אלסטי של אמזון (Amazon ECR) נתיב שבו מאוחסן קוד האימון.
  • נקודות קצה של SageMaker בזמן אמת - נקודות קצה אלו אידיאליות לעומסי עבודה מסקנות שבהן יש לך דרישות בזמן אמת, אינטראקטיביות עם זמן אחזור נמוך. אתה פורס את המודל לשירותי אירוח של SageMaker ומקבל נקודת קצה שניתן להשתמש בה להסקת מסקנות.

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

תנאים מוקדמים

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

אם אין לך דומיין Studio, עיין ב נכלל ב-Amazon SageMaker Domain באמצעות הגדרה מהירה.

אם יש לך דומיין של SageMaker, ודא שתכונות הפרויקט ו-JumpStart הופעלו על ידי ביצוע השלבים הבאים:

  1. בקונסולת SageMaker, בחר את סמל גלגל השיניים שליד תְחוּם.
  2. בחרו הַבָּא.
  3. ב SageMaker Projects ו-JumpStart בחר, בחר הפעל תבניות פרויקטים של Amazon SageMaker ו-Amazon SageMaker JumpStart עבור חשבון זה ו אפשר תבניות פרויקטים של Amazon SageMaker ו-Amazon SageMaker JumpStart עבור משתמשי Studio.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

השלמנו את התנאים המוקדמים הדרושים לשימוש ב-JumpStart.

פרוס את הפתרון ואת מחברת ההדגמה לדוגמה

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

  1. פתח סטודיו.
  2. בחרו עבור אל SageMaker JumpStart תחת מודלים, אלגוריתמים ופתרונות Jumpstart.
    חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  3. כדי למצוא את הפתרון בתוך JumpStart, בחר חקור את כל הפתרונות.
    חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  4. חפש ובחר חיזוי הישרדות סרטן ריאות.
    חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  5. תַחַת הפעל את פתרון, בחר לשגר.
    שים לב שאתה יכול לציין תפקידי ביצוע מותאמים אישית לשימוש בכל פתרון זה, אחרת תפקידי ביצוע נוצרים עבורך.
    חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.זה אמור לקחת כמה רגעים עד שהפתרון יושק. אתה יכול לעקוב אחרי השקת מספר משאבים.חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

    חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

    פתרון זה מייצר מודל, תצורת נקודת קצה, נקודת קצה וחמש מחברות.

  6. כדי לנווט למחברת הראשונה, תחת פתרון פתוח בסטודיו, בחר פתח מחברת.חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  7. כדי לנווט למחברות אחרות, בחר את סמל התיקיה ופתח את S3Downloads תיקייה.
  8. פתח את jumpstart-prod-lcsp_****** תיקייה.

טופס כאן, אתה יכול לגשת למחברות הבאות:

  • 0_demo.ipynb – מדגים כיצד לשלוח בקשות הסקה לנקודת קצה שנפרסה מראש ולקבל תגובת מודל.
  • 1_preprocess_genomic_data.ipynb - מציג כיצד לקרוא ולעבד נתונים גנומיים (בפורמט טבלה).
  • 2_preprocess_clinical_data.ipynb – מדגים כיצד לקרוא ולעבד נתוני תביעות ביטוח בריאות (בפורמט טבלה).
  • 3_preprocess_imaging_data.ipynb - מציג כיצד לקרוא ולעבד נתוני דמיון רפואי דיקום פורמט קובץ והמר ל NIfTI פורמט הדמיה עצבית. לכן, יש צורך בנתוני דמיון רפואי בפורמט נפחי. שימו לב שבמחברות 1, 2 ו-3, אנו מאחסנים את הפלט של כל עבודת עיבוד ב- Feature Store.
  • 4_train_test_model.ipynb - מדגים כיצד לגשת לתכונות מולטי-מודאליות מ-Feature Store, לאמן מודל XGBoost ולחזות את מצב ההישרדות של חולים שאובחנו עם סרטן ריאות של תאים לא קטנים.

לאחר פריסת הפתרון ב-Studio, תוכל להתחיל לבנות חיזוי מצב הישרדות של סרטן ריאות באמצעות נתוני בריאות מולטי-מודאליים. כדי להתחיל, בואו נסתכל על 0_demo.ipynb מחברת, המדגימה כיצד לשלוח בקשות הסקה לנקודת קצה שנפרסה מראש, ולקבל את תגובת הדגם (ניצול לעומת מת).

במחברת זו, אתה יכול לראות תצוגה מקדימה של מערכי הנתונים (שאותם נעסוק בסעיף מאוחר יותר), ואת השלבים הדרושים לביצוע תחזיות עם נקודת קצה שכבר נפרסה. א מְנַבֵּא מופעלת כדי להתחיל לבצע תחזיות בזמן אמת מול נקודת קצה של SageMaker. אנחנו יכולים להשתמש בזו של המנבא לחזות פונקציה להפעיל את נקודת הקצה עם נתוני הבדיקה.

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

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

הנדסת תכונות

כפי שתואר קודם לכן, נתוני הדמיה גנומיים, קליניים ורפואיים זמינים במערך הנתונים של NSCLC עבורנו כדי ליצור תצוגה מקיפה של מטופל. כדי לעבד ולחשב את התכונות שיעזרו לנו מאוחר יותר לבנות מודל ML, בואו נתחיל עם צינור הנתונים הגנומי ב- 1_preprocess_genomic_data.ipynb ולעבור דרך 2_preprocess_clinical_data.ipynb ו 3_preprocess_imaging_data.ipynb עבור צינור הנתונים הקליניים וצנרת ההדמיה הרפואית, בהתאמה.

גנום

עבור נתונים גנומיים, אנו קוראים את נתוני רצף ה-RNA מדלי הפתרון של JumpStart לתוך ה- notebook 1_preprocess_genomic_data.ipynb:

file_name = "GSE103584_R01_NSCLC_RNAseq.txt"
input_data_bucket = f"s3://{SOLUTION_BUCKET}-{REGION}/{SOLUTION_NAME}/data"
input_data = f"{input_data_bucket}/{file_name}"
!aws s3 cp $input_data .

לאחר מכן, אנו שומרים 21 גנים מ-10 צבירי גנים בעלי ביטוי משותף גבוה (מטגנים) שזוהו, אושרו בקבוצות ביטוי גנים זמינות לציבור, ותואמו עם פרוגנוזה [4]:

selected_columns = ['Case_ID','LRIG1', 'HPGD', 'GDF15', 'CDH2', 'POSTN', 'VCAN', 'PDGFRA',
                    'VCAM1', 'CD44', 'CD48', 'CD4', 'LYL1', 'SPI1', 'CD37', 'VIM', 'LMO2',
                    'EGR2', 'BGN', 'COL4A1', 'COL5A1', 'COL5A2']
gen_data_t = gen_data_t[selected_columns]
data_gen = gen_data_t.fillna(0)

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

genomic_feature_group = FeatureGroup(name=genomic_feature_group_name, 
                                     sagemaker_session=feature_store_session)
# Load feature definitions to the feature group. SageMaker FeatureStore Python SDK will auto-detect the data schema based on input data.
genomic_feature_group.load_feature_definitions(data_frame=data_gen)
genomic_feature_group.create(s3_uri=f"s3://{BUCKET}/{prefix}",
                             record_identifier_name=record_identifier_feature_name,
                             event_time_feature_name=event_time_feature_name, 
                             role_arn=sagemaker.get_execution_role(),
                             enable_online_store=True)
genomic_feature_group.ingest(data_frame=data_gen, max_workers=3, wait=True)

כדי לראות את התכונות שהוכנסו לאחרונה בממשק המשתמש של חנות התכונות, תחת משאבי SageMaker, בחר חנות תכונות.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מכאן, אתה יכול למצוא את התכונות שנכנסו לאחרונה ל- Feature Store. שם קבוצת התכונות צריך להיות sagemaker-soln-lcsp-js-******-genomic-feature-group.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

קליני

לנתונים קליניים, אנו מבצעים ניקוי ועיבוד נתונים על הנתונים המתארחים בדלי הפתרונות של JumpStart ונבלעים ב-Feature Store, כפי שמוצג ב- 2_preprocess_clinical_data.ipynb:

file_name = "NSCLCR01Radiogenomic_DATA_LABELS_2018-05-22_1500-shifted.csv"
input_data_bucket = f"s3://{SOLUTION_BUCKET}-{REGION}/{SOLUTION_NAME}/data"
input_data = f"{input_data_bucket}/{file_name}"
!aws s3 cp $input_data .

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

הדמיה רפואית

עבור נתוני הדמיה רפואית, אנו יוצרים מאפיינים רדיומיים תלת מימדיים ברמת המטופל המסבירים את הגודל, הצורה והתכונות החזותיות של הגידולים שנצפו בסריקות ה-CT, ומאחסנים אותם בקבוצת תכונות ב- Feature Store. עבור כל מחקר מטופל, מבוצעים השלבים הבאים. פרטים ניתן למצוא ב 3_preprocess_imaging_data.ipynb.

  1. קרא את קובצי פרוסות DICOM 2D הן עבור סריקת ה-CT והן עבור פילוח הגידול, שלבו אותם לאמצעי אחסון תלת מימדיים ושמור את אמצעי האחסון בפורמט NIfTI.
  2. יישר נפח CT ופילוח גידול כדי שנוכל למקד את החישוב בתוך הגידול.
  3. חשב תכונות רדיומיות המתארות את אזור הגידול באמצעות פירדימיקה סִפְרִיָה. אנו מחלצים 120 רדיומיקה מאפיינים של שמונה מחלקות כגון ייצוגים סטטיסטיים של התפלגות והתרחשות משותפת של העוצמה בתוך האזור הגידולי המעניין, ומדידות מבוססות צורה המתארות את הגידול בצורה מורפולוגית.

ראוי להזכיר כיצד צינור ההדמיה הרפואי נעשה בקנה מידה. עיבוד מאות תמונות תלת מימד גדולות ברזולוציה גבוהה דורש את משאב המחשוב הנכון. הקבלה של המשימות יכולה להפחית עוד יותר את זמן העיבוד הכולל ולעזור לך לקבל את התוצאות מוקדם יותר. אנו משתמשים ב- SageMaker Processing, תכונה לפי דרישה וניתנת להרחבה לצורך עיבוד נתונים ב- SageMaker, כדי להפעיל DICOM לבניית נפח תלת מימד, יישור פילוח CT/גידול, חילוץ תכונה רדיומית והטמעת חנות תכונות. אנו מקבילים את העיבוד לעבודה אחת לכל נתוני מטופל, כפי שמוצג באיור הבא.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

כדי להשיק את עבודות SageMaker Processing עבור מספר מטופלים במקביל ביעילות, אנו מפעילים את פונקציית השירות launch_processing_job(), אשר שולח עבודה מוגדרת של SageMaker Processing במופע אחד של ml.r5.large, בלולאת for.

במקרה זה, עלינו לעבוד עם מכסת השירות עבור המופע בצורה חכמה. ברירת המחדל מכסת שירות עבור מספר המופעים על פני עבודות עיבוד ומספר המופעים של ml.r5.large הוא ארבעה. אם לחשבון שלך יש מגבלה גבוהה יותר, אתה עשוי להפעיל מספר גבוה יותר של עבודות עיבוד בו-זמנית (לכן זמן סיום מהיר יותר). לבקשת הגדלת מכסה, עיין מכסות שירות AWS. הטמענו את הפונקציה wait_for_instance_quota() כדי לבדוק את ספירת העבודה הנוכחית שנמצאת במצב InProgress ולהגביל את הספירה הכוללת בניסוי זה לערך שהוגדר ב job_limit. אם ספירת המשימות הפועלות הכוללת נמצאת במגבלה, הפונקציה ממתינה למספר השניות שצוין ב- wait ויכוח ובודק שוב את ספירת העבודה. זה נועד לקחת בחשבון את מכסת SageMaker ברמת החשבון שעלולה לגרום לשגיאות ב for לולאה.

אתגר נוסף כאשר אנו עובדים עם כמות גדולה של עבודות עיבוד והדרכה הוא מעקב אחר הפרטים והשושלת של כל העבודות בניסוי. אנו משתמשים בניסויי SageMaker כדי להשיג זאת. הגדרת מעקב הניסוי היא פשוטה. כאשר כל עבודת SageMaker Processing מוגשת בתוך launch_processing_job(), מוגדרת תצורת ניסוי ומסופקת להפעלת העבודה. ראה את הקוד הבא:

experiment_config={'ExperimentName': experiment_name,
                   'TrialName': trial_name,
                   'TrialComponentDisplayName': f'ImageProcessing-{subject}'}
script_processor = ScriptProcessor(...)
script_processor.run(..., experiment_config=experiment_config)

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

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

דוגמנות

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

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

  1. נרמל את טווח התכונות העצמאיות באמצעות קנה מידה של תכונות.
  2. עבור אימון ML, הרץ שאילתה נגד שלוש קבוצות התכונות כדי להצטרף לנתונים המאוחסנים בחנות הלא מקוונת. עבור מערך הנתונים הנתון, אינטגרציה זו מביאה ל-119 דגימות נתונים, כאשר כל מדגם הוא וקטור בעל 215 מימדים.
    genomic_table = 
    clinical_table = 
    imaging_table = 
    
    query = .athena_query()
    
    query_string = 'SELECT '+genomic_table+'.*, '+clinical_table+'.*, '+imaging_table+'.* 
    FROM '+genomic_table+' LEFT OUTER JOIN '+clinical_table+' ON '+clinical_table+'.case_id = '+genomic_table+'.case_id 
    LEFT OUTER JOIN '+imaging_table+' ON '+clinical_table+'.case_id = '+imaging_table+'.subject 
    ORDER BY '+clinical_table+'.case_id ASC;'
    
    query.run(query_string=query_string, output_location='s3://'++'/'+prefix+'/query_results/')
    
    imaging_query.wait()
    
    multimodal_features = query.as_dataframe()

  3. בצע ניתוח רכיבים עיקריים (PCA) על התכונות כדי לצמצם את הממדיות ולזהות את התכונות המבדילות ביותר שתורמות לשונות של 95% בנתונים. זה מביא להפחתת הממדיות מ-215 תכונות למטה ל-45 מרכיבים עיקריים, המהווים תכונות עבור הלומד בפיקוח.
    from sklearn.decomposition import PCA
    
    # Set variance threshold for PCA to 99%
    pca_threshold = 0.99
    pca = PCA(n_components = pca_threshold)
    X_trainval_pca = pca.fit_transform(X_trainval_scaled)
    X_test_pca = pca.transform(X_test_scaled)

  4. ערבב את הנתונים הללו באופן אקראי וחלק אותם ל-80% לאימון ו-20% לבדיקת המודל.
  5. עוד פיצלו את נתוני האימון ל-80% לאימון ו-20% לאימות המודל.

כדי לאמן את מודל ה-ML, בנו מעריך של ספריית הגברת השיפועים XGBoost באמצעות מיכל SageMaker XGBoost. מכיוון שהמטרה שלנו היא להכשיר מודל בסיס עם נתונים רב-מודאליים, אנו רואים היפרפרמטרים של ברירת מחדל ולא מבצעים כוונון היפרפרמטרים. המודל מנבא את מצב ההישרדות של חולי NSCLC (מתים או חיים) בצורה של הסתברות. בנוסף למודל ולניבוי, אנו גם מפיקים דוחות כדי להסביר את המודל. צינור ההדמיה הרפואי מייצר נפחי CT ריאות תלת מימדיים ופילוח גידולים למטרות הדמיה. ראה את הקוד הבא

container = retrieve("xgboost", region=region, version='1.2-1')

xgb = sagemaker.estimator.Estimator(container,
                                    role, 
                                    instance_count=1, 
                                    instance_type='ml.m4.xlarge',
                                    output_path='s3://{}/{}/training-output'.format(bucket, prefix),
                                    sagemaker_session=sm_session)

xgb.set_hyperparameters(eta=0.1, objective='reg:logistic', num_round=10) 

# Train model
xgb.fit({'train': train_data, 'validation': validation_data})

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

הסקה

כדי לפרוס את נקודת הקצה, אנו משתמשים ב- deploy() שיטה מהאומד המיומן. שיטת הפריסה משתמשת במספר פרמטרים. אנו מספקים את שיטת הפריסה עם א instance_count, המציין את מספר מופעי המחשוב שיושקו בתחילה, וכן instance_type, המציין את סוג מופע המחשוב. לאחר מכן אנו משתמשים ב- a CSVSerilizer לסידור הנתונים הנכנסים של פורמטים שונים למחרוזת בפורמט CSV עבור נקודת הקצה שלנו. ראה את הקוד הבא:

from sagemaker.serializers import CSVSerializer

predictor = xgb.deploy(initial_instance_count = 1, 
                       instance_type = 'ml.m5.xlarge', 
                       serializer = CSVSerializer(),
                       endpoint_name=endpoint_name)

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

predictions = predictor.predict(test_data.to_numpy()[:,1:]).decode('utf-8')
# Predictions come back as str. Below transforms stings to float and the probability to binary label (1: dead, 0: alive)
y_predict = [1 if float(pred) > 0.5 else 0 for pred in predictions.split(',')]

המנבא מחזיר הסתברות. אם ההסתברות גדולה מ-0.5, סביר שהמטופל ישרוד NSCLC. אם ההסתברות נמוכה מ-0.5, יש סיכוי גבוה יותר שהמטופל ישרוד NSCLC.

לבסוף, אנו מעריכים את התחזית עם האמת הבסיסית ב- test_data באמצעות דיוק, ציון F1, דיוק, זכירה ומטריצת בלבול. אנו רואים שהמודל יכול לחזות במדויק 19 מתוך 25 חולים ב- test_data, עם דיוק מאוזן וריקול (וציון F1).

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

לנקות את

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

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

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

כדי למחוק את דומיין SageMaker שלך, עיין ב מחק דומיין של אמזון SageMaker.

סיכום

בפוסט זה, הכרזנו על פתרון JumpStart חדש שמנבא את מצב ההישרדות של חולי סרטן ריאות לא קטנים באמצעות נתונים מולטי-מודאליים. הדרכנו אותך במערך הנתונים הרב-מודאלי המגוון (הדמיה רפואית, רשומות גנומיות וקליניות); דנו בפתרון שלנו שמשתמש בתכונות SageMaker כגון SageMaker Processing, Feature Store, אלגוריתם XGBoost המובנה ונקודות קצה של SageMaker בזמן אמת; והראה לך כיצד להפעיל בקלות את הפתרון ב-JumpStart, שבו משאבי ענן מנוהלים ונפרסים עבורך בלחיצה אחת בלבד.

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

למידע נוסף על פתרונות אחרים, מודלים מובנים מראש ואלגוריתמים ב-JumpStart, בקר SageMaker JumpStart.

למידע נוסף על ניתוח מולטי-מודאלי ורב-אומיקה ב-AWS, בקר פישוט ניתוח רב-מודאלי ורב-אומיקה עם AWS for Health.

כתב ויתור

פתרון זה מיועד למטרות הדגמה בלבד. זה אינו מיועד לשימוש קליני ואינו מהווה תחליף לייעוץ רפואי, אבחון או טיפול מקצועי. המחברות המשויכות, כולל הדגם המיומן ונתוני הדוגמאות, אינן מיועדות לייצור. באחריותו של כל לקוח לקבוע האם הם כפופים ל-HIPAA, ואם כן, כיצד לציית בצורה הטובה ביותר ל-HIPAA ולתקנות היישום שלה. לפני השימוש ב-AWS בקשר עם מידע בריאותי מוגן, הלקוחות חייבים להזין נספח עמית עסקי של AWS (BAA) ולעקוב אחר דרישות התצורה שלו.

הפניות

[1] טרוויס, וויליאם ד., ואח'. "הסיווג של ארגון הבריאות העולמי לשנת 2015 של גידולי ריאות: השפעת ההתקדמות הגנטית, הקלינית והרדיולוגית מאז הסיווג של 2004." כתב עת לאונקולוגיה ביתית 10.9 (2015): 1243-1260.

[2] ג'רנל, א., ועוד. "סטטיסטיקת סרטן, 2002." CA סרטן J clin52.1 (2002): 23-47.

[3] בכר, שימא, ואח'. "מערך רדיוגנומי של סרטן ריאות תאים לא קטנים." נתונים מדעיים 5.1 (2018): 1-9.

[4] Zhou, Mu, et al. "מפה רדיוגנומית של סרטן ריאות של תאים לא קטנים מזהה קשרים בין פנוטיפים מולקולריים להדמיה עם השלכות פרוגנוסטיות." רדיולוגיה 286.1 (2018): 307.


על הכותבים

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.מייקל הסיה הוא ארכיטקט פתרונות AI/ML ראשי. הוא מתמקד בפתרון אתגרים עסקיים באמצעות AI/ML עבור לקוחות בתעשיית הבריאות ומדעי החיים. בתור מושתל בסיאטל, הוא אוהב לחקור את אמא טבע הנהדרת שיש לעיר להציע, כמו מסלולי ההליכה, שייט קיאקים בנוף ב-SLU, והשקיעה במפרץ Shilshole. בתור תושב ותיק לשעבר של פילדלפיה, הוא רצה לפילדלפיה איגלס ופילדלפיה פילי.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי. אוליביה צ'ודהורי, דוקטורט, הוא אדריכל פתרונות שותפים בכיר ב-AWS. היא עוזרת לשותפים בתחום הבריאות ומדעי החיים לעצב, לפתח ולהרחיב פתרונות מתקדמים באמצעות AWS. יש לה רקע בגנומיקה, ניתוח בריאות, למידה מאוחדת ולמידת מכונה משמרת פרטיות. מחוץ לעבודה היא משחקת משחקי לוח, מציירת נופים ואוספת מנגה.

חזה את מצב ההישרדות של סרטן ריאות באמצעות נתונים מולטי-מודאליים על Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.קורט לוקהארט הוא אדריכל פתרונות AI/ML מומחה ב-AWS. הוא מגיע מרקע לא מסורתי של עבודה באמנויות לפני המעבר לטכנולוגיה, ונהנה להפוך את למידת מכונה לנגישה עבור כל לקוח. בסיאטל, אתה יכול למצוא אותו יוצא למוזיאוני אמנות מקומיים, תופס קונצרט ומשוטט בערים ובחוץ של צפון מערב האוקיינוס ​​השקט.

בול זמן:

עוד מ למידת מכונות AWS