Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 3. Tentukan pipa
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
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
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