מארח שרת קוד ב- Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מארח שרת קוד ב- Amazon SageMaker

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

SageMaker מספק חוויה בלחיצה אחת ל-Jupyter ול-RStudio כדי לבנות, לאמן, לנפות באגים, לפרוס ולנטר מודלים של ML. בפוסט זה נשתף גם א פִּתָרוֹן לאירוח שרת קוד ב- SageMaker.

עם שרת קוד, משתמשים יכולים להפעיל קוד VS במחשבים מרוחקים וגישה אליו בדפדפן אינטרנט. עבור צוותי ML, אירוח שרת קוד ב- SageMaker מספק שינויים מינימליים בחוויית פיתוח מקומית, ומאפשר לך לקודד מכל מקום, במחשוב ענן ניתן להרחבה. עם קוד VS, אתה יכול גם להשתמש בסביבות Conda מובנות עם TensorFlow ו- PyTorch המותאמים ל-AWS, מאגרי Git מנוהלים, מצב מקומי ותכונות אחרות שסופק על ידי SageMaker כדי להאיץ את האספקה ​​שלך. עבור מנהלי IT, זה מאפשר לך לתקן ולזרז את האספקה ​​של IDEs מנוהלים ומאובטחים בענן, כדי לשלב במהירות ולאפשר צוותי ML בפרויקטים שלהם.

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

בפוסט זה, אנו מכסים את ההתקנה הן עבור סביבות סטודיו (אפשרות א'), והן עבור מופעי מחברת (אפשרות ב'). עבור כל אפשרות, אנו עוברים על תהליך התקנה ידני שצוותי ML יכולים להפעיל בסביבתם, והתקנה אוטומטית שמנהלי IT יכולים להגדיר עבורם באמצעות ממשק שורת הפקודה של AWS (AWS CLI).

התרשים הבא ממחיש את סקירת הארכיטקטורה לאירוח שרת קוד ב- SageMaker.

הפתרון שלנו מאיץ את ההתקנה וההגדרה של שרת קוד בסביבה שלך. זה עובד גם עבור JupyterLab 3 (מומלץ) וגם עבור JupyterLab 1 הפועלות בתוך מופעי מחברת Studio ו- SageMaker. הוא עשוי מסקריפטים של מעטפת שעושים את הפעולות הבאות בהתבסס על האפשרות.

עבור Studio (אפשרות A), סקריפט המעטפת עושה את הפעולות הבאות:

עבור מופעי מחברת SageMaker (אפשרות ב'), סקריפט המעטפת עושה את הפעולות הבאות:

  • מתקין שרת קוד.
  • מוסיף קיצור דרך לשרת קוד בתפריט הקבצים של מחברת Jupyter ואת משגר JupyterLab לגישה מהירה ל-IDE.
  • יוצר סביבת Conda ייעודית לניהול תלות.
  • מתקין את פיתון ו סַוָר הרחבות ב-IDE.

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

אפשרות א': מארח שרת קוד בסטודיו

כדי לארח שרת קוד ב-Studio, בצע את השלבים הבאים:

  1. בחרו מסוף מערכת במפעיל הסטודיו שלך.
    ml-10244-studio-terminal-click
  2. כדי להתקין את פתרון שרת הקוד, הפעל את הפקודות הבאות במסוף המערכת שלך:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/studio
     
    chmod +x install-codeserver.sh
    ./install-codeserver.sh
    
    # Note: when installing on JL1, please prepend the nohup command to the install command above and run as follows: 
    # nohup ./install-codeserver.sh

    ביצוע הפקודות אמור להימשך מספר שניות.

  3. טען מחדש את דף הדפדפן, שבו אתה יכול לראות א שרת קוד לחצן במפעיל הסטודיו שלך.
    ml-10244-code-server-button
  4. בחרו שרת קוד כדי לפתוח לשונית דפדפן חדשה, המאפשרת לך לגשת לשרת קוד מהדפדפן שלך.
    התוסף של Python כבר מותקן, ואתה יכול להתחיל לעבוד בפרויקט ה-ML שלך.ml-10244-vscode

אתה יכול לפתוח את תיקיית הפרויקט שלך ב- VS Code ולבחור את סביבת Conda הבנויה מראש כדי להפעיל את הסקריפטים של Python שלך.

ml-10244-vscode-conda

הפוך את התקנת שרת הקוד לאוטומטית עבור משתמשים בדומיין של Studio

כמנהל IT, אתה יכול להפוך את ההתקנה לאוטומטית עבור משתמשי Studio באמצעות א תצורת מחזור החיים. זה יכול להיעשות עבור כל הפרופילים של המשתמשים תחת דומיין Studio או עבור אלה ספציפיים. לִרְאוֹת התאם אישית את Amazon SageMaker Studio באמצעות תצורות מחזור חיים לקבלת פרטים נוספים.

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

ממסוף המוגדר עם AWS CLI והרשאות מתאימות, הפעל את הפקודות הבאות:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/studio

LCC_CONTENT=`openssl base64 -A -in install-codeserver.sh`

aws sagemaker create-studio-lifecycle-config 
    --studio-lifecycle-config-name install-codeserver-on-jupyterserver 
    --studio-lifecycle-config-content $LCC_CONTENT 
    --studio-lifecycle-config-app-type JupyterServer 
    --query 'StudioLifecycleConfigArn'

aws sagemaker update-domain 
    --region  
    --domain-id  
    --default-user-settings 
    '{
    "JupyterServerAppSettings": {
    "DefaultResourceSpec": {
    "LifecycleConfigArn": "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver",
    "InstanceType": "system"
    },
    "LifecycleConfigArns": [
    "arn:aws:sagemaker:::studio-lifecycle-config/install-codeserver-on-jupyterserver"
    ]
    }}'

