Cara memilih platform pembelajaran mesin cloud

Untuk membuat model pembelajaran mesin dan pembelajaran dalam yang efektif, Anda membutuhkan data dalam jumlah besar, cara untuk membersihkan data dan melakukan rekayasa fitur di dalamnya, dan cara untuk melatih model pada data Anda dalam waktu yang wajar. Maka Anda memerlukan cara untuk menerapkan model Anda, memantau drift dari waktu ke waktu, dan melatihnya kembali sesuai kebutuhan.

Anda dapat melakukan semua itu secara lokal jika Anda telah berinvestasi dalam sumber daya komputasi dan akselerator seperti GPU, tetapi Anda mungkin menemukan bahwa jika sumber daya Anda memadai, mereka juga sering tidak digunakan. Di sisi lain, terkadang akan lebih hemat biaya untuk menjalankan seluruh pipeline di cloud, menggunakan resource komputasi dan akselerator dalam jumlah besar sesuai kebutuhan, lalu merilisnya.

Sorotan Teknologi: AI dan pembelajaran mesin

  • 5 kisah sukses pembelajaran mesin: An inside look (CIO)
  • AI di tempat kerja: Rekan kerja Anda berikutnya bisa jadi adalah algoritme (Computerworld)
  • Seberapa aman proyek AI dan pembelajaran mesin Anda? (CSO)
  • Cara memilih platform pembelajaran mesin cloud ()
  • Bagaimana AI dapat membuat pusat data self-driving (Jaringan Dunia)

Penyedia cloud utama - dan sejumlah cloud minor juga - telah berupaya secara signifikan dalam membangun platform pembelajaran mesin mereka untuk mendukung siklus pembelajaran mesin yang lengkap, mulai dari merencanakan proyek hingga mempertahankan model dalam produksi. Bagaimana Anda menentukan awan mana yang akan memenuhi kebutuhan Anda? Berikut adalah 12 kemampuan yang harus disediakan oleh setiap platform pembelajaran mesin ujung-ke-ujung. 

Dekat dengan data Anda

Jika Anda memiliki data dalam jumlah besar yang diperlukan untuk membuat model yang tepat, Anda tidak ingin mengirimkannya ke belahan dunia lain. Masalahnya di sini bukanlah jarak, namun, waktunya: kecepatan transmisi data pada akhirnya dibatasi oleh kecepatan cahaya, bahkan pada jaringan yang sempurna dengan bandwidth tak terbatas. Jarak jauh berarti latensi. 

Kasus ideal untuk kumpulan data yang sangat besar adalah membangun model di mana datanya sudah berada, sehingga tidak diperlukan transmisi data massal. Beberapa database mendukung itu sampai batas tertentu.

Kasus terbaik berikutnya adalah data berada di jaringan berkecepatan tinggi yang sama dengan perangkat lunak pembuatan model, yang biasanya berarti dalam pusat data yang sama. Bahkan memindahkan data dari satu pusat data ke pusat data lainnya dalam zona ketersediaan awan dapat menyebabkan penundaan yang signifikan jika Anda memiliki terabyte (TB) atau lebih. Anda dapat mengurangi ini dengan melakukan pembaruan tambahan.

Kasus terburuk adalah jika Anda harus memindahkan data besar jarak jauh melalui jalur dengan bandwidth terbatas dan latensi tinggi. Kabel trans-Pasifik yang menuju Australia sangat mengerikan dalam hal ini.

Mendukung pipeline ETL atau ELT

ETL (export, transform, and load) dan ELT (export, load, and transform) adalah dua konfigurasi pipeline data yang umum di dunia database. Pembelajaran mesin dan pembelajaran mendalam memperkuat kebutuhan akan hal ini, terutama bagian transformasi. ELT memberi Anda lebih banyak fleksibilitas saat transformasi perlu diubah, karena fase pemuatan biasanya paling memakan waktu untuk big data.

