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 ditentukan. Ini termasuk langkah-langkah diskrit serta input dan output logisnya. Misalnya, bagaimana 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 pra-pemrosesan? Keputusan tergantung pada kompleksitas sumber data dan sejauh mana mereka diproses sebelumnya.
Dalam implementasi referensi kami, kami menggunakan AWS Step Functions
Menggunakan Step Functions SDK
Untuk mendefinisikan pipeline ML, pertama-tama kita menggunakan API Python tingkat tinggi yang disediakan oleh AWS Step Functions Data Science SDK (Step Functions SDK) untuk mendefinisikan dua komponen utama dari pipeline: langkah dan data. Jika Anda menganggap pipeline sebagai grafik asiklik terarah (DAG), langkah-langkah mewakili node pada grafik, dan data ditampilkan sebagai tepi terarah yang menghubungkan satu simpul (langkah) ke simpul berikutnya. Contoh khas langkah ML termasuk preprocessing, training, dan evaluasi. Step Functions SDK menyediakan sejumlah langkah bawaan (seperti TrainingStep
Saluran pipa ML juga memerlukan parameter konfigurasi untuk melakukan kontrol halus atas perilaku setiap langkah ML. Placeholder data khusus ini disebut placeholder parameter. Banyak dari nilainya tidak diketahui saat Anda mendefinisikan pipeline. Contoh placeholder parameter mencakup parameter terkait infrastruktur yang Anda tentukan selama desain pipeline (misalnya, AWS Region atau URL gambar kontainer) dan parameter terkait pemodelan ML (seperti hyperparameters) yang Anda tentukan saat menjalankan pipeline.
Memperluas Step Functions SDK
Dalam implementasi referensi kami, salah satu persyaratan adalah memisahkan definisi pipa ML dari pembuatan dan penerapan pipa ML konkret dengan menggunakan pengaturan parameter tertentu. Namun, beberapa langkah bawaan di Step Functions SDK tidak memungkinkan kami untuk meneruskan semua parameter placeholder ini. Sebaliknya, nilai parameter diharapkan diperoleh secara langsung selama waktu desain pipeline melalui panggilan API konfigurasi SageMaker AI. Ini berfungsi dengan baik jika lingkungan waktu desain SageMaker AI identik dengan lingkungan runtime SageMaker AI, tetapi ini jarang terjadi dalam pengaturan dunia nyata. Kopling yang begitu erat antara waktu desain pipa dan runtime, dan asumsi bahwa infrastruktur platform ML akan tetap konstan, secara signifikan menghambat penerapan pipa yang dirancang. Faktanya, pipeline ML segera rusak ketika platform penerapan yang mendasarinya mengalami perubahan sekecil apa pun.
Untuk mengatasi tantangan ini dan menghasilkan pipeline HTML yang kuat (yang ingin kami rancang sekali dan jalankan di mana saja), kami menerapkan langkah-langkah khusus kami sendiri dengan memperluas beberapa langkah bawaan, termasuk TrainingStep, ModelStep, dan TransformerStep. Ekstensi ini disediakan dalam proyek ML Max