Ulasan: Amazon SageMaker melakukan pengejaran

Ketika saya meninjau Amazon SageMaker pada tahun 2018, saya mencatat bahwa itu adalah pembelajaran mesin yang sangat skalabel dan layanan pembelajaran mendalam yang mendukung 11 algoritma sendiri, ditambah yang lain yang Anda berikan. Pengoptimalan hyperparameter masih dalam pratinjau, dan Anda perlu melakukan ETL dan rekayasa fitur Anda sendiri. 

Sejak saat itu, cakupan SageMaker telah berkembang, menambah notebook inti dengan IDE (SageMaker Studio) dan pembelajaran mesin otomatis (SageMaker Autopilot) dan menambahkan banyak layanan penting ke ekosistem secara keseluruhan, seperti yang ditunjukkan pada diagram di bawah ini. Ekosistem ini mendukung pembelajaran mesin dari persiapan hingga pembuatan model, pelatihan, dan penyesuaian hingga penerapan dan pengelolaan - dengan kata lain, ujung ke ujung.

Apa yang baru di SageMaker?

Apa yang baru? Mengingat bahwa saya terakhir melihat SageMaker tepat setelah dirilis, daftarnya agak panjang, tetapi mari kita mulai dengan layanan yang paling terlihat.

  • SageMaker Studio, IDE berdasarkan JupyterLab
  • SageMaker Autopilot, yang secara otomatis membangun dan melatih hingga 50 model rekayasa fitur yang dapat diperiksa di SageMaker Studio
  • SageMaker Ground Truth, yang membantu membangun dan mengelola set data pelatihan
  • Notebook SageMaker sekarang menawarkan komputasi elastis dan berbagi sekali klik
  • Eksperimen SageMaker, yang membantu developer memvisualisasikan dan membandingkan iterasi model pembelajaran mesin, parameter pelatihan, dan hasil
  • SageMaker Debugger, yang menyediakan pemantauan waktu nyata untuk model pembelajaran mesin guna meningkatkan akurasi prediktif, mengurangi waktu pelatihan, dan memfasilitasi penjelasan yang lebih baik
  • SageMaker Model Monitor, yang mendeteksi penyimpangan konsep untuk mengetahui saat performa model yang berjalan dalam produksi mulai menyimpang dari model asli yang dilatih

Peningkatan penting lainnya termasuk penggunaan opsional dari instans spot untuk notebook untuk mengurangi biaya; jenis instans P3dn.24xl baru yang mencakup delapan GPU V100; kerangka kerja TensorFlow yang dioptimalkan untuk AWS, yang mendekati skalabilitas linier saat melatih beberapa jenis jaringan neural; Amazon Elastic Inference, yang dapat menurunkan biaya inferensi secara dramatis; AWS Inferentia, yang merupakan chip inferensi pembelajaran mesin berperforma tinggi; dan algoritme baru, keduanya ada di dalam SageMaker dan tersedia di AWS Marketplace. Selain itu, SageMaker Neo mengompilasi model pembelajaran mendalam untuk dijalankan di perangkat komputasi edge, dan SageMaker RL (tidak ditampilkan di diagram) menyediakan layanan pembelajaran penguatan terkelola.

Studio SageMaker

JupyterLab adalah generasi berikutnya, antarmuka pengguna berbasis web untuk Project Jupyter. SageMaker Studio menggunakan JupyterLab sebagai dasar untuk IDE yang merupakan pembelajaran mesin online terpadu dan workstation pembelajaran mendalam dengan fitur kolaborasi, manajemen eksperimen, integrasi Git, dan pembuatan model otomatis.

Tangkapan layar di bawah ini menunjukkan cara menginstal contoh SageMaker ke dalam instance SageMaker Studio, menggunakan tab terminal dan baris perintah Git. Petunjuk untuk melakukan ini ada di README untuk contoh ini, yang merupakan jenis Catch-22. Anda dapat membacanya dengan menelusuri contoh Memulai di GitHub, atau dengan mengkloning repositori ke mesin Anda sendiri dan membacanya di sana.

Contoh Memulai Amazon berisi buku catatan yang disebut xgboost_customer_churn_studio.ipynb, yang diadaptasi dari entri blog tentang memprediksi churn pelanggan. Saat notebook Jupyter pergi, itu memiliki banyak penjelasan, seperti yang Anda lihat pada tangkapan layar di bawah ini.

Contohnya melanjutkan untuk menjalankan pelatihan tambahan dengan algoritma XGBoost eksternal yang dimodifikasi untuk menyimpan informasi debugging ke Amazon S3 dan untuk menjalankan tiga aturan debugging. Ini dalam apa yang disebut mode kerangka kerja , artinya ini bukan algoritme bawaan.

Setelah semua pelatihan selesai, Anda dapat membandingkan hasilnya di tab Eksperimen.

Contoh tersebut kemudian menghosting model menggunakan deploymetodenya dan menguji titik akhir yang diterapkan menggunakan predictmetodenya. Terakhir, ini membuat tugas dasar dengan set data pelatihan dan tugas pemantauan terjadwal yang melaporkan pelanggaran batasan apa pun.

Ngomong-ngomong, XGBoost hanyalah salah satu dari banyak algoritme yang dibangun di SageMaker. Daftar lengkapnya ditampilkan pada tabel di bawah - dan Anda selalu dapat membuat model Anda sendiri.

SageMaker Autopilot

Misalkan Anda tidak tahu cara melakukan rekayasa fitur dan tidak terlalu paham dengan berbagai algoritme yang tersedia untuk berbagai tugas pembelajaran mesin. Anda masih dapat menggunakan SageMaker - biarkan berjalan dengan autopilot. SageMaker Autopilot mampu menangani set data hingga 5 GB.

