אינטליגנציה של נתונים גנרטיביים

שפר את הפרודוקטיביות ב-Amazon SageMaker Studio: הצגת JupyterLab Spaces וכלי AI גנרטיביים | שירותי האינטרנט של אמזון

תאריך:

סטודיו SageMaker של אמזון מציעה מערך רחב של סביבות פיתוח משולבות מנוהלות במלואן (IDEs) לפיתוח למידת מכונה (ML), כולל JupyterLab, Code Editor המבוסס על Code-OSS (Visual Studio Code Open Source), ו-RStudio. הוא מספק גישה לסט הכלים המקיף ביותר עבור כל שלב בפיתוח ML, מהכנת נתונים ועד לבנייה, הדרכה, פריסה וניהול מודלים של ML. אתה יכול להפעיל את JuptyerLab המנוהל במלואו עם SageMaker Distribution שהוגדרה מראש תוך שניות כדי לעבוד עם המחברות, הקוד והנתונים שלך. הממשק הגמיש והניתן להרחבה של SageMaker Studio מאפשר לך להגדיר ולסדר ללא מאמץ זרימות עבודה של ML, ותוכל להשתמש בקוד הקוד המופעל על ידי AI כדי לכתוב במהירות, לנפות באגים, להסביר ולבדוק קוד.

בפוסט זה, אנו מסתכלים מקרוב על SageMaker Studio המעודכן וה-JupyterLab IDE שלו, שנועדו להגביר את הפרודוקטיביות של מפתחי ML. אנו מציגים את הרעיון של Spaces ומסבירים כיצד JupyterLab Spaces מאפשרים התאמה אישית גמישה של משאבי מחשוב, אחסון וזמן ריצה כדי לשפר את יעילות זרימת העבודה שלך ב-ML. אנו גם דנים במעבר שלנו למודל ביצוע מקומי ב-JupyterLab, וכתוצאה מכך חווית קידוד מהירה, יציבה יותר ומגיבה. בנוסף, אנו מכסים את האינטגרציה החלקה של כלי AI גנרטיביים כמו Amazon Code Whisperer ו-Jupyter AI בתוך SageMaker Studio JupyterLab Spaces, הממחישים כיצד הם מחזקים מפתחים להשתמש ב-AI לסיוע בקידוד ופתרון בעיות חדשני.

היכרות עם Spaces בסטודיו SageMaker

DELETE THIS ממשק מבוסס אינטרנט של SageMaker Studio פועל כמרכז פיקוד להפעלת ה-IDE המועדף עליך ולגישה שלך אמזון SageMaker כלים לבנות, לאמן, לכוונן ולפרוס מודלים. בנוסף ל-JupyterLab ו-RStudio, SageMaker Studio כולל כעת עורך קוד מנוהל במלואו המבוסס על Code-OSS (קוד פתוח של Visual Studio Code). ניתן להפעיל גם את JupyterLab וגם את Code Editor באמצעות סביבת עבודה גמישה הנקראת Spaces.

Space הוא ייצוג תצורה של SageMaker IDE, כגון JupyterLab או Code Editor, שנועד להימשך ללא קשר אם יישום (IDE) המשויך ל-Space פועל באופן פעיל או לא. Space מייצג שילוב של מופע מחשוב, אחסון ותצורות זמן ריצה אחרות. עם Spaces, אתה יכול ליצור ולהתאים את המחשוב והאחסון עבור ה-IDE שלך למעלה ולמטה תוך כדי תנועה, להתאים אישית סביבות זמן ריצה, ולהשהות ולחדש את הקידוד בכל עת ומכל מקום. אתה יכול ליצור מספר מרחבים כאלה, שכל אחד מהם מוגדר עם שילוב שונה של מחשוב, אחסון וזמני ריצה.

