Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
XGBoost
-
Penanganannya yang kuat dari berbagai tipe data, hubungan, distribusi.
-
Berbagai hiperparameter yang dapat Anda sesuaikan.
Anda dapat menggunakan XGBoost untuk regresi, klasifikasi (biner dan multiclass), dan masalah peringkat.
Anda dapat menggunakan rilis baru XGBoost algoritme sebagai:
-
Algoritma bawaan Amazon SageMaker AI.
-
Kerangka kerja untuk menjalankan skrip pelatihan di lingkungan lokal Anda.
Implementasi ini memiliki footprint memori yang lebih kecil, logging yang lebih baik, validasi hyperparameter yang lebih baik, dan set metrik yang lebih besar daripada versi aslinya. Ini menyediakan XGBoost estimator
yang menjalankan skrip pelatihan di XGBoost lingkungan yang dikelola. Rilis SageMaker AI saat ini XGBoost didasarkan pada XGBoost versi asli 1.0, 1.2, 1.3, 1.5, dan 1.7.
Untuk informasi selengkapnya tentang XGBoost algoritme Amazon SageMaker AI, lihat posting blog berikut:
Versi yang didukung
-
Mode kerangka kerja (sumber terbuka): 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1
-
Modus algoritma: 1.2-1, 1.2-2, 1.3-1, 1.5-1, 1.7-1
Awas
Karena kapasitas komputasi yang diperlukan, SageMaker AI versi 1.7-1 tidak XGBoost kompatibel dengan instans GPU dari keluarga instans P2 untuk pelatihan atau inferensi.
penting
Saat Anda mengambil URI XGBoost gambar SageMaker AI, jangan gunakan :latest
atau :1
untuk tag URI gambar. Anda harus menentukan salah satu XGBoost wadah yang SageMaker dikelola AI dengan versi XGBoost paket asli yang ingin Anda gunakan. Versi yang didukung Untuk menemukan versi paket yang dimigrasikan ke XGBoost kontainer SageMaker AI, lihat Docker Registry Paths dan Example Code. Kemudian pilih Anda Wilayah AWS, dan arahkan ke bagian XGBoost (algoritma).
Awas
Versi XGBoost 0.90 tidak digunakan lagi. Dukungan untuk pembaruan keamanan atau perbaikan bug untuk XGBoost 0,90 dihentikan. Kami sangat menyarankan Anda meningkatkan XGBoost versi ke salah satu versi yang lebih baru.
catatan
XGBoost v1.1 tidak didukung pada SageMaker AI. XGBoost 1.1 memiliki kemampuan rusak untuk menjalankan prediksi ketika input pengujian memiliki lebih sedikit fitur daripada data pelatihan dalam input LIBSVM. Kemampuan ini telah dipulihkan di XGBoost v1.2. Pertimbangkan untuk menggunakan SageMaker AI XGBoost 1.2-2 atau yang lebih baru.
catatan
Anda dapat menggunakan XGBoost v1.0-1, tetapi tidak didukung secara resmi.
EC2 rekomendasi contoh untuk XGBoost algoritme
SageMaker AI XGBoost mendukung pelatihan dan inferensi CPU dan GPU. Rekomendasi instans tergantung pada kebutuhan pelatihan dan inferensi, serta versi XGBoost algoritme. Pilih salah satu opsi berikut untuk informasi lebih lanjut:
Pelatihan
XGBoost Algoritma SageMaker AI mendukung pelatihan CPU dan GPU.
Pelatihan CPU
SageMaker AI XGBoost 1.0-1 atau sebelumnya hanya menggunakan kereta. CPUs Ini adalah algoritma yang terikat memori (sebagai lawan dari compute-bound). Jadi, instance komputasi tujuan umum (misalnya, M5) adalah pilihan yang lebih baik daripada instance yang dioptimalkan komputasi (misalnya, C4). Selanjutnya, kami menyarankan Anda memiliki memori total yang cukup dalam instance yang dipilih untuk menyimpan data pelatihan. Ini mendukung penggunaan ruang disk untuk menangani data yang tidak sesuai dengan memori utama. Ini adalah hasil dari out-of-core fitur yang tersedia dengan modus input libsvm. Meski begitu, menulis file cache ke disk memperlambat waktu pemrosesan algoritma.
Pelatihan GPU
SageMaker AI XGBoost versi 1.2-2 atau yang lebih baru mendukung pelatihan GPU. Meskipun biaya per instans lebih tinggi, GPUs latih lebih cepat, membuatnya lebih hemat biaya.
SageMaker AI XGBoost versi 1.2-2 atau yang lebih baru mendukung keluarga instans GPU P2, P3, G4dn, dan G5.
SageMaker AI XGBoost versi 1.7-1 atau yang lebih baru mendukung keluarga instans GPU P3, G4dn, dan G5. Perhatikan bahwa karena persyaratan kapasitas komputasi, versi 1.7-1 atau yang lebih baru tidak mendukung keluarga instans P2.
Untuk memanfaatkan pelatihan GPU:
-
Tentukan jenis instance sebagai salah satu instance GPU (misalnya, P3)
-
Setel
tree_method
hyperparameter kegpu_hist
dalam skrip yang ada XGBoost
Pelatihan terdistribusi
SageMaker AI XGBoost mendukung instans CPU dan GPU untuk pelatihan terdistribusi.
Pelatihan CPU terdistribusi
Untuk menjalankan pelatihan CPU pada beberapa instance, atur instance_count
parameter untuk estimator ke nilai yang lebih besar dari satu. Data input harus dibagi antara jumlah total instance.
Bagilah data masukan di seluruh instance
Bagilah data input menggunakan langkah-langkah berikut:
-
Pecah data input menjadi file yang lebih kecil. Jumlah file harus setidaknya sama dengan jumlah instance yang digunakan untuk pelatihan terdistribusi. Menggunakan beberapa file yang lebih kecil sebagai lawan dari satu file besar juga mengurangi waktu pengunduhan data untuk pekerjaan pelatihan.
-
Saat membuat Anda TrainingInput
, atur parameter distribusi ke ShardedByS3Key
. Dengan ini, setiap instance mendapat sekitar 1/n dari jumlah file di S3 jika ada n instance yang ditentukan dalam pekerjaan pelatihan.
Pelatihan GPU terdistribusi
Anda dapat menggunakan pelatihan terdistribusi dengan instans GPU tunggal atau multi-GPU.
Pelatihan terdistribusi dengan instans GPU tunggal
SageMaker AI XGBoost versi 1.2-2 hingga 1.3-1 hanya mendukung pelatihan instans GPU tunggal. Ini berarti bahwa bahkan jika Anda memilih instance multi-GPU, hanya satu GPU yang digunakan per instance.
Anda harus membagi data input Anda antara jumlah total instance jika:
-
Anda menggunakan XGBoost versi 1.2-2 hingga 1.3-1.
-
Anda tidak perlu menggunakan instans multi-GPU.
Untuk informasi selengkapnya, lihat Bagilah data masukan di seluruh instance.
catatan
Versi 1.2-2 hingga 1.3-1 SageMaker AI XGBoost hanya menggunakan satu GPU per instans bahkan jika Anda memilih instans multi-GPU.
Pelatihan terdistribusi dengan instans multi-GPU
Dimulai dengan versi 1.5-1, SageMaker AI XGBoost menawarkan pelatihan GPU terdistribusi dengan Dask.
Berlatih dengan Dask menggunakan langkah-langkah berikut:
Entah menghilangkan
distribution
parameter di Anda TrainingInputatau mengaturnya ke FullyReplicated
.Saat mendefinisikan hyperparameters Anda, atur
use_dask_gpu_training
ke."true"
penting
Pelatihan terdistribusi dengan Dask hanya mendukung format input CSV dan Parket. Jika Anda menggunakan format data lain seperti LIBSVM atau PROTOBUF, pekerjaan pelatihan gagal.
Untuk data Parket, pastikan bahwa nama kolom disimpan sebagai string. Kolom yang memiliki nama tipe data lain akan gagal dimuat.
penting
Pelatihan terdistribusi dengan Dask tidak mendukung mode pipa. Jika mode pipa ditentukan, pekerjaan pelatihan gagal.
Ada beberapa pertimbangan yang harus diperhatikan saat melatih SageMaker AI XGBoost dengan Dask. Pastikan untuk membagi data Anda menjadi file yang lebih kecil. Dask membaca setiap file Parket sebagai partisi. Ada pekerja Dask untuk setiap GPU. Akibatnya, jumlah file harus lebih besar dari jumlah total GPUs (jumlah instance* jumlah GPUs per instance). Memiliki jumlah file yang sangat besar juga dapat menurunkan kinerja. Untuk informasi selengkapnya, lihat Praktik Terbaik Dask
Variasi dalam output
tree_method
Hyperparameter yang ditentukan menentukan algoritma yang digunakan untuk XGBoost pelatihan. Metode pohonapprox
, hist
dan semuanya gpu_hist
merupakan metode perkiraan dan menggunakan sketsa untuk perhitungan kuantil. Untuk informasi selengkapnya, lihat Metode Pohon
Inferensi
SageMaker AI XGBoost mendukung instance CPU dan GPU untuk inferensi. Untuk informasi tentang jenis instans untuk inferensi, lihat Jenis Instance Amazon SageMaker AI ML