مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API PlatoBlockchain Data Intelligence در دسترس هستند. جستجوی عمودی Ai.

مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API در دسترس هستند

در ماه دسامبر 2020 AWS در دسترس بودن عمومی را اعلام کرد of Amazon SageMaker JumpStart، قابلیتی از آمازون SageMaker که به شما کمک می کند تا به سرعت و به راحتی با یادگیری ماشینی (ML) شروع کنید. JumpStart تنظیم دقیق و استقرار طیف گسترده ای از مدل های از پیش آموزش داده شده را با یک کلیک در سراسر وظایف محبوب ML و همچنین مجموعه ای از راه حل های پایان به انتها که مشکلات رایج تجاری را حل می کند، ارائه می دهد. این ویژگی‌ها بار سنگین را از هر مرحله از فرآیند ML حذف می‌کنند و توسعه مدل‌های با کیفیت بالا را آسان‌تر می‌کنند و زمان استقرار را کاهش می‌دهند.

پیش از این، تمام محتوای JumpStart فقط از طریق در دسترس بود Amazon SageMaker Studioکه فراهم می کند رابط گرافیکی کاربر پسند برای تعامل با ویژگی امروز، ما هیجان زده هستیم که راه اندازی آسان برای استفاده را اعلام کنیم API های JumpStart به عنوان یک افزونه SageMaker Python SDK. این APIها به شما این امکان را می‌دهند که به صورت برنامه‌نویسی مجموعه‌ای از مدل‌های از پیش آموزش‌دیده‌شده با پشتیبانی از JumpStart را بر روی مجموعه‌داده‌های خود تنظیم و تنظیم کنید. این راه‌اندازی، استفاده از قابلیت‌های JumpStart را در جریان‌های کاری کد، خطوط لوله MLOps و هر جای دیگری که از طریق SDK با SageMaker تعامل دارید، باز می‌کند.

در این پست، به‌روزرسانی وضعیت فعلی قابلیت‌های 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 و Scikit-learn است که می‌توانید از ابتدا برای رگرسیون و طبقه‌بندی داده‌های جدولی آموزش دهید.
  • از راه حل های از پیش ساخته شده استفاده کنید - JumpStart مجموعه ای از 17 راه حل از پیش ساخته شده برای موارد رایج استفاده از ML، مانند پیش‌بینی تقاضا و برنامه‌های صنعتی و مالی، که می‌توانید تنها با چند کلیک آن‌ها را اجرا کنید. راه‌حل‌ها برنامه‌های ML سرتاسری هستند که سرویس‌های مختلف AWS را برای حل یک مورد استفاده تجاری خاص با هم ترکیب می‌کنند. آنها استفاده می کنند AWS CloudFormation قالب ها و معماری های مرجع برای استقرار سریع، به این معنی که آنها کاملا قابل تنظیم هستند.
  • از نمونه های نوت بوک برای الگوریتم های SageMaker استفاده کنید - SageMaker مجموعه ای از الگوریتم های داخلی برای کمک به دانشمندان داده و متخصصان ML برای شروع آموزش و به کارگیری سریع مدل‌های ML. JumpStart نمونه نوت بوک هایی را ارائه می دهد که می توانید برای استفاده سریع از این الگوریتم ها از آنها استفاده کنید.
  • از ویدیوها و وبلاگ های آموزشی استفاده کنید – JumpStart همچنین پست‌ها و ویدیوهای وبلاگ متعددی را ارائه می‌کند که به شما می‌آموزد چگونه از قابلیت‌های مختلف در SageMaker استفاده کنید.

JumpStart تنظیمات VPC سفارشی و کلیدهای رمزگذاری KMS را می پذیرد تا بتوانید از مدل ها و راه حل های موجود به طور ایمن در محیط سازمانی خود استفاده کنید. می توانید تنظیمات امنیتی خود را در SageMaker Studio یا از طریق SageMaker Python SDK به JumpStart منتقل کنید.

وظایف ML و Notebookهای نمونه API با پشتیبانی از JumpStart

JumpStart در حال حاضر از 15 مورد از محبوب ترین وظایف ML پشتیبانی می کند. 13 مورد از آنها وظایف مبتنی بر چشم انداز و NLP هستند که 8 مورد از تنظیم دقیق بدون کد پشتیبانی می کنند. همچنین از چهار الگوریتم محبوب برای مدل سازی داده های جدولی پشتیبانی می کند. وظایف و پیوندهای نمونه دفترچه یادداشت آنها در جدول زیر خلاصه شده است.