כאשר נוצר מרחב, הוא מצויד ב- חנות בלוקים אלסטית של אמזון (אמזון EBS) כֶּרֶך, המשמש לאחסון קבצי משתמשים, נתונים, מטמונים וחפצים אחרים. זה מצורף למופע מחשוב ML בכל פעם ש-Space מופעל. אמצעי האחסון של EBS מבטיח שקבצי משתמש, נתונים, מטמון ומצבי הפעלה משוחזרים באופן עקבי בכל פעם שה-Space מופעל מחדש. חשוב לציין, נפח ה-EBS הזה נשאר קבוע, בין אם ה-Space נמצא במצב פועל או עצור. זה ימשיך להימשך עד שהרווח יימחק.

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

יצירת מרחב

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

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

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, { "Sid": "SMStudioAppPermissionsListAndDescribe", "Effect": "Allow", "Action": [ "sagemaker:ListApps", "sagemaker:ListDomains", "sagemaker:ListUserProfiles", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace" ], "Resource": "*" }, { "Sid": "SMStudioAppPermissionsTagOnCreate", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:*/*", "Condition": { "Null": { "sagemaker:TaggingAction": "false" } } }, { "Sid": "SMStudioRestrictSharedSpacesWithoutOwners", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioRestrictSpacesToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:space/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:$AWS Region:$111122223333:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private", "Shared" ] } } }, { "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:{{Region}}:{{AccountId}}:app/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:${aws:Region}:${aws:PrincipalAccount}:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private" ] } } }, ]
}

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

  1. בSageMaker Studio, בחר מעבדת ג'ופיטר על יישומים תפריט.
  2. בחרו צור שטח JupyterLab.
  3. בעד שם, הזן שם למרחב שלך.
  4. בחרו צור מקום.
  5. בחרו הפעל שטח כדי להפעיל את המרחב החדש שלך עם הגדרות ברירת מחדל מראש או לעדכן את התצורה בהתבסס על הדרישות שלך.

הגדרה מחדש של מרחב

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

השלם את השלבים הבאים כדי לערוך שטח קיים:

  1. בדף פרטי החלל, בחר עצור את החלל.
  2. הגדר מחדש את המחשוב, האחסון או זמן הריצה.
  3. בחרו הפעל שטח להפעיל מחדש את החלל.

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

הארכיטקטורה החדשה של SageMaker Studio JupyterLab

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

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

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

חביון מופחת ויציבות מוגברת

SageMaker Studio עבר למודל הפעלה מקומי, והתרחק מהמודל המפוצל הקודם שבו הקוד אוחסן על גבי EFS mount והופעל מרחוק על מופע ML דרך Kernel Gateway מרוחק. בהגדרה המוקדמת יותר, Kernel Gateway, שרת אינטרנט ללא ראש, אפשר פעולות ליבה בתקשורת מרחוק עם ליבות Jupyter דרך HTTPS/WSS. פעולות משתמש כמו הפעלת קוד, ניהול מחברות או הפעלת פקודות מסוף עובדו על ידי אפליקציית Kernel Gateway במופע ML מרוחק, כאשר Kernel Gateway מאפשר את הפעולות הללו באמצעות ZeroMQ (ZMQ) בתוך קונטיינר Docker. התרשים הבא ממחיש ארכיטקטורה זו.

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

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

שליטה משופרת על האחסון המיועד

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

עם העדכון האחרון ל-SageMaker Studio, יש מעבר מאחסון מבוסס אמזון EFS לפתרון מבוסס אמזון EBS. נפחי EBS, המסופקים עם SageMaker Studio Spaces, הם נפחי GP3 תוכנן לספק ביצועי בסיס עקביים של 3,000 IOPS, ללא תלות בגודל הנפח. אחסון EBS החדש הזה של אמזון מציע ביצועים גבוהים יותר עבור משימות עתירות קלט/פלט, כגון אימון מודלים, עיבוד נתונים, מחשוב בעל ביצועים גבוהים והדמיית נתונים. מעבר זה גם נותן למנהלי SageMaker Studio תובנה ושליטה רבה יותר על השימוש באחסון על ידי פרופילי משתמשים בתוך דומיין או ברחבי SageMaker. כעת תוכל להגדיר ברירת מחדל (DefaultEbsVolumeSizeInGb) ומקסימום (MaximumEbsVolumeSizeInGb) גדלי אחסון עבור JupyterLab Spaces בתוך כל פרופיל משתמש.

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

SageMaker Studio מציע כעת שליטה מוגברת באחסון המיועד למנהלי מערכת:

  • מנהלי SageMaker Studio יכולים לנהל את גדלי נפח ה-EBS עבור פרופילי משתמשים. נפחי JupyterLab EBS אלה יכולים להשתנות ממינימום של 5 GB למקסימום של 16 TB. קטע הקוד הבא מראה כיצד ליצור או לעדכן פרופיל משתמש עם הגדרות ברירת מחדל ומקסימום שטח:
    aws --region $REGION sagemaker create-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --user-settings '{ "SpaceStorageSettings": { "DefaultEbsStorageSettings":{ "DefaultEbsVolumeSizeInGb":5, "MaximumEbsVolumeSizeInGb":100 } }
    }' # alternatively to update an existing user profile
    aws --region $REGION sagemaker update-user-profile --domain-id $DOMAIN_ID --user-profile-name $USER_PROFILE_NAME --user-settings '{ "SpaceStorageSettings": { "DefaultEbsStorageSettings":{ "DefaultEbsVolumeSizeInGb":25, "MaximumEbsVolumeSizeInGb":100 } }
    }'

  • SageMaker Studio מציע כעת תכונת תיוג אוטומטי משופרת עבור משאבי אמזון EBS, תוך תיוג אוטומטי של נפחים שנוצרו על ידי משתמשים עם מידע על דומיין, משתמש ומרחב. התקדמות זו מפשטת את ניתוח הקצאת עלויות עבור משאבי אחסון, ומסייעת למנהלי מערכת בניהול וייחס עלויות בצורה יעילה יותר. כמו כן, חשוב לציין שנפחי EBS אלו מתארחים בחשבון השירות, כך שלא תהיה לך נראות ישירה. עם זאת, שימוש באחסון ועלויות נלוות מקושרים ישירות לתחום ARN, פרופיל משתמש ARN ו- Space ARN, מה שמאפשר הקצאת עלויות פשוטה.
  • מנהלי מערכת יכולים גם לשלוט בהצפנה של נפחי EBS של מרחב, במצב מנוחה, באמצעות מפתחות מנוהלים על ידי לקוחות (CMK).

