All Products
Search
Document Center

Platform For AI:PS-SMART klasifikasi multikelas

Last Updated:Mar 11, 2026

Parameter Server (PS) dirancang untuk tugas pelatihan offline dan online berskala besar. Scalable Multiple Additive Regression Tree (SMART) adalah algoritma iteratif berbasis Gradient Boosting Decision Tree (GBDT) yang diimplementasikan pada PS. PS-SMART mendukung pelatihan dengan puluhan miliar sampel dan ratusan ribu fitur, serta dapat berjalan pada ribuan node. Komponen ini juga mendukung berbagai format data dan teknik optimasi, seperti histogram approximation.

Batasan

Data masukan untuk komponen PS-SMART klasifikasi multikelas harus memenuhi persyaratan berikut:

  • Kolom target hanya mendukung tipe numerik. Jika data dalam tabel MaxCompute bertipe STRING, Anda harus mengonversi tipe datanya. Misalnya, jika target klasifikasi berupa string Good/Medium/Bad, Anda harus mengonversinya menjadi 0/1/2.

  • Jika data dalam format KV, ID fitur harus berupa bilangan bulat positif dan nilai fitur harus berupa bilangan real. Jika ID fitur berupa string, Anda dapat menggunakan komponen serialize untuk melakukan serialisasi. Jika nilai fitur berupa string kategorikal, Anda dapat melakukan rekayasa fitur, seperti diskretisasi fitur.

  • Komponen PS-SMART klasifikasi multikelas mendukung tugas dengan ratusan ribu fitur. Namun, tugas semacam ini mengonsumsi sumber daya secara signifikan dan berjalan lambat. Algoritma GBDT cocok untuk pelatihan langsung dengan fitur kontinu. Oleh karena itu, kecuali untuk melakukan one-hot encoding pada fitur kategorikal guna menyaring fitur dengan frekuensi rendah, hindari diskretisasi pada fitur numerik kontinu lainnya.

  • Algoritma PS-SMART memperkenalkan elemen keacakan, seperti pengambilan sampel data dan fitur yang dikendalikan oleh parameter data_sample_ratio dan fea_sample_ratio, optimasi histogram approximation yang digunakan algoritma, serta urutan acak saat menggabungkan local sketch menjadi global sketch. Meskipun struktur pohon mungkin berbeda ketika beberapa worker berjalan secara terdistribusi, performa model secara teoretis tetap serupa. Oleh karena itu, wajar jika hasil yang diperoleh tidak konsisten dalam beberapa kali eksekusi meskipun menggunakan data dan parameter yang sama.

  • Untuk mempercepat pelatihan, Anda dapat menambahkan number of computing cores. Namun, algoritma PS-SMART hanya akan memulai pelatihan setelah semua server mendapatkan sumber daya yang diperlukan. Akibatnya, permintaan sumber daya tambahan saat kluster sedang sibuk akan meningkatkan waktu tunggu.

Catatan

Perhatikan hal-hal berikut saat menggunakan komponen PS-SMART klasifikasi multikelas:

  • Komponen PS-SMART klasifikasi multikelas mendukung tugas dengan ratusan ribu fitur. Namun, tugas semacam ini mengonsumsi sumber daya secara signifikan dan berjalan lambat. Algoritma GBDT cocok untuk pelatihan langsung dengan fitur kontinu. Oleh karena itu, kecuali untuk melakukan one-hot encoding pada fitur kategorikal guna menyaring fitur dengan frekuensi rendah, hindari diskretisasi pada fitur numerik kontinu lainnya.

  • Algoritma PS-SMART memperkenalkan elemen keacakan, seperti pengambilan sampel data dan fitur yang dikendalikan oleh parameter data_sample_ratio dan fea_sample_ratio, optimasi histogram approximation yang digunakan algoritma, serta urutan acak saat menggabungkan local sketch menjadi global sketch. Meskipun struktur pohon mungkin berbeda ketika beberapa worker berjalan secara terdistribusi, performa model secara teoretis tetap serupa. Oleh karena itu, wajar jika hasil yang diperoleh tidak konsisten dalam beberapa kali eksekusi meskipun menggunakan data dan parameter yang sama.

  • Anda dapat menambahkan number of computing cores untuk mempercepat pelatihan. Namun, algoritma PS-SMART hanya memulai pelatihan setelah semua server mendapatkan sumber daya yang diperlukan. Akibatnya, permintaan sumber daya tambahan saat kluster sedang sibuk akan meningkatkan waktu tunggu.