Pada tangkapan layar di bawah ini kami menjalankan Pemasaran Langsung dengan contoh Autopilot Amazon SageMaker. Ini dimulai dengan mengunduh data, membuka ritsletingnya, mengunggahnya ke bucket S3, dan meluncurkan pekerjaan Autopilot dengan memanggil API create_auto_ml_job. Kemudian kami melacak kemajuan pekerjaan saat menganalisis data, melakukan rekayasa fitur, dan melakukan penyesuaian model, seperti yang ditunjukkan di bawah ini.

Contoh tersebut kemudian mengambil model terbaik, menggunakannya untuk membuat dan menghosting titik akhir, dan menjalankan tugas transformasi untuk menambahkan prediksi model ke salinan data pengujian. Akhirnya, ia menemukan dua buku catatan yang dibuat oleh pekerjaan Autopilot.

Ada antarmuka pengguna untuk hasil Autopilot, meskipun tidak jelas. Jika Anda mengklik kanan pada percobaan otomatis, Anda dapat melihat semua percobaan dengan nilai objektifnya, seperti yang ditunjukkan di bawah ini.

Kebenaran Dasar SageMaker

Jika Anda beruntung, semua data Anda akan diberi label, atau diberi keterangan, dan siap digunakan sebagai set data pelatihan. Jika tidak, Anda dapat membuat anotasi data secara manual (lelucon standarnya adalah Anda memberikan tugas kepada siswa pascasarjana Anda), atau Anda dapat menggunakan proses pembelajaran semi-supervisi yang menggabungkan anotasi manusia dengan anotasi otomatis. SageMaker Ground Truth adalah proses pelabelan seperti itu.

Seperti yang Anda lihat pada diagram di bawah ini, Ground Truth dapat diterapkan pada sejumlah tugas berbeda. Dengan Ground Truth, Anda dapat menggunakan pekerja baik dari Amazon Mechanical Turk, atau perusahaan vendor yang Anda pilih, atau tenaga kerja internal pribadi bersama dengan pembelajaran mesin untuk memungkinkan Anda membuat set data berlabel.

Amazon menyediakan tujuh penelusuran yang mendemonstrasikan berbagai cara menggunakan SageMaker Ground Truth.

SageMaker Neo

Hingga saat ini, menerapkan model terlatih pada perangkat edge - smartphone dan perangkat IoT, misalnya - sulit dilakukan. Ada solusi khusus, seperti TensorFlow Lite untuk model TensorFlow dan TensorRT untuk perangkat Nvidia, tetapi SageMaker Neo mengompilasi dan secara otomatis mengoptimalkan TensorFlow, Apache MXNet, PyTorch, ONNX, dan model XGBoost untuk diterapkan pada prosesor ARM, Intel, dan Nvidia juga. sebagai perangkat Qualcomm, Cadence, dan Xilinx.

Menurut AWS, Neo dapat menggandakan kinerja model dan menyusutkannya cukup untuk berjalan di perangkat edge dengan jumlah memori terbatas.

Opsi penerapan inferensi SageMaker

Dalam hal komputasi, penyimpanan, transfer jaringan, dll., Menerapkan model untuk inferensi produksi sering kali menyumbang 90 persen dari biaya pembelajaran mendalam, sedangkan pelatihan hanya menyumbang 10 persen dari biaya. AWS menawarkan banyak cara untuk mengurangi biaya inferensi.

Salah satunya adalah Inferensi Elastis. AWS mengatakan bahwa Elastic Inference dapat mempercepat throughput dan mengurangi latensi untuk mendapatkan inferensi real-time dari model deep learning Anda yang diterapkan sebagai model yang dihosting Amazon SageMaker, tetapi dengan biaya yang lebih rendah dari penggunaan instans GPU untuk titik akhir Anda. Inferensi Elastis mempercepat inferensi dengan memungkinkan Anda memasang GPU pecahan ke semua instans Amazon SageMaker.

Inferensi Elastis didukung dalam versi TensorFlow, Apache MXNet, dan PyTorch yang mendukung Inferensi Elastis. Untuk menggunakan kerangka pembelajaran mendalam lainnya, ekspor model Anda dengan menggunakan ONNX, lalu impor model Anda ke MXNet.

Jika Anda membutuhkan lebih dari 32 TFLOPS per akselerator yang dapat Anda peroleh dari Elastic Inference, Anda dapat menggunakan instans EC2 G4, yang memiliki GPU Nvidia T4, atau instans EC2 Inf1, yang memiliki chip akselerator kustom AWS Inferentia. Jika Anda memerlukan kecepatan chip Inferentia, Anda dapat menggunakan AWS Neuron SDK untuk mengompilasi model pembelajaran mendalam Anda ke dalam Neuron Executable File Format (NEFF), yang kemudian dimuat oleh driver runtime Neuron untuk menjalankan permintaan input inferensi di Inferentia keripik.

Pada titik ini, pratinjau Amazon SageMaker Studio cukup baik untuk digunakan untuk pembelajaran mesin ujung ke ujung dan pembelajaran mendalam: persiapan data, pelatihan model, penerapan model, dan pemantauan model. Meskipun pengalaman pengguna masih menyisakan beberapa hal yang diinginkan, seperti penemuan fungsionalitas yang lebih baik, Amazon SageMaker sekarang kompetitif dengan lingkungan pembelajaran mesin yang tersedia di cloud lain.

-

Biaya: $ 0,0464 hingga $ 34,272 per jam instans untuk komputasi, bergantung pada jumlah CPU dan GPU; Penyimpanan SSD: $ 0,14 per GB-bulan; Transfer data: $ 0,016 per GB masuk atau keluar. 

Platform: Diinangi di Amazon Web Services.