שכירות משותפת עם מערכת קבצים EFS הביאו בעצמכם

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

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

# create a domain with and attach an existing EFS volume at root level
aws sagemaker create-domain --domain-name "myDomain" --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]" # create a domain with and attach an existing EFS volume at file system prefix leve
aws sagemaker create-domain --domain-name "myDomain" --vpc-id {VPC_ID} --subnet-ids {SUNBET_IDS} --auth-mode IAM --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678", FileSystemPath="/my/custom/path"}}]" # update an existing domain with your own EFS
aws sagemaker update-domain --region us-west-2 --domain-id d-xxxxx --default-user-settings "CustomFileSystemConfigs=[{EFSFileSystemConfig={FileSystemId="fs-12345678"}}]"

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

# attach an a preconfigured EFS to a space
aws sagemaker create-space --space-name byofs-space --domain-id "myDomain" --ownership-settings "OwnerUserProfileName={USER_PROFILE_NAME}" --space-sharing-settings "SharingType=Private" --space-settings "AppType=JupyterLab,CustomFileSystems=[{EFSFileSystem={FileSystemId="fs-12345678"}}]")

לאחר הרכבה ל-Space, תוכל לאתר את כל הקבצים שלך הממוקמים מעל נקודת ההרכבה שהוגדרה על ידי מנהל. ניתן למצוא קבצים אלה בנתיב הספרייה /mnt/custom-file-system/efs/fs-12345678.

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

  • שתף נתונים - תושבות EFS ​​אידיאליות לאחסון מערכי נתונים גדולים החיוניים לניסויים במדעי הנתונים. בעלי ערכות נתונים יכולים לטעון את הרכיבים הללו עם מערכי הדרכה, אימות ובדיקה, מה שהופך אותם לנגישים לפרופילי משתמשים בתוך דומיין או על פני מספר דומיינים. מנהלי SageMaker Studio יכולים גם לשלב רכיבי EFS קיימים של יישומים תוך שמירה על עמידה במדיניות האבטחה הארגונית. זה נעשה באמצעות הרכבה גמישה ברמת הקידומת. לדוגמה, אם נתוני ייצור ובדיקה מאוחסנים על אותה תושבת EFS ​​(כגון fs-12345678:/data/prod and fs-12345678:/data/test), הרכבה /data/test על גבי פרופילי המשתמש של תחום SageMaker מעניק למשתמשים גישה רק למערך הנתונים של הבדיקה. הגדרה זו מאפשרת ניתוח או אימון מודלים תוך שמירה על נתוני ייצור מאובטחים ובלתי נגישים.
  • שתף קוד - תושבות EFS ​​מקלות על שיתוף מהיר של חפצי קוד בין פרופילי משתמש. בתרחישים שבהם משתמשים צריכים לשתף במהירות דוגמאות קוד או לשתף פעולה על בסיס קוד משותף ללא המורכבות של פקודות דחיפה/משיכה תכופות של git, רכיבי EFS משותפים מועילים מאוד. הם מציעים דרך נוחה לשתף חפצי קוד בעבודה בתוך צוות או בין צוותים שונים ב-SageMaker Studio.
  • שתף סביבות פיתוח - תושבות EFS ​​משותפות יכולות לשמש גם כאמצעי להפצה מהירה של סביבות ארגז חול בין משתמשים וצוותים. תושבות EFS ​​מספקות אלטרנטיבה מוצקה לשיתוף סביבות Python כמו conda או virtualenv על פני מספר סביבות עבודה. גישה זו עוקפת את הצורך בהפצה requirements.txt or environment.yml קבצים, שלעיתים קרובות יכולים להוביל למשימה החוזרת על עצמה של יצירה או יצירה מחדש של סביבות על פני פרופילי משתמשים שונים.