کار استنباط با مدل های از پیش آموزش دیده آموزش داده های سفارشی چارچوب های پشتیبانی می شود نمونه دفترچه یادداشت
طبقه بندی تصویر بله بله PyTorch، TensorFlow مقدمه ای بر JumpStart – طبقه بندی تصاویر
تشخیص شی بله بله PyTorch، TensorFlow، MXNet مقدمه ای بر JumpStart – تشخیص اشیا
تقسیم بندی معنایی بله بله MXNet مقدمه ای بر JumpStart – Semantic Segmentation
تقسیم بندی نمونه بله نه MXNet مقدمه ای بر JumpStart – Instance Segmentation
جاسازی تصویر بله نه TensorFlow، MXNet مقدمه ای بر جامپ استارت – جاسازی تصویر
طبقه بندی متن بله بله TensorFlow مقدمه ای بر JumpStart – طبقه بندی متن
طبقه بندی جفت جملات بله بله تنسورفلو، صورت در آغوش گرفته مقدمه ای بر JumpStart – دسته بندی جفت جملات
پاسخ به سوال بله بله PyTorch مقدمه ای بر جامپ استارت – پاسخ به سوال
شناسایی نهاد بله نه در آغوش کشیدن صورت مقدمه ای بر JumpStart - شناسایی موجودیت نامگذاری شده
خلاصه سازی متن بله نه در آغوش کشیدن صورت مقدمه ای بر JumpStart - خلاصه سازی متن
تولید متن بله نه در آغوش کشیدن صورت مقدمه ای بر JumpStart – تولید متن
ترجمه ماشین بله نه در آغوش کشیدن صورت مقدمه ای بر جامپ استارت – ترجمه ماشینی
جاسازی متن بله نه TensorFlow، MXNet مقدمه ای بر JumpStart – جاسازی متن
طبقه بندی جدولی بله بله LightGBM، CatBoost، XGBoost، Linear Learner مقدمه ای بر JumpStart – طبقه بندی جدولی – LightGBM، CatBoost
مقدمه ای بر JumpStart – طبقه بندی جدولی – XGBoost, Linear Learner
رگرسیون جدولی بله بله LightGBM، CatBoost، XGBoost، Linear Learner مقدمه ای بر JumpStart – رگرسیون جدولی – LightGBM، CatBoost
مقدمه ای بر JumpStart – رگرسیون جدولی – XGBoost, Linear Learner

بسته به وظیفه، نوت بوک های نمونه لینک شده در جدول قبل می توانند شما را در تمام یا زیر مجموعه ای از فرآیندهای زیر راهنمایی کنند:

  • یک مدل از پیش آموزش دیده با پشتیبانی از JumpStart برای کار خاص خود انتخاب کنید.
  • یک مدل از پیش آموزش دیده را میزبانی کنید، پیش‌بینی‌های آن را در زمان واقعی دریافت کنید و نتایج را به اندازه کافی نمایش دهید.
  • یک مدل از پیش آموزش‌دیده را با انتخاب فراپارامترهای خود به‌خوبی تنظیم کنید و آن را برای استنتاج به کار ببرید.

یک مدل تشخیص شی را با JumpStart API ها تنظیم و استقرار دهید

در بخش‌های بعدی، نحوه استفاده از APIهای JumpStart جدید در وظیفه نمایندگی تشخیص اشیا را به صورت گام به گام ارائه می‌کنیم. ما نشان می‌دهیم که چگونه از یک مدل تشخیص شی از پیش آموزش‌دیده برای شناسایی اشیا از مجموعه‌ای از کلاس‌های از پیش تعریف‌شده در یک تصویر با جعبه‌های محدود استفاده کنیم. در نهایت، ما نشان می‌دهیم که چگونه می‌توان یک مدل از پیش آموزش‌دیده را روی مجموعه داده‌های خود تنظیم کرد تا اشیاء موجود در تصاویر را که مختص نیازهای تجاری شما هستند، به سادگی با آوردن داده‌های خود شناسایی کنید. ما ارائه می دهیم دفترچه یادداشت همراه برای این راهنما.

ما مراحل سطح بالا زیر را طی می کنیم:

  1. استنتاج را بر روی مدل از پیش آموزش دیده اجرا کنید.
    1. آرتیفکت های JumpStart را بازیابی کنید و یک نقطه پایانی را مستقر کنید.
    2. نقطه پایانی را پرس و جو کنید، پاسخ را تجزیه کنید و پیش بینی های مدل را نمایش دهید.
  2. مدل از پیش آموزش داده شده را روی مجموعه داده های خود تنظیم دقیق کنید.
    1. مصنوعات آموزشی را بازیابی کنید.
    2. آموزش اجرا کنید.

