Model dan algoritme JumpStart Amazon SageMaker kini tersedia melalui API PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Model dan algoritma JumpStart Amazon SageMaker sekarang tersedia melalui API

Pada bulan Desember 2020, AWS mengumumkan ketersediaan umum of Mulai Lompatan Amazon SageMaker, kemampuan Amazon SageMaker yang membantu Anda memulai machine learning (ML) dengan cepat dan mudah. JumpStart menyediakan penyetelan satu klik dan penerapan berbagai model terlatih di seluruh tugas ML populer, serta pilihan solusi ujung ke ujung yang memecahkan masalah bisnis umum. Fitur-fitur ini menghilangkan beban berat dari setiap langkah proses ML, membuatnya lebih mudah untuk mengembangkan model berkualitas tinggi dan mengurangi waktu penerapan.

Sebelumnya, semua konten JumpStart hanya tersedia melalui Studio Amazon SageMaker, yang menyediakan a antarmuka grafis yang ramah pengguna untuk berinteraksi dengan fitur tersebut. Hari ini, kami dengan senang hati mengumumkan peluncuran yang mudah digunakan API JumpStart sebagai perpanjangan dari SageMaker Python SDK. API ini memungkinkan Anda untuk menerapkan dan menyempurnakan secara terprogram banyak pilihan model pra-pelatihan yang didukung JumpStart pada kumpulan data Anda sendiri. Peluncuran ini membuka kunci penggunaan kemampuan JumpStart dalam alur kerja kode Anda, saluran pipa MLOps, dan di mana pun Anda berinteraksi dengan SageMaker melalui SDK.

Dalam posting ini, kami memberikan pembaruan tentang status kemampuan JumpStart saat ini dan memandu Anda melalui alur penggunaan JumpStart API dengan contoh kasus penggunaan.

Ikhtisar JumpStart

JumpStart adalah produk multi-segi yang mencakup berbagai kemampuan untuk membantu Anda memulai ML dengan cepat di SageMaker. Pada saat penulisan, JumpStart memungkinkan Anda untuk melakukan hal berikut:

  • Terapkan model terlatih untuk tugas ML umum โ€“ JumpStart memungkinkan Anda untuk menyelesaikan tugas ML umum tanpa upaya pengembangan dengan menyediakan penerapan model yang telah dilatih sebelumnya dengan mudah pada kumpulan data besar yang tersedia untuk umum. Komunitas riset ML telah berupaya keras untuk membuat sebagian besar model yang dikembangkan baru-baru ini tersedia untuk umum untuk digunakan. JumpStart menampung koleksi lebih dari 300 model, mencakup 15 tugas ML paling populer seperti deteksi objek, klasifikasi teks, dan pembuatan teks, sehingga memudahkan pemula untuk menggunakannya. Model ini diambil dari hub model populer, seperti TensorFlow, PyTorch, Hugging Face, dan MXNet Hub.
  • Sempurnakan model yang telah dilatih sebelumnya โ€“ JumpStart memungkinkan Anda untuk menyempurnakan model pra-latihan tanpa perlu menulis algoritme pelatihan Anda sendiri. Dalam ML, kemampuan untuk mentransfer pengetahuan yang dipelajari dalam satu domain ke domain lain disebut belajar transfer. Anda dapat menggunakan pembelajaran transfer untuk menghasilkan model yang akurat pada kumpulan data Anda yang lebih kecil, dengan biaya pelatihan yang jauh lebih rendah daripada yang terlibat dalam pelatihan model asli dari awal. JumpStart juga menyertakan algoritme pelatihan populer berdasarkan LightGBM, CatBoost, XGBoost, dan Scikit-learn yang dapat Anda latih dari awal untuk regresi dan klasifikasi data tabular.
  • Gunakan solusi yang dibuat sebelumnya โ€“ JumpStart menyediakan satu set 17 solusi yang dibuat sebelumnya untuk kasus penggunaan ML umum, seperti perkiraan permintaan dan aplikasi industri dan keuangan, yang dapat Anda terapkan hanya dengan beberapa klik. Solusinya adalah aplikasi ML ujung ke ujung yang menyatukan berbagai layanan AWS untuk menyelesaikan kasus penggunaan bisnis tertentu. Mereka menggunakan Formasi AWS Cloud template dan arsitektur referensi untuk penerapan cepat, yang berarti dapat disesuaikan sepenuhnya.
  • Gunakan contoh buku catatan untuk algoritme SageMaker โ€“ SageMaker menyediakan rangkaian algoritme bawaan untuk membantu ilmuwan data dan praktisi ML memulai pelatihan dan penerapan model ML dengan cepat. JumpStart menyediakan contoh buku catatan yang dapat Anda gunakan untuk menggunakan algoritme ini dengan cepat.
  • Manfaatkan video pelatihan dan blog โ€“ JumpStart juga menyediakan banyak posting blog dan video yang mengajari Anda cara menggunakan berbagai fungsi dalam SageMaker.

