Ulasan: Amazon SageMaker bermain mengejar ketinggalan

Semasa saya mengkaji Amazon SageMaker pada tahun 2018, saya menyatakan bahawa ia adalah perkhidmatan pembelajaran mesin dan pembelajaran mendalam yang sangat berskala yang menyokong 11 algoritma sendiri, ditambah dengan yang lain yang anda berikan. Pengoptimuman Hyperparameter masih dalam pratonton, dan anda perlu melakukan ETL anda sendiri dan kejuruteraan ciri. 

Sejak itu, ruang lingkup SageMaker telah berkembang, menambah notebook inti dengan IDE (SageMaker Studio) dan pembelajaran mesin automatik (SageMaker Autopilot) dan menambahkan sekumpulan perkhidmatan penting ke keseluruhan ekosistem, seperti yang ditunjukkan dalam rajah di bawah. Ekosistem ini menyokong pembelajaran mesin dari penyediaan melalui pembuatan model, latihan, dan penyesuaian hingga penggunaan dan pengurusan - dengan kata lain, dari ujung ke ujung.

Apa yang baru di SageMaker?

Apa yang baru? Memandangkan saya terakhir melihat SageMaker setelah dikeluarkan, senarai agak panjang, tetapi mari kita mulakan dengan perkhidmatan yang paling kelihatan.

  • SageMaker Studio, IDE berdasarkan JupyterLab
  • SageMaker Autopilot, yang secara automatik membangun dan melatih hingga 50 model rekayasa ciri yang dapat diperiksa di SageMaker Studio
  • SageMaker Ground Truth, yang membantu membina dan menguruskan set data latihan
  • Notebook SageMaker kini menawarkan perkiraan elastik dan perkongsian satu klik
  • SageMaker Experiments, yang membantu pembangun memvisualisasikan dan membandingkan lelaran model pembelajaran mesin, parameter latihan, dan hasil
  • SageMaker Debugger, yang menyediakan pemantauan masa nyata untuk model pembelajaran mesin untuk meningkatkan ketepatan ramalan, mengurangkan masa latihan, dan memudahkan penerangan yang lebih besar
  • Monitor Model SageMaker, yang mengesan konsep drift untuk dijumpai ketika prestasi model yang berjalan dalam pengeluaran mulai menyimpang dari model terlatih yang asli

Penambahbaikan lain yang ketara termasuk penggunaan contoh pilihan untuk notebook untuk mengurangkan kos; jenis contoh P3dn.24xl baru yang merangkumi lapan GPU V100; kerangka kerja TensorFlow yang dioptimumkan AWS, yang mencapai tahap skalabiliti linier ketika melatih pelbagai jenis rangkaian saraf; Amazon Elastic Inference, yang dapat mengurangkan kos inferensi secara drastik; AWS Inferentia, yang merupakan cip inferensi pembelajaran mesin berprestasi tinggi; dan algoritma baru, kedua-duanya terbina dalam SageMaker dan boleh didapati di AWS Marketplace. Di samping itu, SageMaker Neo menyusun model pembelajaran mendalam untuk dijalankan pada peranti pengkomputeran tepi, dan SageMaker RL (tidak ditunjukkan pada rajah) menyediakan perkhidmatan pembelajaran pengukuhan yang dikendalikan.

Studio SageMaker

JupyterLab adalah antara muka pengguna berasaskan web generasi seterusnya untuk Project Jupyter. SageMaker Studio menggunakan JupyterLab sebagai asas untuk IDE yang merupakan pembelajaran mesin dalam talian bersatu dan stesen kerja pembelajaran mendalam dengan ciri kolaborasi, pengurusan eksperimen, integrasi Git, dan penjanaan model automatik.

Tangkapan skrin di bawah menunjukkan cara memasang contoh SageMaker ke dalam contoh SageMaker Studio, menggunakan tab terminal dan baris perintah Git. Arahan untuk melakukan ini terdapat dalam README untuk contoh ini, yang merupakan jenis Catch-22. Anda boleh membacanya dengan melayari contoh Bermula di GitHub, atau dengan mengklon repositori ke mesin anda sendiri dan membacanya di sana.

Contoh Permulaan Amazon mengandungi buku nota yang disebut xgboost_customer_churn_studio.ipynb, yang diadaptasi dari catatan blog mengenai meramalkan perubahan pelanggan. Semasa buku nota Jupyter pergi, ia mempunyai banyak penjelasan, seperti yang anda lihat dalam tangkapan skrin di bawah.

Contohnya adalah menjalankan latihan tambahan dengan algoritma XGBoost luaran yang diubah untuk menyimpan maklumat debug ke Amazon S3 dan menggunakan tiga peraturan debug. Ini dalam mod kerangka yang dipanggil , yang bermaksud bahawa ia bukan algoritma terbina dalam.

Apabila latihan selesai, anda dapat membandingkan hasilnya di tab Eksperimen.

Contohnya kemudian menghoskan model menggunakan deploykaedahnya dan menguji titik akhir yang digunakan menggunakan predictkaedahnya. Akhirnya, ia mewujudkan pekerjaan dasar dengan set data latihan dan tugas pemantauan berjadual yang melaporkan pelanggaran kekangan.

Ngomong-ngomong, XGBoost hanyalah salah satu daripada banyak algoritma yang dibina dalam SageMaker. Senarai lengkap ditunjukkan dalam jadual di bawah - dan anda sentiasa boleh membuat model anda sendiri.

Autopilot SageMaker

Katakan anda tidak tahu bagaimana membuat kejuruteraan ciri dan anda tidak begitu biasa dengan pelbagai algoritma yang tersedia untuk pelbagai tugas pembelajaran mesin. Anda masih boleh menggunakan SageMaker - biarkan ia berjalan secara automatik SageMaker Autopilot mampu mengendalikan set data hingga 5 GB.

