Rumah Tren Mengapa menjalankan pelatihan ml di mesin lokal dan kemudian menjalankan eksekusi reguler di server?

Mengapa menjalankan pelatihan ml di mesin lokal dan kemudian menjalankan eksekusi reguler di server?

Anonim

Q:

Mengapa menjalankan pelatihan mesin (ML) pada mesin lokal dan kemudian menjalankan eksekusi reguler pada server?

SEBUAH:

Pertanyaan tentang bagaimana menyusun proyek pembelajaran mesin dan fase pelatihan serta pengujiannya banyak terkait dengan bagaimana kita bergerak melalui "siklus hidup" ML dan membawa program dari lingkungan pelatihan ke lingkungan produksi.

Salah satu alasan paling sederhana untuk menggunakan model pelatihan ML di atas pada mesin lokal dan kemudian memindahkan eksekusi ke sistem berbasis server adalah manfaat dari pemisahan tugas yang esensial. Secara umum, Anda ingin set pelatihan terisolasi, sehingga Anda memiliki gambaran yang jelas tentang di mana pelatihan dimulai dan berhenti, dan di mana pengujian dimulai. Artikel KDNuggets ini berbicara tentang prinsip dengan cara kasar sementara juga membahas beberapa alasan lain untuk mengisolasi set pelatihan pada mesin lokal. Satu proposisi nilai dasar lainnya untuk model ini adalah bahwa, dengan pelatihan dan set tes pada arsitektur yang sangat berbeda, Anda tidak akan pernah bingung tentang kereta bersama / alokasi uji!

Manfaat menarik lainnya terkait dengan keamanan siber. Para ahli menunjukkan bahwa jika Anda memiliki proses kereta awal di mesin lokal, itu tidak harus terhubung ke internet! Ini memperluas keamanan dengan cara yang mendasar, “menginkubasi” proses sampai menyentuh dunia produksi, di mana Anda kemudian harus membangun keamanan yang memadai ke dalam model server.

Selain itu, beberapa model "terisolasi" ini dapat membantu dengan masalah seperti pergeseran konsep dan konteks tersembunyi - prinsip "non-stasionalitas" memperingatkan pengembang bahwa data tidak "tetap sama" dari waktu ke waktu (tergantung pada apa yang diukur) dan bahwa dibutuhkan banyak adaptasi untuk membuat fase uji cocok dengan fase kereta. Atau, dalam beberapa kasus, proses kereta dan pengujian menyatu bersama, menciptakan kebingungan.

Menyebarkan fase uji pada server untuk pertama kalinya dapat memfasilitasi berbagai model "kotak hitam" di mana Anda memperbaiki masalah kemampuan beradaptasi data. Dalam beberapa kasus, itu menghilangkan proses redundan menempatkan pesanan perubahan ke beberapa platform.

Kemudian, juga, lingkungan server jelas melayani proses real-time atau dinamis di mana insinyur ingin mengakses transfer data dan model kode yang paling cocok untuk produksi di ML. Sebagai contoh, AWS Lambda dapat menjadi pilihan yang menarik untuk menangani fungsi produksi mikro (atau kombinasi penyimpanan objek Lambda dan S3) dan tanpa konektivitas (tanpa server) yang menjadi tidak mungkin.

Ini adalah beberapa masalah yang mungkin dipikirkan pengembang ketika mereka mempertimbangkan bagaimana mempartisi fase pelatihan ML dari pengujian dan produksi.

Mengapa menjalankan pelatihan ml di mesin lokal dan kemudian menjalankan eksekusi reguler di server?