דגמי ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

מודלים ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API

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

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

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

סקירה כללית של JumpStart

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

  • פרוס מודלים מאומנים מראש למשימות ML נפוצות – JumpStart מאפשר לך לפתור משימות ML נפוצות ללא מאמץ פיתוח על ידי מתן פריסה קלה של מודלים שהוכשרו מראש על מערכי נתונים גדולים זמינים לציבור. קהילת המחקר של ML השקיעה מאמץ רב כדי להפוך את רוב המודלים שפותחו לאחרונה לזמינים לשימוש הציבור. JumpStart מארח אוסף של למעלה מ-300 דגמים, המשתרעים על 15 משימות ה-ML הפופולריות ביותר כגון זיהוי אובייקטים, סיווג טקסט ויצירת טקסט, מה שמקל על מתחילים להשתמש בהם. דגמים אלה נשאבים ממרכזי דגמים פופולריים, כגון TensorFlow, PyTorch, Hugging Face ו-MXNet Hub.
  • כוונן דגמים מאומנים מראש - JumpStart מאפשר לך לכוונן דגמים מאומנים מראש ללא צורך בכתיבת אלגוריתם אימון משלך. ב-ML נקראת היכולת להעביר את הידע הנלמד בתחום אחד לתחום אחר העברת למידה. אתה יכול להשתמש בלימוד העברה כדי לייצר מודלים מדויקים על מערכי הנתונים הקטנים יותר שלך, עם עלויות הדרכה נמוכות בהרבה מאלו הכרוכות באימון המודל המקורי מאפס. JumpStart כולל גם אלגוריתמי אימון פופולריים המבוססים על LightGBM, CatBoost, XGBoost ו-Skit-learn שתוכלו לאמן מאפס לרגרסיה וסיווג נתונים טבלאיים.
  • השתמש בפתרונות מובנים מראש – JumpStart מספק קבוצה של 17 פתרונות מובנים מראש עבור מקרי שימוש נפוצים ב-ML, כגון חיזוי ביקוש ויישומים תעשייתיים ופיננסיים, שתוכל לפרוס בכמה קליקים בלבד. הפתרונות הם יישומי ML מקצה לקצה המחברים יחד שירותי AWS שונים כדי לפתור מקרה שימוש עסקי מסוים. הם משתמשים AWS CloudFormation תבניות וארכיטקטורות עזר לפריסה מהירה, מה שאומר שהן ניתנות להתאמה אישית מלאה.
  • השתמש בדוגמאות מחברת עבור אלגוריתמים של SageMaker – SageMaker מספקת חבילה של אלגוריתמים מובנים לעזור למדעני נתונים ולעוסקים ב-ML להתחיל בהדרכה ובפריסה של מודלים של ML במהירות. JumpStart מספקת מחברות לדוגמה שבהן תוכל להשתמש כדי להשתמש במהירות באלגוריתמים אלה.
  • נצל את היתרון של סרטוני הדרכה ובלוגים – JumpStart מספקת גם פוסטים וסרטונים רבים בבלוג שמלמדים אותך כיצד להשתמש בפונקציות שונות בתוך SageMaker.

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

משימות ML נתמכות ב-JumpStart ומחברות לדוגמה של API

JumpStart תומך כרגע ב-15 ממשימות ה-ML הפופולריות ביותר; 13 מהן משימות מבוססות חזון ו-NLP, מתוכן 8 תומכות בכוונון עדין ללא קוד. זה גם תומך בארבעה אלגוריתמים פופולריים למידול נתונים טבלאי. המשימות והקישורים למחברות לדוגמה שלהם מסוכמים בטבלה הבאה.