Secara umum, data di alam bebas berisik. Itu perlu disaring. Selain itu, data di alam liar memiliki rentang yang bervariasi: Satu variabel mungkin memiliki maksimum dalam jutaan, sementara yang lain mungkin memiliki kisaran -0,1 hingga -0,001. Untuk pembelajaran mesin, variabel harus diubah menjadi rentang standar agar variabel dengan rentang besar tidak mendominasi model. Rentang standar yang tepat bergantung pada algoritme yang digunakan untuk model.

Mendukung lingkungan online untuk membangun model

Kebijaksanaan konvensional dulu adalah Anda harus mengimpor data Anda ke desktop untuk membangun model. Banyaknya data yang diperlukan untuk membuat model pembelajaran mesin dan pembelajaran yang baik mengubah gambaran tersebut: Anda dapat mengunduh sedikit sampel data ke desktop Anda untuk analisis data eksplorasi dan pembuatan model, tetapi untuk model produksi, Anda harus memiliki akses penuh data.

Lingkungan pengembangan berbasis web seperti Jupyter Notebooks, JupyterLab, dan Apache Zeppelin sangat cocok untuk pembuatan model. Jika data Anda berada di cloud yang sama dengan lingkungan notebook, Anda dapat membawa analisis ke data, meminimalkan pergerakan data yang memakan waktu.

Mendukung pelatihan peningkatan dan peningkatan skala

Persyaratan komputasi dan memori notebook umumnya minimal, kecuali untuk model pelatihan. Akan sangat membantu jika notebook dapat menghasilkan tugas pelatihan yang dijalankan pada beberapa mesin virtual besar atau container. Akan sangat membantu jika pelatihan dapat mengakses akselerator seperti GPU, TPU, dan FPGA; ini dapat mengubah hari-hari pelatihan menjadi berjam-jam.

Mendukung AutoML dan rekayasa fitur otomatis

Tidak semua orang pandai memilih model pembelajaran mesin, memilih fitur (variabel yang digunakan oleh model), dan merekayasa fitur baru dari pengamatan mentah. Meskipun Anda ahli dalam tugas-tugas tersebut, tugas tersebut memakan waktu dan dapat diotomatisasi sebagian besar.

Sistem AutoML sering mencoba banyak model untuk melihat mana yang menghasilkan nilai fungsi tujuan terbaik, misalnya kesalahan kuadrat minimum untuk masalah regresi. Sistem AutoML terbaik juga dapat melakukan rekayasa fitur, dan menggunakan sumber dayanya secara efektif untuk mengejar model terbaik dengan rangkaian fitur terbaik.

Mendukung kerangka kerja pembelajaran mesin dan pembelajaran mendalam terbaik

Sebagian besar ilmuwan data memiliki kerangka kerja dan bahasa pemrograman favorit untuk pembelajaran mesin dan pembelajaran mendalam. Bagi mereka yang lebih memilih Python, Scikit-learn sering kali menjadi favorit untuk pembelajaran mesin, sementara TensorFlow, PyTorch, Keras, dan MXNet sering kali menjadi pilihan teratas untuk pembelajaran mendalam. Di Scala, Spark MLlib cenderung lebih disukai untuk pembelajaran mesin. Di R, ada banyak paket pembelajaran mesin asli, dan antarmuka yang bagus untuk Python. Di Java, tarif H2O.ai sangat tinggi, seperti halnya Java-ML dan Deep Java Library.

Cloud machine learning dan platform deep learning cenderung memiliki kumpulan algoritme sendiri, dan sering kali mendukung framework eksternal setidaknya dalam satu bahasa atau sebagai container dengan titik masuk tertentu. Dalam beberapa kasus, Anda dapat mengintegrasikan algoritme dan metode statistik Anda sendiri dengan fasilitas AutoML platform, yang cukup nyaman.

Beberapa platform cloud juga menawarkan versi framework pembelajaran mendalam utama mereka sendiri yang disetel. Misalnya, AWS memiliki versi TensorFlow yang dioptimalkan yang diklaim dapat mencapai skalabilitas hampir linier untuk pelatihan jaringan neural dalam.

