AI Platform memungkinkan banyak bagian dari alur kerja machine learning (ML). Dokumen ini memberikan deskripsi pengantar tentang keseluruhan proses ML dan menjelaskan tempat setiap layanan AI Platform sesuai dengan proses tersebut.
Untuk pengantar layanan, lihat ringkasan teknis AI Platform.
Deskripsi singkat tentang machine learning
Machine learning (ML) adalah subbidang kecerdasan buatan (AI). Tujuan ML adalah membuat komputer belajar dari data yang Anda berikan. Daripada menulis kode yang menjelaskan tindakan yang harus dilakukan komputer, kode Anda menyediakan algoritma yang beradaptasi berdasarkan contoh perilaku yang diinginkan. Program yang dihasilkan, yang terdiri dari algoritma dan parameter yang dipelajari terkait, disebut model terlatih.
Alur kerja ML
Diagram di bawah memberikan ringkasan umum tentang tahapan dalam alur kerja ML. Kotak yang diisi biru menunjukkan tempat AI Platform menyediakan layanan dan API terkelola:
Untuk mengembangkan dan mengelola model yang siap produksi, Anda harus melalui tahap berikut:
Mendapatkan dan menyiapkan data Anda.
Kembangkan model Anda.
Melatih model ML pada data Anda:
- Melatih model
- Mengevaluasi akurasi model
- Menyesuaikan hyperparameter
Deploy model terlatih Anda.
Kirim permintaan prediksi ke model Anda:
- Prediksi online
- Prediksi batch
Pantau prediksi secara berkelanjutan.
Mengelola model dan versi model Anda.
Tahap-tahap ini bersifat iteratif. Anda mungkin perlu mengevaluasi ulang dan kembali ke langkah sebelumnya kapan saja dalam proses.
Bagian selanjutnya dari halaman ini akan membahas tahapan secara mendetail.
Sebelum memulai, evaluasi masalahnya
Sebelum Anda mulai memikirkan cara memecahkan masalah dengan ML, luangkan waktu untuk memikirkan masalah yang ingin Anda pecahkan. Tanyakan pada diri Anda pertanyaan-pertanyaan berikut:
Apakah Anda memiliki masalah yang telah didefinisikan dengan baik untuk dipecahkan?
Ada banyak pendekatan yang dapat dilakukan saat menggunakan ML untuk mengenali pola dalam data. Penting untuk menentukan informasi yang ingin Anda dapatkan dari model dan alasan Anda memerlukan informasi tersebut.
Apakah ML adalah solusi terbaik untuk masalah ini?
ML Tersupervisi (gaya ML yang dijelaskan dalam dokumentasi ini) sangat cocok untuk jenis masalah tertentu.
Anda hanya boleh mempertimbangkan penggunaan ML untuk masalah Anda jika memiliki akses ke kumpulan data berukuran besar yang dapat digunakan untuk melatih model. Tidak ada batasan absolut tentang jumlah data yang cukup. Setiap fitur (atribut data) yang Anda sertakan dalam model akan meningkatkan jumlah instance (data record) yang Anda perlukan untuk melatih model dengan benar. Lihat praktik terbaik ML untuk mendapatkan beberapa panduan tentang teknik fitur.
Anda juga harus memperhitungkan pemisahan set data menjadi tiga subset: satu untuk pelatihan, satu untuk evaluasi (atau validasi), dan satu untuk pengujian.
Selidiki alternatif yang mungkin memberikan cara yang lebih mudah dan lebih konkret untuk memecahkan masalah.
Bagaimana cara Anda mengukur kesuksesan model?
Salah satu tantangan terbesar dalam membuat model ML adalah mengetahui kapan fase pengembangan model selesai. Anda mungkin tergoda untuk terus meningkatkan kualitas model selamanya, sehingga akurasi yang dihasilkan menjadi semakin kecil. Anda harus mengetahui makna keberhasilan sebelum memulai prosesnya. Pertimbangkan tingkat akurasi yang memadai untuk kebutuhan Anda. Pertimbangkan konsekuensi dari tingkat error yang sesuai.
Mendapatkan dan menyiapkan data
Anda harus memiliki akses ke kumpulan besar data pelatihan yang menyertakan atribut (disebut fitur di ML) yang ingin Anda inferensikan (prediksikan) berdasarkan fitur lainnya.
Misalnya, Anda ingin model memprediksi harga jual rumah. Mulailah dengan kumpulan data besar yang menjelaskan karakteristik rumah di area tertentu, termasuk harga jual setiap rumah.
Analisis data
Setelah mendapatkan sumber data, Anda harus menganalisis dan memahami data tersebut serta menyiapkannya sebagai input untuk proses pelatihan. Misalnya, Anda mungkin perlu melakukan langkah-langkah berikut:
- Menggabungkan data dari beberapa sumber dan merasionalisasinya menjadi satu set data.
- Visualisasikan data untuk mencari tren.
- Gunakan bahasa dan alat yang berfokus pada data untuk menemukan pola dalam data.
- Identifikasi fitur dalam data Anda. Fitur terdiri dari subset atribut data yang Anda gunakan dalam model.
- Bersihkan data untuk menemukan nilai anomali yang disebabkan oleh error dalam input atau pengukuran data.
Prapemrosesan data
Pada langkah prapemrosesan, Anda mengubah data yang valid dan bersih menjadi format yang paling sesuai dengan kebutuhan model Anda. Berikut beberapa contoh prapemrosesan data:
- Menormalisasi data numerik ke skala umum.
- Menerapkan aturan format ke data. Misalnya, menghapus pemberian tag HTML dari fitur teks.
- Mengurangi redundansi data melalui penyederhanaan. Misalnya, mengonversi fitur teks menjadi representasi bag of words.
- Merepresentasikan teks secara numerik. Misalnya, menetapkan nilai ke setiap kemungkinan nilai dalam fitur kategoris.
- Menetapkan nilai kunci ke instance data.
Dukungan Google Cloud untuk eksplorasi dan penyiapan data
TensorFlow memiliki beberapa library prapemrosesan yang dapat Anda gunakan dengan AI Platform. Misalnya, tf.transform.
Anda dapat men-deploy dan menayangkan pipeline scikit-learn di AI Platform untuk menerapkan transformasi bawaan untuk pelatihan dan prediksi online. Penerapan transformasi kustom masih dalam versi beta.
Anda dapat men-deploy rutinitas prediksi kustom (beta) untuk memastikan AI Platform memproses input pada waktu prediksi dengan cara yang sama seperti Anda memproses data selama pelatihan.
Selain itu, pertimbangkan layanan Google Cloud berikut:
Notebook yang dikelola pengguna Vertex AI Workbench adalah instance Deep Learning VM Image yang dikemas dengan notebook JupyterLab dan dioptimalkan untuk tugas data science deep learning, mulai dari persiapan dan eksplorasi data hingga pengembangan prototipe yang cepat.
BigQuery adalah layanan data warehouse terkelola sepenuhnya yang memungkinkan analisis ad hoc pada data real-time dengan SQL standar.
Dataproc adalah layanan cloud terkelola sepenuhnya untuk menjalankan cluster Apache Spark dan Apache Hadoop.
Dataflow adalah layanan terkelola sepenuhnya untuk mentransformasi dan memperkaya data dalam mode streaming (real time) dan batch (historis) tanpa mengurangi keandalan dan kecepatan.
Dataprep adalah layanan data cerdas tanpa server untuk menjelajahi, membersihkan, dan menyiapkan data terstruktur dan tidak terstruktur secara visual.
Membuat kode model
Kembangkan model Anda menggunakan teknik ML yang sudah mapan atau dengan menentukan operasi dan pendekatan baru.
Mulailah belajar dengan mengikuti panduan memulai TensorFlow. Anda juga dapat mengikuti dokumentasi scikit-learn atau dokumentasi XGBoost untuk membuat model. Kemudian, periksa beberapa contoh kode yang dirancang untuk digunakan dengan AI Platform.
Melatih, mengevaluasi, dan menyesuaikan model
AI Platform menyediakan layanan yang Anda perlukan untuk melatih dan mengevaluasi model di cloud. Selain itu, AI Platform menawarkan fungsi penyesuaian hyperparameter untuk mengoptimalkan proses pelatihan.
Saat melatih model, Anda memberinya data yang nilainya sudah Anda ketahui untuk atribut data target (fitur). Anda menjalankan model untuk memprediksi nilai target tersebut untuk data pelatihan, sehingga model dapat menyesuaikan setelan agar lebih sesuai dengan data, sehingga dapat memprediksi nilai target dengan lebih akurat.
Demikian pula, saat mengevaluasi model terlatih, Anda memberinya data yang menyertakan nilai target. Anda membandingkan hasil prediksi model dengan nilai aktual untuk data evaluasi dan menggunakan teknik statistik yang sesuai dengan model Anda untuk mengukur keberhasilannya.
Anda juga dapat menyesuaikan model dengan mengubah operasi atau setelan yang digunakan untuk mengontrol proses pelatihan, seperti jumlah langkah pelatihan yang akan dijalankan. Teknik ini dikenal sebagai penyesuaian hyperparameter.
Menguji model Anda
Selama pelatihan, Anda menerapkan model ke data yang diketahui untuk menyesuaikan setelan guna meningkatkan hasil. Jika hasilnya cukup baik untuk kebutuhan aplikasi, Anda harus men-deploy model ke sistem apa pun yang digunakan aplikasi dan mengujinya.
Untuk menguji model, jalankan data melalui model dalam konteks yang sedekat mungkin dengan aplikasi akhir dan infrastruktur produksi Anda.
Gunakan set data yang berbeda dari yang digunakan untuk pelatihan dan evaluasi. Idealnya, Anda harus menggunakan kumpulan data terpisah setiap kali melakukan pengujian, sehingga model Anda diuji dengan data yang belum pernah diproses sebelumnya.
Anda juga dapat membuat kumpulan data pengujian yang berbeda bergantung pada sifat model Anda. Misalnya, Anda dapat menggunakan set data yang berbeda untuk lokasi atau titik waktu tertentu, atau Anda dapat membagi instance untuk meniru demografi yang berbeda.
Selama proses pengujian, Anda melakukan penyesuaian pada parameter dan hyperparameter model berdasarkan hasil pengujian. Anda mungkin menemukan masalah dalam model atau dalam interaksinya dengan aplikasi lainnya.
Menghosting model di cloud
AI Platform menyediakan alat untuk mengupload model ML terlatih ke cloud, sehingga Anda dapat mengirim permintaan prediksi ke model tersebut.
Untuk men-deploy model terlatih di AI Platform, Anda harus menyimpan model terlatih menggunakan alat yang disediakan oleh framework machine learning. Hal ini melibatkan serialisasi informasi yang mewakili model terlatih Anda ke dalam file yang dapat Anda deploy untuk prediksi di cloud.
Kemudian, Anda mengupload model tersimpan ke bucket Cloud Storage, dan membuat resource model di AI Platform, yang menentukan jalur Cloud Storage ke model tersimpan Anda.
Saat men-deploy model, Anda juga dapat memberikan kode kustom (beta) untuk menyesuaikan cara model menangani permintaan prediksi.
Mengirim permintaan prediksi ke model
AI Platform menyediakan layanan yang Anda perlukan untuk meminta prediksi dari model Anda di cloud.
Ada dua cara untuk mendapatkan prediksi dari model terlatih: prediksi online (terkadang disebut prediksi HTTP) dan prediksi batch. Dalam kedua kasus tersebut, Anda meneruskan data input ke model machine learning yang dihosting di cloud dan mendapatkan inferensi untuk setiap instance data.
Memantau layanan prediksi
Pantau prediksi secara berkelanjutan. AI Platform menyediakan API untuk memeriksa tugas yang sedang berjalan. Selain itu, berbagai alat Google Cloud mendukung operasi model yang di-deploy, seperti Cloud Logging dan Cloud Monitoring.
Mengelola model dan versi model
AI Platform menyediakan berbagai antarmuka untuk mengelola model dan versi Anda, termasuk REST API, alat command line gcloud ai-platform
, dan Konsol Google Cloud.
Langkah selanjutnya
- Mulai menggunakan Pelatihan AI Platform dan Prediksi AI Platform menggunakan Keras.
- Pelajari cara melatih dengan penampung kustom.
- Pelajari cara melatih model TensorFlow dan XGBoost tanpa menulis kode dengan menggunakan algoritma bawaan AI Platform.
- Pelajari cara menggunakan rutinitas prediksi kustom untuk menambahkan prapemrosesan dan pascapemrosesan untuk permintaan prediksi online Anda.
- Tambahkan kode kustom dan transformasi scikit-learn kustom ke pipeline prediksi online Anda.
- Pelajari Pelatihan AI Platform dan Prediksi AI Platform lebih lanjut.