תכונות אלו משפרות באופן משמעותי את יכולות שיתוף הפעולה בתוך SageMaker Studio, מה שהופך את זה ללא מאמץ לצוותים לעבוד יחד ביעילות על פרויקטים מורכבים של ML. בנוסף, עורך קוד המבוסס על Code-OSS (Visual Studio Code Open Source) חולק את אותם עקרונות ארכיטקטוניים כמו חוויית JupyterLab הנזכרת לעיל יישור זה מביא למספר יתרונות, כגון זמן אחזור מופחת, יציבות משופרת ושיפור שליטה אדמיניסטרטיבית, ומאפשר גישה למשתמשים חללי עבודה משותפים, דומים לאלה המוצעים ב-JupyterLab Spaces.

כלים המונעים בינה מלאכותית ב-JupyterLab Spaces

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

Amazon Code Whisperer

Amazon CodeWhisperer הוא עוזר תכנות המשפר את פרודוקטיביות המפתחים באמצעות המלצות ופתרונות קוד בזמן אמת. כשירות AI מנוהל AWS, הוא משולב בצורה חלקה לתוך SageMaker Studio JupyterLab IDE. אינטגרציה זו הופכת את Amazon CodeWhisperer לתוספת זורמת ובעלת ערך לזרימת העבודה של מפתחים.

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

לחלופין, כתוב הערה המתארת ​​את פונקציית הקוד המיועדת שלך והתחל בקידוד; Amazon CodeWhisperer יתחיל לספק הצעות.

