全部产品
Search
文档中心

Platform For AI:PS-SMART Multiclass Classification

更新时间:Jul 02, 2025

Parameter server (PS) digunakan untuk memproses sejumlah besar pekerjaan pelatihan, baik offline maupun online. Scalable Multiple Additive Regression Tree (SMART) adalah algoritma iteratif yang diimplementasikan menggunakan PS berbasis pohon keputusan peningkatan gradien (GBDT). Komponen PS-SMART Multiclass Classification dari Platform for AI (PAI) mendukung pekerjaan pelatihan untuk puluhan miliar sampel dan ratusan ribu fitur. Komponen ini dapat menjalankan pekerjaan pelatihan pada ribuan node serta mendukung berbagai format data dan teknologi optimasi, seperti pendekatan menggunakan histogram.

Batasan

Data input komponen PS-SMART Multiclass Classification harus memenuhi persyaratan berikut:

  • Data di kolom tujuan harus bertipe numerik. Jika tipe data dalam tabel MaxCompute adalah STRING, data tersebut harus dikonversi menjadi tipe numerik. Sebagai contoh, jika objek klasifikasi adalah string seperti Baik/Sedang/Buruk, Anda harus mengonversinya menjadi 0/1/2.

  • Jika data dalam format key-value, ID fitur harus bilangan bulat positif dan nilai fitur harus bilangan real. Jika ID fitur bertipe STRING, Anda harus menggunakan komponen serialisasi untuk menyerilisasi data. Jika nilai fitur adalah string kategorikal, Anda harus melakukan rekayasa fitur, seperti diskretisasi fitur, untuk memproses nilai-nilai tersebut.

  • Komponen PS-SMART Multiclass Classification mendukung pekerjaan terkait ratusan ribu fitur. Namun, pekerjaan ini intensif sumber daya dan memakan waktu. Untuk mengatasi masalah ini, Anda dapat menggunakan algoritma GBDT dalam pelatihan. Algoritma GBDT cocok untuk skenario di mana fitur kontinu digunakan untuk pelatihan. Anda dapat melakukan one-hot encoding pada fitur kategorikal untuk menyaring fitur dengan frekuensi rendah. Kami merekomendasikan agar Anda tidak melakukan diskretisasi fitur pada fitur kontinu dengan tipe data numerik.

  • Algoritma PS-SMART dapat memperkenalkan keacakan. Contohnya, keacakan dapat diperkenalkan dalam skenario berikut: pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimasi algoritma PS-SMART menggunakan histogram untuk pendekatan, dan penggabungan sketsa lokal ke dalam sketsa global. Struktur pohon bervariasi ketika pekerjaan dijalankan pada beberapa node pekerja dalam mode terdistribusi. Namun, efek pelatihan model secara teoritis sama. Anda mungkin mendapatkan hasil yang berbeda meskipun menggunakan data dan parameter yang sama selama pelatihan.

  • Untuk mempercepat pelatihan, Anda dapat menyetel parameter Cores ke nilai yang lebih besar. Algoritma PS-SMART memulai pekerjaan pelatihan setelah sumber daya yang diperlukan disediakan. Periode tunggu meningkat seiring dengan jumlah sumber daya yang diminta.

Catatan Penggunaan

Saat menggunakan komponen PS-SMART Multiclass Classification, perhatikan hal-hal berikut:

  • Komponen PS-SMART Multiclass Classification mendukung pekerjaan terkait ratusan ribu fitur. Namun, pekerjaan ini intensif sumber daya dan memakan waktu. Untuk mengatasi masalah ini, Anda dapat menggunakan algoritma GBDT dalam pelatihan. Algoritma GBDT cocok untuk skenario di mana fitur kontinu digunakan untuk pelatihan. Anda dapat melakukan one-hot encoding pada fitur kategorikal untuk menyaring fitur dengan frekuensi rendah. Kami merekomendasikan agar Anda tidak melakukan diskretisasi fitur pada fitur kontinu dengan tipe data numerik.

  • Algoritma PS-SMART dapat memperkenalkan keacakan. Contohnya, keacakan dapat diperkenalkan dalam skenario berikut: pengambilan sampel data dan fitur berdasarkan data_sample_ratio dan fea_sample_ratio, optimasi algoritma PS-SMART menggunakan histogram untuk pendekatan, dan penggabungan sketsa lokal ke dalam sketsa global. Struktur pohon bervariasi ketika pekerjaan dijalankan pada beberapa node pekerja dalam mode terdistribusi. Namun, efek pelatihan model secara teoritis sama. Anda mungkin mendapatkan hasil yang berbeda meskipun menggunakan data dan parameter yang sama selama pelatihan.

  • Untuk mempercepat pelatihan, Anda dapat menyetel parameter Cores ke nilai yang lebih besar. Algoritma PS-SMART memulai pekerjaan pelatihan setelah sumber daya yang diperlukan disediakan. Periode tunggu meningkat seiring dengan jumlah sumber daya yang diminta.

Konfigurasi Komponen

