Langkah 3. Tentukan pipa - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 3. Tentukan pipa

Mendefinisikan pipa ML-nya.

Pada langkah ini, urutan dan logika tindakan yang akan dilakukan pipa didefinisikan. Ini termasuk langkah-langkah diskrit serta input logis dan output mereka. Misalnya, apa keadaan data di awal pipa? Apakah itu berasal dari beberapa file yang berada pada tingkat granularitas yang berbeda atau dari satu file datar? Jika data berasal dari beberapa file, apakah Anda memerlukan satu langkah untuk semua file atau langkah terpisah untuk setiap file untuk menentukan logika preprocessing? Keputusan tergantung pada kompleksitas sumber data dan sejauh mana mereka diproses sebelumnya.

Dalam implementasi referensi kami, kami menggunakanAWS Step Functions, yang merupakan orkestrator fungsi tanpa server, untuk menentukan langkah-langkah alur kerja. Namun,Kerangka Maksjuga mendukung sistem pipa atau mesin negara lainnya seperti Apache AirFlow (lihatMesin yang berbeda untuk orkestrasi pipabagian) untuk mendorong pengembangan dan penyebaran jaringan pipa mL.

Menggunakan SDK Step Functions

Untuk menentukan pipa ML-nya, pertama kita menggunakan API Python tingkat tinggi yang disediakan olehAWS Step FunctionsSDK Ilmu Data(Step Functions SDK) untuk menentukan dua komponen kunci dari pipa:langkahdandata. Jika Anda berpikir tentang pipa sebagai grafik asiklik diarahkan (DAG), langkah-langkah mewakili node pada grafik, dan data ditampilkan sebagai tepi diarahkan yang menghubungkan satu node (langkah) ke berikutnya. Contoh umum dari langkah ML-nya meliputi preprocessing, training, dan evaluasi. Step Functions SDK menyediakan sejumlah built-in langkah (sepertiTrainingStep) yang dapat Anda gunakan. Contoh data meliputi input, output, dan banyak dataset menengah yang diproduksi oleh beberapa langkah dalam pipa. Ketika Anda merancang sebuah pipa ML-nya, Anda tidak tahu nilai konkret dari item data. Anda dapat menentukanPlaceholder datayang berfungsi sebagai template (mirip dengan parameter fungsi) dan hanya berisi nama item data dan tipe data primitif. Dengan cara ini, Anda dapat merancang cetak biru pipa lengkap tanpa mengetahui nilai-nilai konkret data yang bepergian pada grafik terlebih dahulu. Untuk tujuan ini, Anda dapat menggunakan kelas placeholder di Step Functions SDK untuk secara eksplisit memodelkan template data ini.

Saluran pipa juga memerlukan parameter konfigurasi untuk melakukan kontrol halus atas perilaku setiap langkah ML-nya. Ini placeholder data khusus disebutplaceholder parameter. Banyak dari nilai-nilai mereka tidak diketahui ketika Anda mendefinisikan pipa. Contoh placeholder parameter mencakup parameter terkait infrastruktur yang Anda tetapkan selama desain pipa (misalnya, Wilayah AWS atau URL gambar kontainer) dan parameter terkait pemodelan ML-parameter (seperti hyperparameters) yang Anda tetapkan saat Anda menjalankan pipeline.

Memperluas Step Functions SDK

Dalam implementasi referensi kami, satu persyaratan adalah memisahkan definisi pipa dari pembuatan dan penyebaran pipa ML-beton dengan menggunakan pengaturan parameter tertentu. Namun, beberapa langkah bawaan di Step Functions SDK tidak memungkinkan kita untuk meneruskan semua parameter placeholder ini. Sebaliknya, nilai parameter diharapkan diperoleh secara langsung selama waktu perancangan pipa melalui panggilan API konfigurasi SageMaker. Ini bekerja dengan baik jika lingkungan desain-waktu SageMaker identik dengan lingkungan runtime SageMaker, tetapi ini jarang terjadi dalam pengaturan dunia nyata. Seperti kopling ketat antara pipa desain-waktu dan runtime, dan asumsi bahwa infrastruktur platform ML-tetap konstan, secara signifikan menghambat penerapan pipa yang dirancang. Bahkan, pipa ML-putus segera ketika platform penyebaran yang mendasarinya mengalami bahkan perubahan sekecil apa pun.

Untuk mengatasi tantangan ini dan menghasilkan pipa yang kuat (yang ingin kami desain sekali dan jalankan di mana saja), kami menerapkan langkah-langkah kustom kami sendiri dengan memperluas beberapa langkah bawaan, termasukTrainingStep,ModelStep, danTransformerStep. Ekstensi ini disediakan diProyek Maks. Antarmuka dari langkah-langkah khusus ini mendukung placeholder parameter yang jauh lebih banyak yang dapat diisi dengan nilai-nilai konkret selama pembuatan pipa atau ketika pipa sedang berjalan.