שימו לב שלמרות שאמזון CodeWhisperer מותקן מראש, אתם חייבים את ה codewhisperer:GenerateRecommendations הרשאה כחלק מתפקיד הביצוע לקבל המלצות קוד. לפרטים נוספים, עיין ב שימוש ב-CodeWhisperer עם Amazon SageMaker Studio. כאשר אתה משתמש ב- Amazon CodeWhisperer, AWS עשויה, למטרות שיפור השירות, לאחסן נתונים על השימוש והתוכן שלך. כדי לבטל את ההצטרפות ל- Amazon CodeWhisperer מדיניות שיתוף נתונים, אתה יכול לנווט אל הגדרת אפשרות מהתפריט העליון ואז נווט אל עורך הגדרות ולהשבית שתף נתוני שימוש עם Amazon CodeWhisperer מתפריט ההגדרות של Amazon CodeWhisperer.

Jupyter AI

Jupyter AI הוא כלי קוד פתוח שמביא בינה מלאכותית למחשבי Jupyter, ומציע פלטפורמה חזקה וידידותית למשתמש לחקר דגמי בינה מלאכותית גנרטיבית. זה משפר את הפרודוקטיביות ב-JupyterLab ו-Jupyter Notebooks על-ידי מתן תכונות כמו קסם %%ai ליצירת מגרש משחקים מחולל בינה מלאכותית בתוך מחברות, ממשק משתמש צ'אט מקורי ב-JupyterLab לאינטראקציה עם AI כעוזר שיחה, ותמיכה במגוון רחב של שפות גדולות. ספקי מודל (LLM) כמו AI21, Anthropic, Cohere ו-Huging Face או שירותים מנוהלים כמו סלע אמזון ונקודות קצה של SageMaker. אינטגרציה זו מציעה שיטות יעילות וחדשניות יותר עבור משימות ניתוח נתונים, ML וקידוד. לדוגמה, אתה יכול ליצור אינטראקציה עם LLM מודע לדומיין באמצעות ממשק הצ'אט של Jupyternaut לקבלת עזרה בתהליכים וזרימות עבודה או ליצור קוד לדוגמה באמצעות CodeLlama, המתארח בנקודות קצה של SageMaker. זה הופך אותו לכלי בעל ערך עבור מפתחים ומדעני נתונים.

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

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

אתה יכול להשתמש ב-Jupyter AI %%ai קסם ליצור קוד לדוגמה בתוך המחברת שלך, כפי שמוצג בצילום המסך הבא.

JupyterLab 4.0

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

גרסה זו, כעת סטנדרטית ב-SageMaker Studio JupyterLab, מציגה ביצועים אופטימליים לטיפול במחברות גדולות ופעולות מהירות יותר, הודות לשיפורים כמו אופטימיזציה של כללי CSS ואימוץ של CodeMirror 6 ו- MathJax 3. שיפורים מרכזיים כוללים עורך טקסט משודרג עם נגישות והתאמה אישית טובים יותר , מנהל הרחבות חדש להתקנה קלה של הרחבות Python, ויכולות חיפוש מסמכים משופרות עם תכונות מתקדמות. בנוסף, גרסה 4.0 מביאה שיפורים בממשק המשתמש, שיפורי נגישות ועדכונים לכלי פיתוח, ותכונות מסוימות הועברו בחזרה ל-JupyterLab 3.6.

סיכום