JumpStart menerima pengaturan VPC khusus dan kunci enkripsi KMS, sehingga Anda dapat menggunakan model dan solusi yang tersedia dengan aman di lingkungan perusahaan Anda. Anda dapat meneruskan pengaturan keamanan Anda ke JumpStart dalam SageMaker Studio atau melalui SageMaker Python SDK.

Tugas ML yang didukung JumpStart dan Notebook contoh API

JumpStart saat ini mendukung 15 tugas ML paling populer; 13 di antaranya adalah tugas berbasis visi dan NLP, 8 di antaranya mendukung penyempurnaan tanpa kode. Ini juga mendukung empat algoritma populer untuk pemodelan data tabular. Tugas dan tautan ke buku catatan sampelnya dirangkum dalam tabel berikut.

tugas Inferensi dengan model yang telah dilatih sebelumnya Pelatihan tentang kumpulan data khusus Kerangka kerja yang didukung Contoh Notebook
Klasifikasi Gambar iya nih iya nih PyTorch, TensorFlow Pengantar JumpStart โ€“ Klasifikasi Gambar
Deteksi Objek iya nih iya nih PyTorch, TensorFlow, MXNet Pengantar JumpStart โ€“ Deteksi Objek
Segmentasi Semantik iya nih iya nih MX Net Pengantar JumpStart โ€“ Semantik Segmentasi
Segmentasi Instance iya nih tidak MX Net Pengantar JumpStart โ€“ Segmentasi Instance
Penyematan Gambar iya nih tidak TensorFlow, MXNet Pengantar JumpStart โ€“ Penyematan Gambar
Klasifikasi Teks iya nih iya nih TensorFlow Pengantar JumpStart โ€“ Klasifikasi Teks
Klasifikasi Pasangan Kalimat iya nih iya nih TensorFlow, Memeluk Wajah Pengantar JumpStart โ€“ Klasifikasi Pasangan Kalimat
Menjawab pertanyaan iya nih iya nih PyTorch Pengantar JumpStart โ€“ Menjawab Pertanyaan
Pengakuan Entitas Bernama iya nih tidak Wajah Memeluk Pengantar JumpStart โ€“ Pengenalan Entitas Bernama
Peringkasan Teks iya nih tidak Wajah Memeluk Pengantar JumpStart โ€“ Peringkasan Teks
Generasi Teks iya nih tidak Wajah Memeluk Pengantar JumpStart โ€“ Pembuatan Teks
Mesin penerjemah iya nih tidak Wajah Memeluk Pengantar JumpStart โ€“ Terjemahan Mesin
Penyematan Teks iya nih tidak TensorFlow, MXNet Pengantar JumpStart โ€“ Penyematan Teks
Klasifikasi Tabular iya nih iya nih LightGBM, CatBoost, XGBoost, Pembelajar Linear Pengantar JumpStart โ€“ Klasifikasi Tabular โ€“ LightGBM, CatBoost
Pengantar JumpStart โ€“ Klasifikasi Tabular โ€“ XGBoost, Linear Learner
Regresi Tabular iya nih iya nih LightGBM, CatBoost, XGBoost, Pembelajar Linear Pengantar JumpStart โ€“ Regresi Tabular โ€“ LightGBM, CatBoost
Pengantar JumpStart โ€“ Regresi Tabular โ€“ XGBoost, Pembelajar Linier

