Membuat pipeline machine learning Apache Spark

Percepat perjalanan machine learning terdistribusi Anda dengan membuat pipeline Spark ML dengan runtime tanpa penyiapan di Google Cloud.

Apa itu machine learning terdistribusi?

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.

Mengapa menggunakan Apache Spark?

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.

Apa itu pipeline Spark ML?

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.

Mengapa memilih Google Cloud untuk perjalanan Spark ML Anda?

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.

Pertanyaan umum (FAQ)

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.

Komponen Spark MLlib dan alat data Google Cloud

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.


*Lihat harga Managed Service untuk Apache Spark.

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

  1. Pelatihan model (berdasarkan data yang diproses selama kueri CREATE MODEL),
  2. Prediksi model (harga kueri BigQuery standar)
  3. Penyimpanan model (ditagih dengan tarif penyimpanan BigQuery standar).

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.


*Lihat harga Managed Service untuk Apache Spark.

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

  1. Pelatihan model (berdasarkan data yang diproses selama kueri CREATE MODEL),
  2. Prediksi model (harga kueri BigQuery standar)
  3. Penyimpanan model (ditagih dengan tarif penyimpanan BigQuery standar).

Cara kerjanya

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 lebih lanjut machine learning dengan Spark

Kasus penggunaan umum

Membangun alur kerja rekayasa fitur yang tangguh

Pelajari cara menggunakan transformer untuk mengekstrak dan menskalakan data, serta estimator untuk melatih algoritma.

Panduan cara kerja

  • Membangun pipeline Spark ML: Untuk panduan umum tentang penggunaan Spark di Google Cloud, lihat dokumentasi Managed Service untuk Apache Spark.
  • Estimator pipeline di PySpark: Periksa contoh Python API yang disediakan dalam dokumentasi Managed Service untuk Apache Spark. Contoh ini mencakup pola untuk menggunakan komponen Spark MLlib. Anda juga dapat menemukan contoh Spark ML yang direferensikan dalam panduan seperti dokumentasi memasang GPU ke cluster.

Referensi lainnya

Men-deploy runtime ML tanpa penyiapan

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.

Panduan cara kerja

  • Ringkasan runtime ML Managed Service untuk Apache Spark: Baca selengkapnya tentang versi image runtime Managed Service untuk Apache Spark, yang menjelaskan library yang telah diinstal sebelumnya, termasuk TensorFlow, PyTorch, dan XGBoost, beserta library khusus GPU.


Referensi lainnya

  • Deep learning terdistribusi di Google Cloud: Untuk perspektif arsitektur yang lebih luas tentang penskalaan ML, lihat dokumentasi praktik terbaik untuk menerapkan machine learning. Dokumen ini memberikan rekomendasi untuk mengembangkan model yang dilatih secara kustom, termasuk pelatihan terdistribusi dan penggunaan akselerator di Google Cloud, yang terintegrasi dengan Model Registry Gemini Enterprise Agent Platform.

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.

Google Cloud