# Make sure to replace ,  and  in the previous commands with
# the Studio domain ID, the AWS region and AWS Account ID you are using respectively.

לאחר הפעלה מחדש של שרת Jupyter, ה שרת קוד הלחצן מופיע במפעיל הסטודיו שלך.

אפשרות ב': מארח שרת קוד במופע מחברת SageMaker

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

  1. הפעל מסוף דרך Jupyter או JupyterLab עבור מופע המחברת שלך.
    אם אתה משתמש ב-Jupyter, בחר מסוף על חדש תפריט.
    מארח שרת קוד ב- Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.
  2.  כדי להתקין את פתרון שרת הקוד, הפעל את הפקודות הבאות בטרמינל שלך:
    curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
    tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz
    
    cd amazon-sagemaker-codeserver/install-scripts/notebook-instances
     
    chmod +x install-codeserver.sh
    chmod +x setup-codeserver.sh
    sudo ./install-codeserver.sh
    sudo ./setup-codeserver.sh

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

    sudo ./setup-codeserver.sh

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

    ml-10244-טרמינל פלט

  3. כעת טען מחדש את דף Jupyter ובדוק את חדש תפריט שוב.
    השמיים שרת קוד האפשרות אמורה להיות זמינה כעת.
    מארח שרת קוד ב- Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

ml-10244-jupyterlab-code-server-button

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

ml-10244-notebook-vscode

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

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

כאן, אנו יוצרים דוגמה של מופע מחברת ותצורת מחזור חיים באמצעות ה AWS CLI. ה on-create התצורה פועלת שרת קוד להתקין, ו on-start פועל setup-codeserver.

ממסוף המוגדר עם AWS CLI והרשאות מתאימות, הפעל את הפקודות הבאות:

curl -LO https://github.com/aws-samples/amazon-sagemaker-codeserver/releases/download/v0.1.5/amazon-sagemaker-codeserver-0.1.5.tar.gz
tar -xvzf amazon-sagemaker-codeserver-0.1.5.tar.gz

cd amazon-sagemaker-codeserver/install-scripts/notebook-instances

aws sagemaker create-notebook-instance-lifecycle-config 
    --notebook-instance-lifecycle-config-name install-codeserver 
    --on-start Content=$((cat setup-codeserver.sh || echo "")| base64) 
    --on-create Content=$((cat install-codeserver.sh || echo "")| base64)

aws sagemaker create-notebook-instance 
    --notebook-instance-name  
    --instance-type  
    --role-arn  
    --lifecycle-config-name install-codeserver

# Make sure to replace , ,
# and  in the previous commands with the appropriate values.

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

סיכום

עם שרת קוד מתארח ב- SageMaker, צוותי ML יכולים להריץ VS Code על מחשוב ענן ניתן להרחבה, קוד מכל מקום ולהאיץ את העברת פרויקט ה-ML שלהם. עבור מנהלי IT, זה מאפשר להם לתקן ולזרז את האספקה ​​של IDEs מנוהלים ומאובטחים בענן, כדי להצטרף במהירות ולאפשר צוותי ML בפרויקטים שלהם.

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

כדי ללכת רחוק יותר בלמידה שלך, בקר AWSome SageMaker ב-GitHub כדי למצוא את כל המשאבים הרלוונטיים והעדכניים הדרושים לעבודה עם SageMaker.


על הכותבים

מארח שרת קוד ב- Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ג'וזפה אנג'לו פורצ'לי הוא ארכיטקט פתרונות מומחה ללימוד מכונה ראשי עבור שירותי האינטרנט של אמזון. עם מספר שנים של הנדסת תוכנה על רקע ML, הוא עובד עם לקוחות בכל סדר גודל כדי להבין לעומק את הצרכים העסקיים והטכניים שלהם ולתכנן פתרונות בינה מלאכותית ו-Machine Learning שעושים את השימוש הטוב ביותר ב-AWS Cloud וב-Amazon Machine Learning. הוא עבד על פרויקטים בתחומים שונים, כולל MLOps, Computer Vision, NLP, וכללו מערך רחב של שירותי AWS. בזמנו הפנוי, ג'וזפה נהנה לשחק כדורגל.

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

מארח שרת קוד ב- Amazon SageMaker PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.אריק פנה הוא מנהל מוצר טכני בכיר בצוות פלטפורמות הבינה המלאכותית של AWS, עובד על Amazon SageMaker Interactive Machine Learning. כיום הוא מתמקד באינטגרציות IDE ב- SageMaker Studio. הוא בעל תואר MBA מ-MIT סלואן ומחוץ לעבודה נהנה לשחק כדורסל וכדורגל.

בול זמן:

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