Bergantung pada tugas, contoh buku catatan yang ditautkan dalam tabel sebelumnya dapat memandu Anda pada semua atau sebagian dari proses berikut ini:

  • Pilih model pra-pelatihan yang didukung JumpStart untuk tugas spesifik Anda.
  • Selenggarakan model yang telah dilatih sebelumnya, dapatkan prediksi darinya secara real-time, dan tampilkan hasilnya secara memadai.
  • Sempurnakan model yang sudah terlatih dengan pilihan hyperparameter Anda sendiri dan terapkan untuk inferensi.

Sempurnakan dan terapkan model deteksi objek dengan API JumpStart

Di bagian berikut, kami memberikan panduan langkah demi langkah tentang cara menggunakan API JumpStart baru pada tugas representatif deteksi objek. Kami menunjukkan cara menggunakan model deteksi objek yang telah dilatih sebelumnya untuk mengidentifikasi objek dari kumpulan kelas yang telah ditentukan sebelumnya dalam gambar dengan kotak pembatas. Terakhir, kami menunjukkan cara menyempurnakan model yang telah dilatih sebelumnya pada kumpulan data Anda sendiri untuk mendeteksi objek dalam gambar yang spesifik untuk kebutuhan bisnis Anda, cukup dengan membawa data Anda sendiri. Kami menyediakan buku catatan yang menyertai untuk panduan ini.

Kami berjalan melalui langkah-langkah tingkat tinggi berikut:

  1. Jalankan inferensi pada model yang telah dilatih sebelumnya.
    1. Ambil artefak JumpStart dan terapkan titik akhir.
    2. Membuat kueri titik akhir, mengurai respons, dan menampilkan prediksi model.
  2. Sempurnakan model yang telah dilatih sebelumnya pada kumpulan data Anda sendiri.
    1. Ambil artefak pelatihan.
    2. Jalankan pelatihan.

Jalankan inferensi pada model yang telah dilatih sebelumnya

Di bagian ini, kami memilih model terlatih yang sesuai di JumpStart, menerapkan model ini ke titik akhir SageMaker, dan menunjukkan cara menjalankan inferensi pada titik akhir yang diterapkan. Semua langkah tersedia di menyertai notebook Jupyter.

Ambil artefak JumpStart dan terapkan titik akhir

SageMaker adalah platform berdasarkan wadah Docker. JumpStart menggunakan kerangka khusus yang tersedia Wadah Pembelajaran Mendalam SageMaker (DLC). Kami mengambil paket tambahan, serta skrip untuk menangani pelatihan dan inferensi untuk tugas yang dipilih. Akhirnya, artefak model yang telah dilatih sebelumnya diambil secara terpisah dengan model_uris, yang memberikan fleksibilitas pada platform. Anda dapat menggunakan sejumlah model yang telah dilatih sebelumnya untuk tugas yang sama dengan satu skrip pelatihan atau inferensi. Lihat kode berikut:

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")

Selanjutnya, kami memasukkan sumber daya ke dalam a Model Pembuat Sage contoh dan gunakan titik akhir:

# 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)

Penerapan titik akhir mungkin memerlukan waktu beberapa menit untuk diselesaikan.

Kueri titik akhir, urai respons, dan tampilkan prediksi

Untuk mendapatkan inferensi dari model yang digunakan, gambar input perlu disediakan dalam format biner bersama dengan tipe terima. Di JumpStart, Anda dapat menentukan jumlah kotak pembatas yang dikembalikan. Dalam cuplikan kode berikut, kami memprediksi sepuluh kotak pembatas per gambar dengan menambahkan ;n_predictions=10 untuk Accept. Untuk memprediksi kotak xx, Anda dapat mengubahnya menjadi ;n_predictions=xx , atau dapatkan semua kotak yang diprediksi dengan menghilangkan ;n_predictions=xx sepenuhnya.

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)

Cuplikan kode berikut memberi Anda gambaran sekilas tentang seperti apa deteksi objek. Probabilitas yang diprediksi untuk setiap kelas objek divisualisasikan, bersama dengan kotak pembatasnya. Kami menggunakan parse_response dan display_predictions fungsi helper, yang didefinisikan dalam lampiran buku catatan.

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

Tangkapan layar berikut menunjukkan keluaran gambar dengan label prediksi dan kotak pembatas.