המשימות הסקה עם דגמים מאומנים מראש הדרכה על מערך נתונים מותאם אישית נתמכות מסגרות מחברות לדוגמה
סיווג תמונות כן כן PyTorch, TensorFlow מבוא ל-JumpStart - סיווג תמונה
זיהוי אובייקט כן כן PyTorch, TensorFlow, MXNet מבוא ל-JumpStart - זיהוי אובייקטים
פילוח סמנטי כן כן MX Net מבוא ל-JumpStart - פילוח סמנטי
פילוח מופע כן לא MX Net מבוא ל-JumpStart - פילוח מופעים
הטבעת תמונה כן לא TensorFlow, MXNet מבוא ל-JumpStart - הטבעת תמונה
סיווג טקסט כן כן TensorFlow מבוא ל-JumpStart - סיווג טקסט
סיווג צמד משפטים כן כן TensorFlow, פנים מחבקות מבוא ל-JumpStart - סיווג צמד משפטים
תשובת שאלה כן כן PyTorch מבוא ל-JumpStart - תשובה לשאלות
זיהוי ישויות בשם כן לא פנים מחבקות מבוא ל-JumpStart - זיהוי ישות בשם
סיכום טקסטים כן לא פנים מחבקות מבוא ל-JumpStart - סיכום טקסט
יצירת טקסט כן לא פנים מחבקות מבוא ל-JumpStart - יצירת טקסט
מכונת תרגום כן לא פנים מחבקות מבוא ל-JumpStart - תרגום מכונה
הטבעת טקסט כן לא TensorFlow, MXNet מבוא ל-JumpStart - הטבעת טקסט
סיווג טבלאי כן כן LightGBM, CatBoost, XGBoost, לומד ליניארי מבוא ל-JumpStart – סיווג טבלאי – LightGBM, CatBoost
מבוא ל-JumpStart - סיווג טבלאי - XGBoost, לומד לינארי
רגרסיה טבלאית כן כן LightGBM, CatBoost, XGBoost, לומד ליניארי מבוא ל-JumpStart - רגרסיה טבלאית - LightGBM, CatBoost
מבוא ל-JumpStart - רגרסיה טבלאית - XGBoost, לומד ליניארי

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

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

כוונן ופריסה של מודל זיהוי אובייקטים עם ממשקי API של JumpStart

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

אנו עוברים את השלבים הבאים ברמה גבוהה:

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

הפעל מסקנות על המודל שהוכשר מראש

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

אחזר פריטי JumpStart ופרוס נקודת קצה

SageMaker היא פלטפורמה המבוססת על מכולות Docker. JumpStart משתמש ב-framework הספציפי הזמין מכולות ללמידה עמוקה של SageMaker (DLCs). אנו מביאים חבילות נוספות, כמו גם סקריפטים לטיפול באימון והסקת מסקנות עבור המשימה שנבחרה. לבסוף, חפצי המודל שהוכשרו מראש מובאים בנפרד model_uris, המספק גמישות לפלטפורמה. אתה יכול להשתמש בכל מספר של דגמים שהוכשרו מראש לאותה משימה עם תסריט הדרכה או מסקנות בודד. ראה את הקוד הבא:

infer_model_id, infer_model_version = "pytorch-od-nvidia-ssd", "*" # Retrieve the inference docker container uri. This is the base container PyTorch image for the model selected above. deploy_image_uri = image_uris.retrieve(region=None, framework=None, image_scope="inference",model_id=infer_model_id, model_version=infer_model_version, instance_type=inference_instance_type) # Retrieve the inference script uri. This includes all dependencies and scripts for model loading, inference handling etc.
deploy_source_uri = script_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, script_scope="inference") # Retrieve the base model uri. This includes the pre-trained nvidia-ssd model and parameters.
base_model_uri = model_uris.retrieve(model_id=infer_model_id, model_version=infer_model_version, model_scope="inference")

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

# Create the SageMaker model instance
model = Model(image_uri=deploy_image_uri, source_dir=deploy_source_uri, model_data=base_model_uri, entry_point="inference.py", role=aws_role, predictor_cls=Predictor, name=endpoint_name) # deploy the Model. Note that we need to pass Predictor class when we deploy model through Model class for being able to run inference through the sagemaker API.
base_model_predictor = model.deploy(initial_instance_count=1, instance_type=inference_instance_type, predictor_cls=Predictor, endpoint_name=endpoint_name)

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

שאל את נקודת הקצה, נתח את התגובה והצג תחזיות