Konfigurasi komponen

Metode 1: Gunakan GUI

Dalam alur kerja Designer, tambahkan komponen PS-SMART multiclass classification dan konfigurasikan parameternya di panel sebelah kanan:

Tipe parameter

Parameter

Deskripsi

Pengaturan kolom

Is sparse format

Untuk format sparse, gunakan spasi untuk memisahkan pasangan KV dan tanda titik dua (:) untuk memisahkan key dan value. Contoh: 1:0.3 3:0.9.

Feature columns

Kolom fitur dari tabel input yang digunakan untuk pelatihan. Jika data input dalam format dense, Anda hanya dapat memilih kolom bertipe numerik (BIGINT atau DOUBLE). Jika data input dalam format sparse KV dan baik key maupun value bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

Label column

Kolom label dari tabel input. Tipe STRING dan numerik didukung. Untuk penyimpanan internal, hanya tipe numerik yang didukung. Contohnya, 0 dan 1 dalam klasifikasi biner.

Weight column

Kolom yang digunakan untuk memberi bobot pada setiap baris sampel. Hanya tipe numerik yang didukung.

Pengaturan parameter

Number of classes

Jumlah kelas untuk klasifikasi multikelas. Jika jumlah kelas adalah n, nilai dalam kolom label harus berupa {0,1,2,...,n-1}.

Evaluation metric type

Tipe yang didukung adalah multiclass negative log likelihood dan multiclass classification error.

Number of trees

Jumlah pohon. Nilai ini harus berupa bilangan bulat positif. Waktu pelatihan sebanding dengan jumlah pohon.

Maximum tree depth

Nilai default adalah 5, yang berarti maksimal 32 leaf node.

Data sampling ratio

Saat membangun setiap pohon, ambil sebagian data untuk membangun weak learner dan mempercepat pelatihan.

Feature sampling ratio

Saat membangun setiap pohon, ambil sebagian fitur untuk membangun weak learner dan mempercepat pelatihan.

L1 penalty coefficient

Mengontrol ukuran leaf node. Nilai yang lebih besar menghasilkan distribusi ukuran leaf node yang lebih merata. Tingkatkan nilai ini jika terjadi overfitting.

L2 penalty coefficient

Mengontrol ukuran leaf node. Nilai yang lebih besar menghasilkan distribusi ukuran leaf node yang lebih merata. Tingkatkan nilai ini jika terjadi overfitting.

Learning rate

Nilai harus berada dalam rentang (0,1).

Approximate sketch precision

Ambang batas kuantil untuk membangun sketch. Nilai yang lebih kecil menghasilkan lebih banyak bucket. Biasanya, gunakan nilai default 0.03. Tidak perlu dikonfigurasi secara manual.

Minimum split loss change

Perubahan loss minimum yang diperlukan untuk membagi sebuah node. Nilai yang lebih besar membuat pembagian lebih konservatif.

Number of features

Jumlah fitur atau ID fitur maksimum. Anda harus mengonfigurasi parameter ini untuk memperkirakan penggunaan resource.

Global bias

Nilai prediksi awal untuk semua sampel.

Random number generator seed

Seed bilangan acak. Harus berupa bilangan bulat.

Feature importance type