استنتاج را بر روی مدل از پیش آموزش دیده اجرا کنید

در این بخش، یک مدل از پیش آموزش‌دیده مناسب را در JumpStart انتخاب می‌کنیم، این مدل را در یک نقطه پایانی SageMaker مستقر می‌کنیم و نحوه اجرای استنتاج بر روی نقطه پایانی مستقر شده را نشان می‌دهیم. تمام مراحل در دسترس هستند همراه دفترچه یادداشت Jupyter.

آرتیفکت های JumpStart را بازیابی کنید و یک نقطه پایانی را مستقر کنید

SageMaker یک پلتفرم مبتنی بر کانتینرهای Docker است. JumpStart از چارچوب خاص موجود استفاده می کند ظروف یادگیری عمیق SageMaker (DLC ها). ما هر بسته اضافی و همچنین اسکریپت هایی را برای رسیدگی به آموزش و استنتاج برای کار انتخاب شده دریافت می کنیم. در نهایت، مصنوعات مدل از پیش آموزش دیده به طور جداگانه با آنها واکشی می شوند 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")

در مرحله بعد، منابع را به a تغذیه می کنیم مدل 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)

تصویر زیر خروجی یک تصویر را با برچسب‌های پیش‌بینی و کادرهای محدود نشان می‌دهد.

مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API PlatoBlockchain Data Intelligence در دسترس هستند. جستجوی عمودی Ai.

یک مدل از پیش آموزش دیده را بر روی مجموعه داده های خود تنظیم دقیق کنید

مدل‌های تشخیص اشیاء موجود در JumpStart بر روی مجموعه داده‌های COCO یا VOC از قبل آموزش داده شده‌اند. با این حال، اگر شما نیاز به شناسایی کلاس‌های شی دارید که در مجموعه داده‌های پیش‌آموزشی اصلی وجود ندارند، باید مدل را بر روی یک مجموعه داده جدید که شامل این انواع شی جدید می‌شود، تنظیم کنید. به عنوان مثال، اگر شما نیاز به شناسایی ظروف آشپزخانه و استنتاج بر روی یک مدل SSD از پیش آموزش دیده دارید، مدل هیچ ویژگی از انواع تصاویر جدید را تشخیص نمی‌دهد و بنابراین خروجی نادرست است.

در این بخش، ما نشان می‌دهیم که تنظیم دقیق یک مدل از پیش آموزش‌دیده برای شناسایی کلاس‌های شی جدید با استفاده از JumpStart API چقدر آسان است. نمونه کد کامل با جزئیات بیشتر در موجود است دفترچه همراه.

مصنوعات آموزشی را بازیابی کنید

مصنوعات آموزشی مشابه مصنوعات استنتاجی هستند که در بخش قبل مورد بحث قرار گرفت. آموزش به یک کانتینر پایه داکر، یعنی ظرف 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 و تماس بگیرید .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 هستیم.


درباره نویسنده

مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API PlatoBlockchain Data Intelligence در دسترس هستند. جستجوی عمودی Ai.دکتر ویوک مدان یک دانشمند کاربردی با تیم آمازون SageMaker JumpStart است. او دکترای خود را از دانشگاه ایلینویز در Urbana-Champaign گرفت و یک محقق پسا دکترا در جورجیا تک بود. او یک محقق فعال در یادگیری ماشین و طراحی الگوریتم است و مقالاتی در کنفرانس های EMNLP، ICLR، COLT، FOCS و SODA منتشر کرده است.

مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API PlatoBlockchain Data Intelligence در دسترس هستند. جستجوی عمودی Ai.ژائو مورا یک معمار راه حل های تخصصی AI/ML در خدمات وب آمازون است. او بیشتر روی موارد استفاده NLP و کمک به مشتریان برای بهینه سازی آموزش و استقرار مدل یادگیری عمیق متمرکز است.

مدل‌ها و الگوریتم‌های Amazon SageMaker JumpStart اکنون از طریق API PlatoBlockchain Data Intelligence در دسترس هستند. جستجوی عمودی Ai.دکتر آشیش ختان دانشمند ارشد کاربردی با Amazon SageMaker JumpStart و الگوریتم های داخلی آمازون SageMaker و به توسعه الگوریتم های یادگیری ماشین کمک می کند. او یک محقق فعال در یادگیری ماشین و استنتاج آماری است و مقالات زیادی در کنفرانس های NeurIPS، ICML، ICLR، JMLR و ACL منتشر کرده است.

تمبر زمان:

بیشتر از آموزش ماشین AWS