Menawarkan model terlatih dan mendukung pembelajaran transfer

Tidak semua orang ingin menghabiskan waktu dan menghitung resource untuk melatih model mereka sendiri - begitu pula sebaliknya, saat model terlatih tersedia. Misalnya, kumpulan data ImageNet sangat besar, dan melatih jaringan neural dalam yang canggih dapat membutuhkan waktu berminggu-minggu, jadi masuk akal untuk menggunakan model terlatih untuk itu bila Anda bisa.

Di sisi lain, model terlatih mungkin tidak selalu mengidentifikasi objek yang Anda pedulikan. Pembelajaran transfer dapat membantu Anda menyesuaikan beberapa lapisan terakhir jaringan neural untuk kumpulan data spesifik Anda tanpa menghabiskan waktu dan biaya untuk melatih jaringan lengkap.

Tawarkan layanan AI yang disetel

Platform cloud utama menawarkan layanan AI yang tangguh dan disesuaikan untuk banyak aplikasi, tidak hanya identifikasi gambar. Contohnya termasuk terjemahan bahasa, ucapan ke teks, teks ke ucapan, perkiraan, dan rekomendasi.

Layanan ini telah dilatih dan diuji pada lebih banyak data daripada yang biasanya tersedia untuk bisnis. Mereka juga sudah diterapkan pada titik akhir layanan dengan sumber daya komputasi yang cukup, termasuk akselerator, untuk memastikan waktu respons yang baik dengan beban di seluruh dunia.

Kelola eksperimen Anda

Satu-satunya cara untuk menemukan model terbaik untuk kumpulan data Anda adalah dengan mencoba semuanya, baik secara manual atau menggunakan AutoML. Itu menyisakan masalah lain: Mengelola eksperimen Anda.

Platform pembelajaran mesin cloud yang baik akan memiliki cara agar Anda dapat melihat dan membandingkan nilai fungsi tujuan dari setiap eksperimen untuk set pelatihan dan data pengujian, serta ukuran model dan matriks kebingungan. Mampu membuat grafik semua itu adalah nilai tambah yang pasti.

Mendukung penerapan model untuk prediksi

Setelah Anda memiliki cara untuk memilih eksperimen terbaik berdasarkan kriteria Anda, Anda juga memerlukan cara mudah untuk menerapkan model tersebut. Jika Anda menerapkan beberapa model untuk tujuan yang sama, Anda juga memerlukan cara untuk membagi lalu lintas di antara mereka untuk pengujian a / b.

Pantau kinerja prediksi

Sayangnya, dunia cenderung berubah, dan data pun ikut berubah. Itu berarti Anda tidak dapat menerapkan model dan melupakannya. Sebagai gantinya, Anda perlu memantau data yang dikirimkan untuk prediksi dari waktu ke waktu. Saat data mulai berubah secara signifikan dari dasar kumpulan data pelatihan asli, Anda perlu melatih kembali model Anda.

Kontrol biaya

Terakhir, Anda memerlukan cara untuk mengontrol biaya yang dikeluarkan oleh model Anda. Menerapkan model untuk inferensi produksi sering kali menyumbang 90% dari biaya pembelajaran mendalam, sedangkan pelatihan hanya menyumbang 10% dari biaya.

Cara terbaik untuk mengontrol biaya prediksi bergantung pada beban Anda dan kompleksitas model Anda. Jika Anda memiliki beban yang tinggi, Anda mungkin dapat menggunakan akselerator untuk menghindari penambahan lebih banyak instance mesin virtual. Jika Anda memiliki beban variabel, Anda mungkin dapat secara dinamis mengubah ukuran atau jumlah instance atau penampung saat beban naik atau turun. Dan jika Anda memiliki beban yang rendah atau sesekali, Anda mungkin dapat menggunakan instance yang sangat kecil dengan akselerator parsial untuk menangani prediksi.