Nilainya dapat berupa salah satu dari berikut:

  • Jumlah kali fitur digunakan untuk splitting dalam model.

  • Information gain yang dibawa oleh fitur dalam model.

  • Jumlah sampel yang dicakup oleh fitur pada node split dalam model.

Execution tuning

Number of cores

Secara default, sistem secara otomatis mengalokasikan core.

Memory size per core

Memori yang digunakan oleh satu core, dalam MB. Biasanya tidak perlu dikonfigurasi secara manual. Sistem mengalokasikan memori secara otomatis.

Metode 2: Gunakan perintah PAI

Anda dapat menggunakan komponen skrip SQL untuk memanggil perintah PAI dan mengonfigurasi parameter komponen PS-SMART multiclass classification. Untuk informasi selengkapnya, lihat Skenario 4: Eksekusi perintah PAI dalam komponen skrip SQL.

--Train
PAI -name ps_smart
    -project algo_public
    -DinputTableName="smart_multiclass_input"
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545859_2"
    -DoutputImportanceTableName="pai_temp_24515_545859_3"
    -DlabelColName="label"
    -DfeatureColNames="features"
    -DenableSparse="true"
    -Dobjective="multi:softprob"
    -Dmetric="mlogloss"
    -DfeatureImportanceType="gain"
    -DtreeCount="5"
    -DmaxDepth="5"
    -Dshrinkage="0.3"
    -Dl2="1.0"
    -Dl1="0"
    -Dlifecycle="3"
    -DsketchEps="0.03"
    -DsampleRatio="1.0"
    -DfeatureRatio="1.0"
    -DbaseScore="0.5"
    -DminSplitLoss="0"
--Predict
PAI -name prediction
    -project algo_public
    -DinputTableName="smart_multiclass_input";
    -DmodelName="xlab_m_pai_ps_smart_bi_545859_v0"
    -DoutputTableName="pai_temp_24515_545860_1"
    -DfeatureColNames="features"
    -DappendColNames="label,features"
    -DenableSparse="true"
    -DkvDelimiter=":"
    -Dlifecycle="28"

Modul

Parameter

Wajib

Nilai default

Deskripsi

Parameter data

featureColNames

Ya

Tidak ada

Kolom fitur dari tabel input yang digunakan untuk pelatihan. Jika tabel input dalam format dense, Anda hanya dapat memilih kolom bertipe numerik (BIGINT atau DOUBLE). Jika tabel input dalam format sparse KV dan key serta value dalam format KV bertipe numerik, Anda hanya dapat memilih kolom bertipe STRING.

labelColName

Ya

Tidak ada

Kolom label dari tabel input. Tipe STRING dan numerik didukung. Untuk penyimpanan internal, hanya tipe numerik yang didukung. Misalnya, untuk klasifikasi multikelas, nilainya dapat berupa {0,1,2,…,n-1}, dengan n sebagai jumlah kelas.

weightCol

Tidak

Tidak ada

Kolom yang digunakan untuk memberi bobot pada setiap baris sampel. Hanya tipe numerik yang didukung.

enableSparse

Tidak

false

Menentukan apakah data dalam format sparse. Nilai yang valid adalah {true,false}. Untuk format sparse, gunakan spasi untuk memisahkan pasangan KV dan tanda titik dua (:) untuk memisahkan key dan value. Contoh: 1:0.3 3:0.9.

inputTableName

Ya

Tidak ada

Nama tabel input.

modelName

Ya

Tidak ada

Nama model output.

outputImportanceTableName

Tidak

Tidak ada

Nama tabel output untuk feature importance.

inputTablePartitions

Tidak

Tidak ada

Formatnya adalah ds=1/pt=1.

outputTableName

Tidak

Tidak ada

Tabel output di MaxCompute. Formatnya biner dan tidak dapat dibaca langsung. Hanya dapat diakses oleh komponen SMART prediction.

lifecycle

Tidak

3

Siklus hidup tabel output.

Parameter algoritma

classNum

Ya