Metode 1: Konfigurasikan komponen di konsol PAI

Tambahkan komponen PS-SMART Multiclass Classification pada halaman pipeline Machine Learning Designer. Konfigurasikan parameter berikut:

Kategori

Parameter

Deskripsi

Fields Setting

Use Sparse Format

Tentukan apakah data input dalam format sparse. Jika data input adalah data sparse dalam format key-value, pisahkan pasangan key-value dengan spasi, dan pisahkan keys dan values dengan titik dua (:). Contoh: 1:0.3 3:0.9.

Feature Columns

Pilih kolom fitur untuk pelatihan dari tabel input. Jika data dalam tabel input dalam format padat, hanya kolom tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah pasangan key-value dalam format sparse, dan keys dan values adalah tipe data numerik, hanya kolom tipe STRING yang didukung.

Label Column

Kolom label dalam tabel input. Kolom tipe STRING dan tipe data numerik didukung. Namun, hanya data tipe data numerik yang dapat disimpan dalam kolom. Sebagai contoh, nilai kolom dapat berupa 0 atau 1 dalam klasifikasi biner.

Weight Column

Pilih kolom yang berisi bobot setiap baris sampel. Kolom tipe data numerik didukung.

Parameters Setting

Classes

Jumlah kelas untuk klasifikasi multikelas. Jika Anda menetapkan parameter ini ke n, nilai kolom label adalah {0,1,2,...,n-1}.

Evaluation Indicator Type

Anda dapat menetapkan parameter ini ke Multiclass Negative Log Likelihood atau Multiclass Classification Error.

Trees

Jumlah pohon. Nilainya harus bilangan bulat positif. Nilai Trees sebanding dengan durasi pelatihan.

Maximum Decision Tree Depth

Nilai defaultnya adalah 5, yang menunjukkan bahwa hingga 32 simpul daun dapat dikonfigurasi.

Data Sampling Ratio

Rasio pengambilan sampel data saat pohon dibangun. Data sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

Feature Sampling Fraction

Rasio pengambilan sampel fitur saat pohon dibangun. Fitur sampel digunakan untuk membangun pembelajar lemah untuk mempercepat pelatihan.

L1 Penalty Coefficient

Ukuran simpul daun. Nilai yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

L2 Penalty Coefficient

Ukuran simpul daun. Nilai yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

Learning Rate

Masukkan tingkat pembelajaran. Nilai valid: (0,1).

Sketch-based Approximate Precision

Masukkan ambang batas untuk memilih kuantil saat Anda membangun sketsa. Nilai yang lebih kecil menunjukkan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default 0.03 digunakan.

Minimum Split Loss Change

Masukkan perubahan loss minimum yang diperlukan untuk membagi sebuah simpul. Nilai yang lebih besar menunjukkan probabilitas pemisahan simpul yang lebih rendah.

Features

Masukkan jumlah fitur atau ID fitur maksimum. Konfigurasikan parameter ini jika Anda ingin mengevaluasi penggunaan sumber daya.

Global Offset

Masukkan nilai prediksi awal semua sampel.

Random Seed

Masukkan benih acak. Nilai parameter ini harus berupa bilangan bulat.

Feature Importance Type

Jenis fitur. Nilai valid:

  • Weight: jumlah pemisahan fitur.

  • Gain: informasi gain yang diberikan oleh fitur.

  • Cover: jumlah sampel yang dicakup oleh fitur pada simpul pemisahan.

Tuning

Cores

Jumlah core. Secara default, sistem menentukan nilainya.

Memory Size per Core (MB)

Ukuran memori setiap core. Unit: MB. Dalam kebanyakan kasus, sistem menentukan ukuran memori.

Metode 2: Konfigurasikan komponen menggunakan perintah PAI

Gunakan perintah PAI untuk mengonfigurasi komponen PS-SMART Multiclass Classification. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

--Pelatihan 
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"
--Prediksi 
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

Diperlukan

Nilai Default

Deskripsi

Parameter data

featureColNames

Ya

N/A

Kolom fitur yang dipilih dari tabel input untuk pelatihan. Jika data dalam tabel input dalam format padat, hanya kolom tipe BIGINT dan DOUBLE yang didukung. Jika data dalam tabel input adalah data sparse dalam format key-value, dan keys dan values adalah tipe data numerik, hanya kolom tipe STRING yang didukung.

labelColName

Ya

N/A

Kolom label dalam tabel input. Kolom tipe STRING dan tipe data numerik didukung. Namun, hanya data tipe data numerik yang dapat disimpan dalam kolom. Sebagai contoh, nilai kolom dapat berupa {0,1,2,…,n-1} dalam klasifikasi multikelas. n menunjukkan jumlah kelas.

weightCol

Tidak

N/A

Pilih kolom yang berisi bobot setiap baris sampel. Kolom tipe data numerik didukung.

enableSparse

Tidak

false