Dalam tangkapan skrin di bawah ini kita menjalankan contoh Pemasaran Langsung dengan Amazon SageMaker Autopilot. Ia bermula dengan memuat turun data, membuka zip, memuat naik ke keranjang S3, dan melancarkan pekerjaan Autopilot dengan memanggil API create_auto_ml_job. Kemudian kami melacak kemajuan pekerjaan ketika menganalisis data, melakukan teknik ciri, dan melakukan penalaan model, seperti yang ditunjukkan di bawah.

Contohnya kemudian memilih model terbaik, menggunakannya untuk membuat dan menjadi tuan rumah titik akhir, dan menjalankan tugas transformasi untuk menambahkan ramalan model ke salinan data ujian. Akhirnya, ia menemui dua buku nota yang dibuat oleh kerja Autopilot.

Terdapat antara muka pengguna untuk hasil Autopilot, walaupun tidak jelas. Sekiranya anda mengklik kanan pada eksperimen automl, anda dapat melihat semua percubaan dengan nilai objektifnya, seperti yang ditunjukkan di bawah.

Kebenaran Tanah SageMaker

Sekiranya anda bernasib baik, semua data anda akan dilabelkan, atau dinyatakan lain, dan siap digunakan sebagai set data latihan. Sekiranya tidak, anda boleh memberi anotasi data secara manual (lelucon standard adalah anda memberikan tugas kepada pelajar siswazah anda), atau anda boleh menggunakan proses pembelajaran separa penyeliaan yang menggabungkan anotasi manusia dengan anotasi automatik. SageMaker Ground Truth adalah proses pelabelan.

Seperti yang anda lihat dalam rajah di bawah, Ground Truth dapat diterapkan pada sejumlah tugas yang berbeza. Dengan Ground Truth, anda boleh menggunakan pekerja dari Amazon Mechanical Turk, atau syarikat vendor yang anda pilih, atau tenaga kerja dalaman dan peribadi bersama dengan pembelajaran mesin untuk membolehkan anda membuat set data berlabel.

Amazon menyediakan tujuh panduan yang menunjukkan pelbagai cara menggunakan SageMaker Ground Truth.

SageMaker Neo

Sehingga baru-baru ini, penggunaan model terlatih pada peranti tepi - telefon pintar dan peranti IoT, misalnya - sukar. Terdapat penyelesaian khusus, seperti model TensorFlow Lite untuk TensorFlow dan TensorRT untuk peranti Nvidia, tetapi SageMaker Neo menyusun dan mengoptimumkan secara automatik model TensorFlow, Apache MXNet, PyTorch, ONNX, dan XGBoost untuk penyebaran pada prosesor ARM, Intel, dan Nvidia juga. sebagai peranti Qualcomm, Cadence, dan Xilinx.

Menurut AWS, Neo dapat menggandakan prestasi model dan mengecilkannya cukup untuk berjalan pada peranti tepi dengan jumlah memori yang terhad.

Pilihan penyebaran inferensi SageMaker

Dari segi komputasi, penyimpanan, pemindahan rangkaian, dan lain-lain, penggunaan model untuk inferensi pengeluaran selalunya menyumbang 90 persen dari kos pembelajaran mendalam, sementara latihan hanya menyumbang 10 persen dari biaya. AWS menawarkan banyak kaedah untuk mengurangkan kos inferens.

Salah satunya ialah Inferens Elastik. AWS mengatakan bahawa Inference Elastic dapat mempercepat throughput dan mengurangkan latensi mendapatkan inferensi masa nyata dari model pembelajaran mendalam anda yang digunakan sebagai model yang dihoskan oleh Amazon SageMaker, tetapi pada sebahagian kecil dari kos penggunaan instance GPU untuk titik akhir anda. Inferens Elastik mempercepat inferensi dengan membolehkan anda melampirkan GPU pecahan ke mana-mana contoh Amazon SageMaker.

Elastic Inference disokong dalam versi Elens Inference yang diaktifkan TensorFlow, Apache MXNet, dan PyTorch. Untuk menggunakan kerangka pembelajaran mendalam lain, eksport model anda dengan menggunakan ONNX, dan kemudian import model anda ke MXNet.

Sekiranya anda memerlukan lebih daripada 32 TFLOPS per pemecut yang anda dapat dari Elastic Inference, anda boleh menggunakan contoh EC2 G4, yang mempunyai GPU Nvidia T4, atau EC2 Inf1, yang mempunyai cip pemecut khusus AWS Inferentia. Sekiranya anda memerlukan kelajuan cip Inferentia, anda boleh menggunakan AWS Neuron SDK untuk menyusun model pembelajaran mendalam anda ke dalam Neuron Executable File Format (NEFF), yang seterusnya dimuat oleh pemacu runtime Neuron untuk melaksanakan permintaan input inferensi pada Inferentia kerepek.

Pada ketika ini, pratonton Amazon SageMaker Studio cukup bagus untuk digunakan untuk pembelajaran mesin end-to-end dan pembelajaran mendalam: penyediaan data, latihan model, penerapan model, dan pemantauan model. Walaupun pengalaman pengguna masih meninggalkan beberapa perkara yang diinginkan, seperti penemuan fungsi yang lebih baik, Amazon SageMaker kini bersaing dengan persekitaran pembelajaran mesin yang terdapat di awan lain.

-

Kos: $ 0,0464 hingga $ 34,272 setiap jam contoh untuk pengiraan, bergantung pada jumlah CPU dan GPU; Storan SSD: $ 0.14 setiap GB-bulan; Pemindahan data: $ 0,016 per GB masuk atau keluar. 

Platform: Dihoskan di Amazon Web Services.