ההתקדמות ב-SageMaker Studio, במיוחד עם חוויית JupyterLab החדשה, מסמנת קפיצת מדרגה משמעותית בפיתוח ML. ממשק המשתמש של SageMaker Studio המעודכן, עם השילוב שלו של JupyterLab, Code Editor ו-RStudio, מציע סביבה יעילה שאין כמותה עבור מפתחי ML. ההקדמה של JupyterLab Spaces מספקת גמישות וקלות בהתאמה אישית של משאבי מחשוב ואחסון, ומשפרת את היעילות הכוללת של זרימות העבודה של ML. המעבר מארכיטקטורת ליבה מרוחקת למודל מקומי ב-JupyterLab מגביר מאוד את היציבות תוך הפחתת זמן האתחול. זה מביא לחוויית קידוד מהירה, יציבה יותר ומגיבה. יתרה מכך, השילוב של כלי בינה מלאכותית כמו Amazon CodeWhisperer ו-Jupyter AI ב-JupyterLab מעצימה עוד יותר מפתחים, ומאפשרת לך להשתמש בבינה מלאכותית לסיוע בקידוד ופתרון בעיות חדשני. השליטה המשופרת על אחסון מסודר והיכולת לשתף קוד ונתונים ללא מאמץ באמצעות רכיבי EFS בניהול עצמי מקלים מאוד על פרויקטים שיתופיים. לבסוף, שחרורו של JupyterLab 4.0 בתוך SageMaker Studio מדגישה את השיפורים הללו, ומציעה ביצועים מיטביים, נגישות טובה יותר וממשק ידידותי יותר למשתמש, ובכך מגבשת את תפקידה של JupyterLab כאבן יסוד בפיתוח ML יעיל ואפקטיבי בנוף הטכנולוגי המודרני.

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

נספח: ארכיטקטורת שער הליבה של SageMaker Studio Classic

A SageMaker Classic דומיין הוא צבירה לוגית של אמצעי אחסון EFS, רשימת משתמשים המורשים לגשת לדומיין ותצורות הקשורות לאבטחה, אפליקציות, רשתות ועוד. בארכיטקטורת SageMaker Studio Classic של SageMaker, לכל משתמש בדומיין SageMaker יש פרופיל משתמש מובהק. פרופיל זה כולל פרטים ספציפיים כמו תפקיד המשתמש ומזהה המשתמש שלו ב-Posix בנפח ה-EFS, בין נתונים ייחודיים אחרים. משתמשים ניגשים לפרופיל המשתמש האישי שלהם דרך אפליקציית Jupyter Server ייעודית, המחוברת באמצעות HTTPS/WSS בדפדפן האינטרנט שלהם. SageMaker Studio Classic משתמש בארכיטקטורת ליבה מרוחקת תוך שימוש בשילוב של סוגי אפליקציות Jupyter Server ו-Kernel Gateway, מה שמאפשר לשרתי מחשבים ניידים לקיים אינטראקציה עם ליבות במארחים מרוחקים. המשמעות היא שגרעיני Jupyter פועלים לא על המארח של שרת המחברת, אלא בתוך קונטיינרים של Docker על מארחים נפרדים. למעשה, המחברת שלך מאוחסנת בספריית הבית של EFS, ומריצה קוד מרחוק על מחשב אחר ענן מחשוב אלסטי של אמזון (Amazon EC2) מופע, אשר מכיל קונטיינר Docker בנוי מראש המצויד בספריות ML כגון PyTorch, TensorFlow, Scikit-Learn ועוד.

ארכיטקטורת הליבה המרוחקת ב- SageMaker Studio מציעה יתרונות בולטים במונחים של מדרגיות וגמישות. עם זאת, יש לו מגבלות, כולל מקסימום ארבע אפליקציות לכל סוג מופע וצווארי בקבוק פוטנציאליים עקב חיבורי HTTPS/WSS רבים לסוג מופע EC2 נפוץ. מגבלות אלו עלולות להשפיע לרעה על חווית המשתמש.

תרשים הארכיטקטורה הבא מתאר את הארכיטקטורה הקלאסית של SageMaker Studio. זה ממחיש את תהליך ההתחברות של המשתמש לאפליקציית Kernel Gateway דרך אפליקציית Jupyter Server, באמצעות דפדפן האינטרנט המועדף עליו.


על המחברים

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

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

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

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

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

ספוט_ימג

המודיעין האחרון

ספוט_ימג