Tentukan apakah data input dalam format sparse. Nilai valid: true and false. Jika data input adalah data sparse dalam format key-value, pisahkan pasangan key-value dengan spasi, dan pisahkan keys dan values dengan titik dua (:). Contoh: 1:0.3 3:0.9.

inputTableName

Ya

N/A

Nama tabel input.

modelName

Ya

N/A

Nama model output.

outputImportanceTableName

Tidak

N/A

Nama tabel yang berisi pentingnya fitur.

inputTablePartitions

Tidak

N/A

Partisi yang dipilih dari tabel input untuk pelatihan. Format: ds=1/pt=1.

outputTableName

Tidak

N/A

Tabel MaxCompute yang dihasilkan. Tabel ini adalah file biner yang tidak dapat dibaca dan hanya dapat diperoleh menggunakan komponen prediksi PS-SMART.

lifecycle

Tidak

3

Lifecycle tabel output.

Parameter algoritma

classNum

Ya

N/A

Jumlah kelas untuk klasifikasi multikelas. Jika Anda menetapkan parameter ini ke n, nilai kolom label adalah {0,1,2,...,n-1}.

objective

Ya

N/A

Jenis fungsi objektif. Jika Anda menggunakan klasifikasi multikelas untuk pelatihan, tentukan fungsi objektif multi:softprob.

metric

Tidak

N/A

Jenis metrik evaluasi set pelatihan, yang ditentukan dalam stdout koordinator dalam logview. Nilai valid:

  • mlogloss: sesuai dengan nilai Multiclass Negative Log Likelihood dari parameter Jenis Indeks Evaluasi di konsol.

  • merror: sesuai dengan nilai Multiclass Classification Error dari parameter Jenis Indeks Evaluasi di konsol.

treeCount

Tidak

1

Jumlah pohon. Nilainya sebanding dengan jumlah waktu pelatihan.

maxDepth

Tidak

5

Kedalaman maksimum pohon. Nilai valid: 1 hingga 20.

sampleRatio

Tidak

1.0

Rasio pengambilan sampel data. Nilai valid: (0,1]. Jika Anda menetapkan parameter ini ke 1.0, tidak ada data yang diambil sampelnya.

featureRatio

Tidak

1.0

Rasio pengambilan sampel fitur. Nilai valid: (0,1]. Jika Anda menetapkan parameter ini ke 1.0, tidak ada data yang diambil sampelnya.

l1

Tidak

0

Koefisien penalti L1. Nilai yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

l2

Tidak

1.0

Koefisien penalti L2. Nilai yang lebih besar menunjukkan distribusi simpul daun yang lebih merata. Jika terjadi overfitting, tingkatkan nilai parameter ini.

shrinkage

Tidak

0.3

Nilai valid: (0,1).

sketchEps

Tidak

0.03

Ambang batas untuk memilih kuantil saat Anda membangun sketsa. Jumlah bin adalah O(1.0/sketchEps). Nilai yang lebih kecil menunjukkan bahwa lebih banyak bin dapat diperoleh. Dalam kebanyakan kasus, nilai default digunakan. Nilai valid: (0,1).

minSplitLoss

Tidak

0

Perubahan loss minimum yang diperlukan untuk membagi sebuah simpul. Nilai yang lebih besar menunjukkan probabilitas pemisahan simpul yang lebih rendah.

featureNum

Tidak

N/A

Jumlah fitur atau ID fitur maksimum. Konfigurasikan parameter ini jika Anda ingin mengevaluasi penggunaan sumber daya.

baseScore

Tidak

0.5

Nilai prediksi awal semua sampel.

randSeed

Tidak

N/A

Benih acak. Nilai parameter ini harus berupa bilangan bulat.

featureImportanceType

Tidak

gain

Jenis pentingnya fitur. Nilai valid:

  • weight: menunjukkan jumlah pemisahan fitur.

  • gain: menunjukkan informasi gain yang diberikan oleh fitur.

  • cover: menunjukkan jumlah sampel yang dicakup oleh fitur pada simpul pemisahan.

Parameter penalaan

coreNum

Tidak

Dialokasikan secara otomatis

Jumlah core yang digunakan dalam komputasi. Kecepatan algoritma komputasi meningkat seiring dengan nilai parameter ini.

memSizePerCore

Tidak

Dialokasikan secara otomatis

Ukuran memori setiap core. Unit: MB.

Penerapan Model PS-SMART

Jika Anda ingin menerapkan model yang dihasilkan oleh komponen Pelatihan Klasifikasi Biner PS-SMART ke EAS sebagai layanan online, Anda harus menambahkan komponen Model export sebagai node hilir untuk komponen Pelatihan Klasifikasi Biner PS-SMART dan mengonfigurasi komponen Ekspor Model. Untuk informasi lebih lanjut, lihat Ekspor Model.

Setelah komponen Ekspor Model berhasil dijalankan, Anda dapat menerapkan model yang dihasilkan ke EAS sebagai layanan online di halaman EAS-Online Model Services. Untuk informasi lebih lanjut, lihat Parameter untuk penyebaran kustom di konsol.