Topik ini menjelaskan cara menggunakan SQL di AnalyticDB for MySQL untuk menjalankan tugas pembelajaran mesin dengan menerapkan model Behavior Sequence Transformer (BST). Proses ini mencakup seluruh alur kerja, mulai dari transformasi data dan pembuatan model hingga pelatihan, evaluasi, dan prediksi.
Skenario
Anda dapat menggunakan kueri SQL untuk melakukan pelatihan dan inferensi model secara cepat. SQL menyederhanakan seluruh proses, termasuk pra-pemrosesan data, pelatihan, dan inferensi.
AnalyticDB for MySQL mendukung model BST. Model ini cocok digunakan dalam skenario yang memerlukan pemahaman pola perilaku pengguna, analisis preferensi pengguna, prediksi tren masa depan, atau pemberian rekomendasi personalisasi. Misalnya, di industri game atau e-commerce, Anda dapat menangkap ketergantungan jangka panjang dalam perilaku pengguna, sehingga membantu memahami dan memprediksi tindakan serta preferensi pengguna guna mengirimkan layanan dan rekomendasi yang dipersonalisasi.
Prasyarat
Kluster harus merupakan kluster Edisi Perusahaan, Edisi Dasar, atau Edisi Data Lakehouse.
Versi kernel kluster harus 3.2.4.0 atau lebih baru.
CatatanUntuk melihat dan memperbarui versi minor kluster AnalyticDB for MySQL, masuk ke Konsol AnalyticDB for MySQL dan buka bagian Configuration Information pada halaman Cluster Information.
Fitur kelompok sumber daya AI harus diaktifkan. Fitur ini berada dalam pratinjau publik. Untuk mengaktifkannya, hubungi dukungan teknis.
Langkah 1: Buat kelompok sumber daya AI dan sambungkan ke kelompok sumber daya biasa
Untuk menjalankan tugas pembelajaran mesin menggunakan SQL, Anda memerlukan dua jenis kelompok sumber daya:
Kelompok sumber daya AI: Dirancang khusus untuk mendukung tugas pembelajaran mesin, mengelola sumber daya GPU yang diperlukan, serta mendukung operasi komputasi-intensif dalam pelatihan dan prediksi model.
Kelompok sumber daya biasa: Digunakan untuk memproses kueri SQL standar, seperti menghasilkan data pelatihan atau menjalankan fungsi prediksi.
Pernyataan SQL pertama kali dikirimkan ke kelompok sumber daya biasa. Jika sistem mendeteksi bahwa pernyataan tersebut memerlukan komputasi AI, tugas tersebut secara otomatis diteruskan ke kelompok sumber daya AI yang terhubung untuk dieksekusi.
Oleh karena itu, Anda harus terlebih dahulu membuat kelompok sumber daya AI dan menyambungkannya ke kelompok sumber daya biasa.
Masuk ke Konsol AnalyticDB for MySQL. Di pojok kiri atas konsol, pilih Wilayah. Di panel navigasi sebelah kiri, klik Clusters. Temukan kluster yang ingin Anda kelola dan klik ID kluster tersebut.
Di panel navigasi sebelah kiri, pilih Cluster Management > Resource Management, lalu klik tab Resource Groups.
Di pojok kanan atas daftar kelompok sumber daya, klik Create Resource Group untuk membuat kelompok sumber daya AI.
Parameter
Deskripsi
Resource Group Name
Nama kustom untuk kelompok sumber daya. Nama harus terdiri dari 2 hingga 30 karakter, dimulai dengan huruf, dan hanya boleh berisi huruf, angka, dan garis bawah.
Job Type
Dari daftar tarik-turun, pilih AI.
PentingJika opsi AI tidak tersedia, fitur kelompok sumber daya AI belum diaktifkan untuk instans Anda. Hubungi dukungan teknis.
Specifications
Kombinasi sumber daya GPU, CPU, dan memori. Anda dapat memilih ADB.MLLarge.24, ADB.MLLarge.2, atau ADB.MLAdvavced.6.
Minimum Resources
Jumlah minimum unit sumber daya.
Maximum Resources
Jumlah maksimum unit sumber daya.
Klik OK untuk membuat kelompok sumber daya.
Temukan kelompok sumber daya biasa yang dituju. Di kolom Actions, klik Modify. Gunakan ML Job Resubmission Rules untuk menyambungkan kelompok sumber daya biasa ke kelompok sumber daya AI yang baru dibuat.
Langkah 2: Transformasi data
Transformasi data adalah proses mengonversi data mentah ke format yang sesuai untuk pelatihan model. Proses ini bergantung pada tiga faktor utama: format data mentah, lokasi penyimpanannya, dan format data masukan yang dibutuhkan oleh model.
Persyaratan skema tabel untuk data pelatihan model
Kolom fitur masukan: Kolom ini harus berupa string yang berisi rangkaian bilangan bulat yang dipisahkan koma. Setiap entri merepresentasikan vektor fitur dari suatu sampel.
Kolom label target: Kolom ini berisi dua nilai yang mungkin, seperti 0 atau 1, untuk merepresentasikan label kelas dalam tugas klasifikasi.
Contoh skema tabel: ('1,2,3',0), ('3,2,1',1).
Metode transformasi data
Jika format data mentah Anda berbeda dari format yang dibutuhkan untuk pelatihan model, gunakan metode berikut untuk mentransformasi data:
Persiapkan paket JAR: Kemas program transformasi data Spark Anda ke dalam file JAR dan unggah ke Bucket OSS.
Konfigurasikan parameter pekerjaan Spark: Saat mengirimkan pekerjaan Spark, konfigurasikan parameter yang diperlukan. Untuk informasi lebih lanjut mengenai parameter tersebut, lihat Parameter Konfigurasi Aplikasi Spark.
Jika data mentah Anda sudah memenuhi persyaratan format untuk pelatihan model, Anda dapat melewati langkah ini.
Langkah 3: Pembuatan dan pelatihan model
Buat model pembelajaran mesin, definisikan parameternya, tentukan data pelatihan, dan periksa status model.
Di panel navigasi sebelah kiri, pilih .
Di SQL Console, gunakan pernyataan model untuk membuat dan melatih model.
-- Create a model
-- Specify the resource group
/*+resource_group=itrain*/
CREATE MODEL bstdemo.bst-- Model name
OPTIONS (
model_type='bst_classification', -- Model type
feature_cols=(event_list), -- Feature column
target_cols=(target), -- Target column to predict
hyperparameters = ( -- Other model hyperparameters
use_best_ckpt = 'False',
early_stopping_patience='0'
)
)
AS SELECT event_list, target FROM bstdemo.adb; -- Source of model data. The result of this query is used to train the model with the specified variables.
-- Check the model training status. The training is complete when the status changes to READY.
SHOW MODEL bstdemo.bst;Langkah 4: Evaluasi model
Evaluasi model pembelajaran mesin yang telah dibuat untuk memvalidasi kinerjanya.
-- The statement format is similar to the one for creating a model.
/*resource_group=rg1*/
EVALUATE MODEL bstdemo.bst
OPTIONS (
feature_cols=(event_list),
target_cols=(target),
)
AS SELECT event_list, target FROM bstdemo.adb01;Langkah 5: Prediksi model
Pilih kolom fitur dari tabel, teruskan data ke model yang telah dilatih, dan peroleh hasil prediksi berdasarkan data masukan ini.
-- Use the trained model for prediction.
-- The first parameter of the ml_predict function is the model name. Subsequent parameters are the model's input columns.
SELECT ML_PREDICT('bstdemo.bst', event_list) FROM bstdemo.adb02;