כדי לקבל מסקנות ממודל פרוס, תמונת קלט צריכה להיות מסופקת בפורמט בינארי יחד עם סוג קבל. ב-JumpStart, אתה יכול להגדיר את מספר התיבות התוחמות שהוחזרו. בקטע הקוד הבא, אנו חוזים עשר תיבות תוחמות לתמונה על ידי הוספה ;n_predictions=10 ל Accept. כדי לחזות תיבות xx, אתה יכול לשנות את זה ל ;n_predictions=xx , או קבל את כל התיבות החזויות על ידי השמטה ;n_predictions=xx לגמרי.

def query(model_predictor, image_file_name): with open(image_file_name, "rb") as file: input_img_rb = file.read() return model_predictor.predict(input_img_rb,{ "ContentType": "application/x-image", "Accept": "application/json;verbose;n_predictions=10"}) query_response = query(base_model_predictor, Naxos_Taverna)

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

normalized_boxes, classes_names, confidences = parse_response(query_response)
display_predictions(Naxos_Taverna, normalized_boxes, classes_names, confidences)

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

דגמי ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.

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

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

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

אחזר חפצי אימון

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

train_model_id, train_model_version, train_scope = "mxnet-od-ssd-512-vgg16-atrous-coco","*","training"
training_instance_type = "ml.p2.xlarge" # Retrieve the docker image. This is the base container MXNet image for the model selected above. train_image_uri = image_uris.retrieve(region=None, framework=None, model_id=train_model_id, model_version=train_model_version, image_scope=train_scope,instance_type=training_instance_type) # Retrieve the training script and dependencies. This contains all the necessary files including data processing, model training etc.
train_source_uri = script_uris.retrieve(model_id=train_model_id, model_version=train_model_version, script_scope=train_scope) # Retrieve the pre-trained model tarball to further fine-tune
train_model_uri = model_uris.retrieve(
model_id=train_model_id, model_version=train_model_version, model_scope=train_scope)

אימון ריצה

כדי להפעיל אימון, אנו פשוט מאכילים את החפצים הנדרשים יחד עם כמה פרמטרים נוספים ל-a SageMaker Estimator ולהתקשר ל .fit פוּנקצִיָה:

# Create SageMaker Estimator instance
od_estimator = Estimator( role=aws_role, image_uri=train_image_uri, source_dir=train_source_uri, model_uri=train_model_uri, entry_point="transfer_learning.py", # Entry-point file in source_dir and present in train_source_uri. instance_count=1, instance_type=training_instance_type, max_run=360000, hyperparameters=hyperparameters, output_path=s3_output_location,
) # Launch a SageMaker Training job by passing s3 path of the training data
od_estimator.fit({"training": training_dataset_s3_path}, logs=True)

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

סיכום

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

אנו מצפים לשמוע ממך בזמן שאתה מתנסה עם JumpStart.


על הכותבים

דגמי ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר Vivek Madan הוא מדען יישומי בצוות אמזון SageMaker JumpStart. הוא קיבל את הדוקטורט שלו מאוניברסיטת אילינוי באורבנה-שמפיין והיה חוקר פוסט-דוקטורט בג'ורג'יה טק. הוא חוקר פעיל בלמידת מכונה ועיצוב אלגוריתמים, ופרסם מאמרים בכנסים של EMNLP, ICLR, COLT, FOCS ו-SODA.

דגמי ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ז'ואאו מורה הוא אדריכל פתרונות AI/ML מומחה בשירותי האינטרנט של אמזון. הוא מתמקד בעיקר במקרי שימוש ב-NLP ובעזרה ללקוחות לייעל את ההדרכה והפריסה של מודל למידה עמוקה.

דגמי ואלגוריתמים של אמזון SageMaker JumpStart זמינים כעת באמצעות API PlatoBlockchain Data Intelligence. חיפוש אנכי. איי.ד"ר אשיש חתן הוא מדען יישומי בכיר עם אמזון SageMaker JumpStart ו אלגוריתמים מובנים של Amazon SageMaker ומסייע בפיתוח אלגוריתמים של למידת מכונה. הוא חוקר פעיל בלמידת מכונה והסקה סטטיסטית ופרסם מאמרים רבים בכנסים NeurIPS, ICML, ICLR, JMLR ו-ACL.

בול זמן:

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