Tidak ada

Jumlah kelas untuk klasifikasi multikelas. Jika jumlah kelas adalah n, nilai dalam kolom label harus berupa {0,1,2,...,n-1}.

objective

Ya

Tidak ada

Tipe fungsi objektif. Untuk pelatihan klasifikasi multikelas, pilih multi:softprob.

metric

Tidak

Tidak ada

Tipe metrik evaluasi untuk set data pelatihan. Output ditulis ke stdout di area Coordinator file Logview. Tipe yang didukung meliputi:

  • mlogloss: Sesuai dengan tipe multiclass negative log likelihood di GUI.

  • merror: Sesuai dengan tipe multiclass classification error di GUI.

treeCount

Tidak

1

Jumlah pohon. Waktu pelatihan sebanding dengan nilai ini.

maxDepth

Tidak

5

Kedalaman maksimum pohon. Nilai harus berada dalam rentang 1 hingga 20.

sampleRatio

Tidak

1.0

Rasio pengambilan sampel data. Nilai harus berada dalam rentang (0,1]. Nilai 1.0 berarti tidak ada pengambilan sampel.

featureRatio

Tidak

1.0

Rasio pengambilan sampel fitur. Nilai harus berada dalam rentang (0,1]. Nilai 1.0 berarti tidak ada pengambilan sampel.

l1

Tidak

0

Koefisien penalti L1. Nilai yang lebih besar menghasilkan distribusi leaf node yang lebih merata. Tingkatkan nilai ini jika terjadi overfitting.

l2

Tidak

1.0

Koefisien penalti L2. Nilai yang lebih besar menghasilkan distribusi leaf node yang lebih merata. Tingkatkan nilai ini jika terjadi overfitting.

shrinkage

Tidak

0.3

Nilai harus berada dalam rentang (0,1).

sketchEps

Tidak

0.03

Ambang batas kuantil untuk membangun sketch. Jumlah bucket adalah O(1.0/sketchEps). Nilai yang lebih kecil menghasilkan lebih banyak bucket. Biasanya, gunakan nilai default. Tidak perlu dikonfigurasi secara manual. Nilai harus berada dalam rentang (0,1).

minSplitLoss

Tidak

0

Perubahan loss minimum yang diperlukan untuk membagi sebuah node. Nilai yang lebih besar membuat pembagian lebih konservatif.

featureNum

Tidak

Tidak ada

Jumlah fitur atau ID fitur maksimum. Anda harus mengonfigurasi parameter ini untuk memperkirakan penggunaan resource.

baseScore

Tidak

0.5

Nilai prediksi awal untuk semua sampel.

randSeed

Tidak

Tidak ada

Seed bilangan acak. Harus berupa bilangan bulat.

featureImportanceType

Tidak

gain

Tipe pentingnya fitur yang akan dihitung. Meliputi:

  • weight: Jumlah kali fitur digunakan sebagai fitur split dalam model.

  • gain: Information gain yang dibawa oleh fitur dalam model.

  • cover: Jumlah sampel yang dicakup oleh fitur pada node split dalam model.

Parameter tuning

coreNum

Tidak

Dialokasikan sistem

Jumlah core. Nilai yang lebih besar membuat algoritma berjalan lebih cepat.

memSizePerCore

Tidak

Dialokasikan sistem

Memori yang digunakan oleh setiap core, dalam MB.

Penerapan model

Untuk menerapkan model yang dihasilkan oleh komponen PS-SMART sebagai layanan online, tambahkan komponen General-purpose Model Export di downstream komponen PS-SMART. Konfigurasikan parameter komponen tersebut sebagaimana pada komponen seri PS lainnya. Untuk informasi selengkapnya, lihat General-purpose Model Export.

Setelah eksekusi berhasil, buka halaman PAI-EAS Model Online Service untuk menerapkan layanan model. Untuk informasi selengkapnya, lihat Deploy a service in the console.