Machine learning terdistribusi memungkinkan data scientist dan engineer ML menskalakan pelatihan model machine learning (ML) melampaui batasan memori dan komputasi satu mesin. Dengan mendistribusikan partisi data dan memparalelkan workload di seluruh cluster worker node, Anda dapat melatih model kompleks pada set data besar secara signifikan dengan lebih cepat.
Apache Spark adalah standar industri untuk pemrosesan data terdistribusi. Library machine learning native-nya, MLlib, menyediakan algoritma terdistribusi untuk klasifikasi, regresi, pengelompokan, dan penyaringan kolaboratif, sehingga Anda dapat beralih dari penyerapan data ke deployment model dalam satu lingkungan terpadu.
Pipeline Spark ML adalah API tingkat tinggi yang dirancang untuk membantu Anda menggabungkan beberapa alur kerja machine learning ke dalam pipeline yang kohesif. Dengan layanan ini, Anda dapat merangkai berbagai transformasi data (seperti ekstraksi fitur dan penskalaan) serta algoritma machine learning (seperti pelatihan model) dalam alur kerja deklaratif yang terstruktur.
Dengan menggunakan pipeline, Anda memastikan bahwa urutan langkah prapemrosesan data yang sama diterapkan secara konsisten selama pelatihan model dan prediksi, yang sangat penting untuk mencegah kebocoran data dan memastikan hasil yang dapat direproduksi. Komponen utama pipeline Spark ML adalah transformer dan estimator.
Penskalaan workload ML untuk menerapkan akselerasi hardware terkadang menimbulkan tantangan dalam mengelola dependensi GPU Spark yang kompleks. Penyediaan instance VM, penginstalan driver NVIDIA yang tepat, dan memastikan versi CUDA dan cuDNN cocok dengan library PyTorch atau TensorFlow Anda dapat menghentikan produktivitas developer selama berhari-hari.
Google Cloud mengatasi hal ini dengan Managed Service untuk Apache Spark, yang menawarkan runtime machine learning dalam bentuk paket. Dibangun di atas image berbasis Ubuntu yang stabil (mulai dari versi 2.3), runtime ini sudah diinstal dan dikonfigurasi sebelumnya dengan driver GPU yang tepat (CUDA, cuDNN, NCCL) dan framework ML standar industri (PyTorch, XGBoost, tokenizer, dan transformer) yang diperlukan workload Anda. Lingkungan tanpa penyiapan ini memungkinkan tim Anda berfokus pada penulisan kode, bukan mengonfigurasi infrastruktur.
Di Spark MLlib, transformer adalah algoritma yang mengubah satu DataFrame menjadi DataFrame lain (misalnya, mengonversi teks menjadi vektor numerik). Estimator adalah algoritma yang dapat disesuaikan pada DataFrame untuk menghasilkan transformer (misalnya, menyesuaikan algoritma regresi logistik pada data pelatihan untuk menghasilkan model terlatih).
Dengan mengandalkan pipeline Spark ML, Anda memastikan bahwa logika persiapan data digabungkan secara ketat dengan model Anda. Hal ini menjamin bahwa data pengujian atau inferensi diproses secara identik dengan data pelatihan Anda.
Dengan runtime ML Google Cloud di Managed Service untuk Apache Spark, pengelolaan dependensi tidak lagi diperlukan. Image kustom berbasis Ubuntu terus diupdate oleh Google dan dikemas dengan versi driver NVIDIA, toolkit CUDA, dan framework ML terdistribusi yang benar dan kompatibel secara native.
Memahami elemen penyusun Spark MLlib dan alat data Google Cloud sangat penting untuk menjalankan ML terdistribusi dalam skala besar.
Komponen | Deskripsi | Kasus penggunaan utama | Pertimbangan harga |
Spark MLlib | Library machine learning skalabel Apache Spark yang berisi algoritma pembelajaran umum, alat featurisasi, dan utilitas pipeline. | Menjalankan pelatihan model ML berskala besar di seluruh cluster terdistribusi tanpa perlu mengandalkan library node tunggal. | Biaya dikenakan melalui layanan Google Cloud yang mendasarinya yang digunakan untuk menjalankan Apache Spark, terutama Managed Service untuk Apache Spark. Harga bergantung pada resource Compute Engine (vCPU, memori, GPU, disk) yang disediakan dan durasi tugas berjalan. |
Perakit vektor | Transformer fitur inti di Spark MLlib yang menggabungkan beberapa kolom (angka kontinu, kategori yang dienkode one-hot, dll.) menjadi satu kolom vektor. | Menyiapkan data tabulasi mentah ke dalam format vektor padat atau vektor renggang tertentu yang diharapkan oleh algoritma machine learning Spark MLlib. | Sebagai komponen dalam Spark MLlib, eksekusinya berkontribusi pada keseluruhan biaya komputasi untuk menjalankan workload Spark Anda di Managed Service untuk Apache Spark. |
Pipeline Spark ML | API tingkat tinggi yang dibangun di atas DataFrame yang membantu pengguna merangkai beberapa langkah dan model rekayasa fitur. | Mengelompokkan Transformer dan Estimator ke dalam pipeline terpadu untuk memastikan pemrosesan data yang identik selama pelatihan dan inferensi. | Serupa dengan komponen Spark MLlib lainnya, biaya tersebut merupakan bagian dari biaya eksekusi untuk Managed Service untuk Apache Spark. |
BigQuery ML | Layanan yang memungkinkan Anda membuat dan menjalankan model machine learning di BigQuery menggunakan kueri SQL standar. | Melatih model langsung di tempat data Anda berada sebelum memindahkan tugas terdistribusi yang sangat kompleks dan iteratif ke Spark. | BigQuery ML memiliki model penetapan harganya sendiri. Anda akan dikenai biaya untuk
|
Komponen
Deskripsi
Kasus penggunaan utama
Pertimbangan harga
Spark MLlib
Library machine learning skalabel Apache Spark yang berisi algoritma pembelajaran umum, alat featurisasi, dan utilitas pipeline.
Menjalankan pelatihan model ML berskala besar di seluruh cluster terdistribusi tanpa perlu mengandalkan library node tunggal.
Biaya dikenakan melalui layanan Google Cloud yang mendasarinya yang digunakan untuk menjalankan Apache Spark, terutama Managed Service untuk Apache Spark. Harga bergantung pada resource Compute Engine (vCPU, memori, GPU, disk) yang disediakan dan durasi tugas berjalan.
Perakit vektor
Transformer fitur inti di Spark MLlib yang menggabungkan beberapa kolom (angka kontinu, kategori yang dienkode one-hot, dll.) menjadi satu kolom vektor.
Menyiapkan data tabulasi mentah ke dalam format vektor padat atau vektor renggang tertentu yang diharapkan oleh algoritma machine learning Spark MLlib.
Sebagai komponen dalam Spark MLlib, eksekusinya berkontribusi pada keseluruhan biaya komputasi untuk menjalankan workload Spark Anda di Managed Service untuk Apache Spark.
Pipeline Spark ML
API tingkat tinggi yang dibangun di atas DataFrame yang membantu pengguna merangkai beberapa langkah dan model rekayasa fitur.
Mengelompokkan Transformer dan Estimator ke dalam pipeline terpadu untuk memastikan pemrosesan data yang identik selama pelatihan dan inferensi.
Serupa dengan komponen Spark MLlib lainnya, biaya tersebut merupakan bagian dari biaya eksekusi untuk Managed Service untuk Apache Spark.
BigQuery ML
Layanan yang memungkinkan Anda membuat dan menjalankan model machine learning di BigQuery menggunakan kueri SQL standar.
Melatih model langsung di tempat data Anda berada sebelum memindahkan tugas terdistribusi yang sangat kompleks dan iteratif ke Spark.
BigQuery ML memiliki model penetapan harganya sendiri. Anda akan dikenai biaya untuk
Managed Service untuk Apache Spark dari Google Cloud mengabstraksi kompleksitas infrastruktur, sehingga Anda dapat menjalankan pipeline Spark ML untuk pelatihan model skala besar menggunakan lingkungan serverless atau cluster terkelola yang dapat disesuaikan.
Untuk menghilangkan dependensi GPU Spark yang sulit, layanan ini menggunakan runtime ML dalam bentuk paket yang dilengkapi sepenuhnya dengan driver NVIDIA, toolkit CUDA, dan framework terdistribusi yang kompatibel secara native, sehingga memberi Anda jalur tanpa penyiapan untuk men-deploy workload yang diakselerasi hardware.
Pelajari cara menggunakan transformer untuk mengekstrak dan menskalakan data, serta estimator untuk melatih algoritma.
Luncurkan cluster Spark yang diakselerasi GPU tanpa mengelola infrastruktur yang mendasarinya. Runtime ML Google Cloud telah dikonfigurasi sebelumnya sehingga Anda dapat mengabaikan dependensi GPU Spark yang kompleks.
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.