Model dan algoritme JumpStart Amazon SageMaker kini tersedia melalui API PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Sempurnakan model yang telah dilatih sebelumnya pada kumpulan data Anda sendiri

Model deteksi objek yang ada di JumpStart telah dilatih sebelumnya baik pada COCO atau dataset VOC. Namun, jika Anda perlu mengidentifikasi kelas objek yang tidak ada di set data pra-pelatihan asli, Anda harus menyempurnakan model pada set data baru yang menyertakan tipe objek baru ini. Misalnya, jika Anda perlu mengidentifikasi peralatan dapur dan menjalankan inferensi pada model SSD terlatih yang diterapkan, model tersebut tidak mengenali karakteristik apa pun dari jenis gambar baru dan oleh karena itu outputnya salah.

Di bagian ini, kami menunjukkan betapa mudahnya menyempurnakan model yang telah dilatih sebelumnya untuk mendeteksi kelas objek baru menggunakan API JumpStart. Contoh kode lengkap dengan detail lebih lanjut tersedia di notebook terlampir.

Ambil artefak pelatihan

Artefak pelatihan mirip dengan artefak inferensi yang dibahas di bagian sebelumnya. Pelatihan membutuhkan wadah Docker dasar, yaitu wadah MXNet dalam kode contoh berikut. Paket tambahan apa pun yang diperlukan untuk pelatihan disertakan dengan skrip pelatihan di train_sourcer_uri. Model pra-terlatih dan parameternya dikemas secara terpisah.

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)

Jalankan pelatihan

Untuk menjalankan pelatihan, kami hanya memberi makan artefak yang diperlukan bersama dengan beberapa parameter tambahan untuk a Pengukur SageMaker dan panggil .fit fungsi:

# 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)

Saat algoritme berjalan, Anda dapat memantau kemajuannya baik di notebook SageMaker tempat Anda menjalankan kode itu sendiri, atau di amazoncloudwatch. Saat pelatihan selesai, artefak model yang disempurnakan diunggah ke Layanan Penyimpanan Sederhana Amazon (Amazon S3) lokasi keluaran yang ditentukan dalam konfigurasi pelatihan. Anda sekarang dapat menerapkan model dengan cara yang sama seperti model yang telah dilatih sebelumnya. Anda dapat mengikuti proses selanjutnya di notebook terlampir.

Kesimpulan

Dalam posting ini, kami menjelaskan nilai API JumpStart yang baru dirilis dan cara menggunakannya. Kami menyediakan tautan ke 17 buku catatan contoh untuk berbagai tugas ML yang didukung di JumpStart, dan memandu Anda melalui buku catatan pendeteksi objek.

Kami berharap dapat mendengar dari Anda saat Anda bereksperimen dengan JumpStart.


Tentang Penulis

Model dan algoritme JumpStart Amazon SageMaker kini tersedia melalui API PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Dr Vivek Madan adalah Ilmuwan Terapan dengan tim JumpStart Amazon SageMaker. Dia mendapatkan gelar PhD dari University of Illinois di Urbana-Champaign dan merupakan Peneliti Pasca-Doktoral di Georgia Tech. Dia adalah peneliti aktif dalam pembelajaran mesin dan desain algoritma, dan telah menerbitkan makalah di konferensi EMNLP, ICLR, COLT, FOCS, dan SODA.

Model dan algoritme JumpStart Amazon SageMaker kini tersedia melalui API PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Joรฃo Moura adalah Arsitek Solusi Spesialis AI/ML di Amazon Web Services. Dia sebagian besar berfokus pada kasus penggunaan NLP dan membantu pelanggan mengoptimalkan pelatihan dan penerapan model Deep Learning.

Model dan algoritme JumpStart Amazon SageMaker kini tersedia melalui API PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Dr Ashish Khetan adalah Ilmuwan Terapan Senior dengan Mulai Lompatan Amazon SageMaker dan Algoritme bawaan Amazon SageMaker dan membantu mengembangkan algoritme pembelajaran mesin. Dia adalah peneliti aktif dalam pembelajaran mesin dan inferensi statistik dan telah menerbitkan banyak makalah di konferensi NeurIPS, ICML, ICLR, JMLR, dan ACL.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS