Salah satu model terpopuler yang tersedia saat ini adalah XGBoost. Dengan kemampuan untuk menyelesaikan berbagai masalah seperti klasifikasi dan regresi, XGBoost telah menjadi pilihan populer yang juga masuk dalam kategori model berbasis pohon. Dalam posting ini, kami menyelam lebih dalam untuk melihat caranya Amazon SageMaker dapat melayani model ini menggunakan Server Inferensi NVIDIA Triton. Beban kerja inferensi real-time dapat memiliki berbagai tingkat persyaratan dan perjanjian tingkat layanan (SLA) dalam hal latensi dan throughput, dan dapat dipenuhi menggunakan titik akhir real-time SageMaker.
SageMaker menyediakan titik akhir model tunggal, yang memungkinkan Anda menerapkan model machine learning (ML) tunggal terhadap titik akhir yang logis. Untuk kasus penggunaan lainnya, Anda dapat memilih untuk mengelola biaya dan kinerja menggunakan titik akhir multi-model, yang memungkinkan Anda menentukan beberapa model untuk dihosting di belakang titik akhir yang logis. Terlepas dari opsi yang Anda pilih, titik akhir SageMaker memungkinkan mekanisme yang dapat diskalakan bahkan untuk pelanggan perusahaan yang paling menuntut sekalipun sambil memberikan nilai dalam banyak fitur, termasuk varian bayangan, penskalaan otomatis, dan integrasi asli dengan amazoncloudwatch (untuk informasi lebih lanjut, lihat Metrik CloudWatch untuk Penerapan Titik Akhir Multi-Model).
Triton mendukung berbagai backend sebagai mesin untuk mendukung pengoperasian dan penyajian berbagai model ML untuk inferensi. Untuk penerapan Triton apa pun, penting untuk mengetahui bagaimana perilaku backend memengaruhi beban kerja Anda dan apa yang diharapkan agar Anda bisa sukses. Dalam posting ini, kami membantu Anda memahami Backend Perpustakaan Inferensi Hutan (FIL)., yang didukung oleh Triton di SageMaker, sehingga Anda dapat membuat keputusan yang tepat untuk beban kerja Anda dan mendapatkan kinerja terbaik serta pengoptimalan biaya.
Menyelam lebih dalam ke backend FIL
Triton mendukung Bagian belakang FIL untuk melayani model pohon, seperti XGBoost, GBM Ringan, scikit-belajar Hutan Acak, Hutan Acak RAPIDS cuML, dan model lain yang didukung oleh pohon. Model ini telah lama digunakan untuk memecahkan masalah seperti klasifikasi atau regresi. Meskipun jenis model ini secara tradisional berjalan di CPU, popularitas model ini dan permintaan inferensi telah menghasilkan berbagai teknik untuk meningkatkan performa inferensi. Backend FIL menggunakan banyak dari teknik ini dengan menggunakan konstruksi cuML dan dibangun di atas C++ dan pustaka inti CUDA untuk mengoptimalkan kinerja inferensi pada akselerator GPU.
Backend FIL menggunakan pustaka cuML untuk menggunakan inti CPU atau GPU untuk mempercepat pembelajaran. Untuk menggunakan prosesor ini, data direferensikan dari memori host (misalnya, larik NumPy) atau larik GPU (uDF, Numba, cuPY, atau pustaka apa pun yang mendukung __cuda_array_interface__
) API. Setelah data dipentaskan dalam memori, backend FIL dapat menjalankan pemrosesan di semua inti CPU atau GPU yang tersedia.
Utas backend FIL dapat berkomunikasi satu sama lain tanpa menggunakan memori bersama dari host, tetapi dalam beban kerja ansambel, memori host harus dipertimbangkan. Diagram berikut menunjukkan arsitektur runtime penjadwal ansambel di mana Anda memiliki kemampuan untuk menyempurnakan area memori, termasuk memori bersama beralamat CPU yang digunakan untuk komunikasi antar proses antara Triton (C++) dan proses Python (backend Python) untuk bertukar tensor (input/output) dengan backend FIL.
Triton Inference Server menyediakan opsi yang dapat dikonfigurasi bagi pengembang untuk menyesuaikan beban kerja mereka dan mengoptimalkan kinerja model. Konfigurasi dynamic_batching
memungkinkan Triton untuk menahan permintaan sisi klien dan mengelompokkannya di sisi server agar dapat menggunakan komputasi paralel FIL secara efisien untuk menyimpulkan seluruh kumpulan secara bersamaan. Pilihan max_queue_delay_microseconds
menawarkan kontrol yang aman terhadap berapa lama Triton menunggu untuk membentuk kelompok.
Ada sejumlah FIL-spesifik lainnya pilihan yang tersedia yang mempengaruhi kinerja dan perilaku. Kami sarankan mulai dengan storage_type
. Saat menjalankan backend pada GPU, FIL membuat struktur memori/data baru yang merupakan representasi dari pohon tempat FIL dapat memengaruhi kinerja dan footprint. Ini dapat dikonfigurasi melalui parameter lingkungan storage_type
, yang memiliki opsi padat, jarang, dan otomatis. Memilih opsi padat akan menghabiskan lebih banyak memori GPU dan tidak selalu menghasilkan performa yang lebih baik, jadi sebaiknya periksa. Sebaliknya, opsi jarang akan mengkonsumsi lebih sedikit memori GPU dan mungkin dapat bekerja dengan baik atau lebih baik daripada padat. Memilih otomatis akan menyebabkan model menjadi padat secara default kecuali hal itu akan menghabiskan lebih banyak memori GPU secara signifikan daripada jarang.
Dalam hal kinerja model, Anda dapat mempertimbangkan untuk menekankan threads_per_tree
pilihan. Satu hal yang mungkin Anda layani secara berlebihan dalam skenario dunia nyata adalah itu threads_per_tree
dapat memiliki dampak yang lebih besar pada throughput daripada parameter lainnya. Menyetelnya ke pangkat 2 apa pun dari 1โ32 adalah sah. Nilai optimal sulit diprediksi untuk parameter ini, tetapi saat server diharapkan menangani beban yang lebih tinggi atau memproses ukuran batch yang lebih besar, server cenderung mendapatkan keuntungan dari nilai yang lebih besar daripada saat memproses beberapa baris sekaligus.
Parameter lain yang harus diperhatikan adalah algo
, yang juga tersedia jika Anda menggunakan GPU. Parameter ini menentukan algoritme yang digunakan untuk memproses permintaan inferensi. Opsi yang didukung untuk ini adalah ALGO_AUTO
, NAIVE
, TREE_REORG
, dan BATCH_TREE_REORG
. Opsi ini menentukan bagaimana node di dalam pohon diatur dan juga dapat menghasilkan peningkatan kinerja. Itu ALGO_AUTO
opsi default ke NAIVE
untuk penyimpanan jarang dan BATCH_TREE_REORG
untuk penyimpanan padat.
Terakhir, FIL hadir dengan penjelasan Shapley, yang dapat diaktifkan dengan menggunakan treeshap_output
parameter. Namun, Anda harus ingat bahwa keluaran Shapley merusak kinerja karena ukuran keluarannya.
Format model
Saat ini tidak ada format file standar untuk menyimpan model berbasis hutan; setiap kerangka kerja cenderung menentukan formatnya sendiri. Untuk mendukung berbagai format file masukan, FIL mengimpor data menggunakan sumber terbuka pohon perpustakaan. Ini memungkinkan FIL untuk mendukung model yang dilatih dalam kerangka kerja populer, seperti XGBoost dan CahayaGBM. Perhatikan bahwa format model yang Anda berikan harus disetel di model_type
nilai konfigurasi yang ditentukan dalam config.pbtxt
file.
Konfigurasi.pbtxt
Setiap model dalam a repositori model harus menyertakan konfigurasi model yang menyediakan informasi wajib dan opsional tentang model tersebut. Biasanya, konfigurasi ini disediakan dalam a config.pbtxt
file yang ditentukan sebagai protobuf ModelConfig. Untuk mempelajari lebih lanjut tentang pengaturan konfigurasi, lihat Konfigurasi Model. Berikut ini adalah beberapa parameter konfigurasi model:
- max_batch_size โ Ini menentukan ukuran batch maksimum yang dapat diteruskan ke model ini. Secara umum, satu-satunya batasan ukuran kumpulan yang diteruskan ke backend FIL adalah memori yang tersedia untuk memprosesnya. Untuk menjalankan GPU, memori yang tersedia ditentukan oleh ukuran kumpulan memori CUDA Triton, yang dapat diatur melalui argumen baris perintah saat memulai server.
- memasukkan โ Opsi di bagian ini memberi tahu Triton jumlah fitur yang diharapkan untuk setiap sampel input.
- keluaran โ Opsi di bagian ini memberi tahu Triton berapa banyak nilai output yang akan ada untuk setiap sampel. Jika
predict_proba
opsi disetel ke true, maka nilai probabilitas akan dikembalikan untuk setiap kelas. Jika tidak, satu nilai akan dikembalikan, menunjukkan prediksi kelas untuk sampel yang diberikan. - contoh_grup โ Ini menentukan berapa banyak contoh model ini akan dibuat dan apakah mereka akan menggunakan GPU atau CPU.
- tipe model โ String ini menunjukkan format model yang digunakan (
xgboost_json
dalam contoh ini, tapixgboost
,lightgbm
, dantl_checkpoint
adalah format yang valid juga). - prediksi_proba โ Jika disetel ke true, nilai probabilitas akan dikembalikan untuk setiap kelas, bukan hanya prediksi kelas.
- kelas_output โ Ini disetel ke true untuk model klasifikasi dan false untuk model regresi.
- ambang โ Ini adalah ambang skor untuk menentukan klasifikasi. Kapan
output_class
disetel ke true, ini harus disediakan, meskipun tidak akan digunakan jikapredict_proba
juga disetel ke true. - penyimpanan_tipe โ Secara umum, menggunakan AUTO untuk pengaturan ini harus memenuhi sebagian besar kasus penggunaan. Jika penyimpanan AUTO dipilih, FIL akan memuat model menggunakan representasi renggang atau padat berdasarkan perkiraan ukuran model. Dalam beberapa kasus, Anda mungkin ingin menyetelnya secara eksplisit ke SPARSE untuk mengurangi jejak memori model besar.
Server Inferensi Triton di SageMaker
SageMaker memungkinkan Anda untuk menerapkan titik akhir model tunggal dan multi-model dengan NVIDIA Triton Inference Server. Gambar berikut menunjukkan arsitektur tingkat tinggi Triton Inference Server. Itu repositori model adalah repositori berbasis sistem file dari model yang akan disediakan Triton untuk inferensi. Permintaan inferensi tiba di server dan dialihkan ke penjadwal per model yang sesuai. Peralatan Triton beberapa algoritma penjadwalan dan batching yang dapat dikonfigurasi berdasarkan model demi model. Penjadwal masing-masing model secara opsional melakukan pengelompokan permintaan inferensi dan kemudian meneruskan permintaan tersebut ke backend sesuai dengan tipe model. Backend melakukan inferensi menggunakan input yang disediakan dalam permintaan batch untuk menghasilkan output yang diminta. Output kemudian dikembalikan.
Saat mengonfigurasi grup penskalaan otomatis untuk titik akhir SageMaker, Anda mungkin ingin mempertimbangkannya SageMakerVariantInvocationsPerInstance
sebagai kriteria utama untuk menentukan karakteristik penskalaan grup penskalaan otomatis Anda. Selain itu, bergantung pada apakah model Anda berjalan pada GPU atau CPU, Anda juga dapat mempertimbangkan untuk menggunakan CPUUtilization atau GPUUtilization sebagai kriteria tambahan. Perhatikan bahwa untuk titik akhir model tunggal, karena semua model yang diterapkan sama, cukup mudah untuk menetapkan kebijakan yang sesuai untuk memenuhi SLA Anda. Untuk endpoint multi-model, sebaiknya terapkan model serupa di belakang endpoint tertentu untuk mendapatkan performa yang lebih stabil dan dapat diprediksi. Dalam kasus penggunaan yang menggunakan model dengan berbagai ukuran dan persyaratan, Anda mungkin ingin memisahkan beban kerja tersebut di beberapa titik akhir multi-model atau meluangkan waktu menyempurnakan kebijakan grup penskalaan otomatis untuk mendapatkan keseimbangan biaya dan performa terbaik.
Untuk daftar NVIDIA Triton Deep Learning Containers (DLC) yang didukung oleh inferensi SageMaker, lihat Tersedia Gambar Deep Learning Containers.
Panduan buku catatan SageMaker
Aplikasi ML itu kompleks dan seringkali memerlukan pemrosesan awal data. Di notebook ini, kami mendalami cara menerapkan model ML berbasis pohon seperti XGBoost menggunakan backend FIL di Triton pada titik akhir multimodel SageMaker. Kami juga membahas cara mengimplementasikan pipeline inferensi preprocessing data berbasis Python untuk model Anda menggunakan fitur ansambel di Triton. Ini akan memungkinkan kami mengirimkan data mentah dari sisi klien dan melakukan prapemrosesan data dan inferensi model di titik akhir Triton SageMaker untuk performa inferensi yang optimal.
Fitur ansambel model Triton
Server Inferensi Triton sangat menyederhanakan penerapan model AI pada skala produksi. Triton Inference Server hadir dengan solusi praktis yang menyederhanakan pembuatan preprocessing dan postprocessing pipeline. Platform Server Inferensi Triton menyediakan penjadwal ansambel, yang bertanggung jawab untuk menyalurkan model yang berpartisipasi dalam proses inferensi sambil memastikan efisiensi dan mengoptimalkan throughput. Menggunakan model ansambel dapat menghindari overhead transfer tensor menengah dan meminimalkan jumlah permintaan yang harus dikirim ke Triton.
Dalam notebook ini, kami menunjukkan cara menggunakan fitur ansambel untuk membuat pipeline preprocessing data dengan inferensi model XGBoost, dan Anda dapat mengekstrapolasi darinya untuk menambahkan postprocessing kustom ke pipeline.
Mengatur lingkungan
Kita mulai dengan menyiapkan lingkungan yang diperlukan. Kami menginstal dependensi yang diperlukan untuk mengemas pipa model kami dan menjalankan inferensi menggunakan Triton Inference Server. Kami juga mendefinisikan Identitas AWS dan Manajemen Akses (IAM) yang akan memberi SageMaker akses ke artefak model dan NVIDIA Triton Registry Kontainer Elastis Amazon gambar (ECR Amazon). Lihat kode berikut:
Buat lingkungan Conda untuk preprocessing dependencies
Backend Python di Triton mengharuskan kita untuk menggunakan a Kondominium lingkungan untuk setiap dependensi tambahan. Dalam hal ini, kami menggunakan backend Python untuk melakukan praproses data mentah sebelum memasukkannya ke dalam model XGBoost yang berjalan di backend FIL. Meskipun kami awalnya menggunakan RAPIDS cuDF dan cuML untuk melakukan preprocessing data, di sini kami menggunakan Pandas dan scikit-learn sebagai dependensi preprocessing selama inferensi. Kami melakukan ini karena tiga alasan:
- Kami menunjukkan cara membuat lingkungan Conda untuk dependensi Anda dan cara mengemasnya di format yang diharapkan oleh backend Python Triton.
- Dengan menunjukkan model pra-pemrosesan yang berjalan di backend Python di CPU sementara XGBoost berjalan di GPU di backend FIL, kami mengilustrasikan bagaimana setiap model di pipa ansambel Triton dapat berjalan di backend kerangka kerja yang berbeda serta konfigurasi perangkat keras yang berbeda.
- Ini menyoroti bagaimana pustaka RAPIDS (cuDF, cuML) kompatibel dengan rekan CPU mereka (Panda, scikit-learn). Sebagai contoh, kami dapat menunjukkan caranya
LabelEncoders
dibuat di cuML dapat digunakan di scikit-learn dan sebaliknya.
Kami mengikuti instruksi dari Dokumentasi triton untuk mengemas dependensi preprocessing (scikit-learn dan Pandas) untuk digunakan di backend Python sebagai file TAR lingkungan Conda. Skrip bash buat_prep_env.sh membuat file TAR lingkungan Conda, lalu kami memindahkannya ke direktori model preprocessing. Lihat kode berikut:
Setelah kami menjalankan skrip sebelumnya, itu menghasilkan preprocessing_env.tar.gz
, yang kami salin ke direktori preprocessing:
Siapkan prapemrosesan dengan backend Triton Python
Untuk preprocessing, kami menggunakan Triton's Latar belakang python untuk melakukan preprocessing data tabular (pengkodean kategorikal) selama inferensi untuk permintaan data mentah yang masuk ke server. Untuk informasi lebih lanjut tentang preprocessing yang dilakukan selama pelatihan, lihat buku catatan pelatihan.
Backend Python memungkinkan preprocessing, postprocessing, dan logika kustom lainnya untuk diimplementasikan dalam Python dan disajikan dengan Triton. Menggunakan Triton di SageMaker mengharuskan kita menyiapkan folder repositori model yang berisi model yang ingin kita tayangkan. Kami telah menyiapkan model untuk preprocessing data Python yang disebut preprocessing in cpu_model_repository
dan gpu_model_repository
.
Triton memiliki persyaratan khusus untuk tata letak repositori model. Di dalam direktori repositori model tingkat atas, setiap model memiliki subdirektori sendiri yang berisi informasi untuk model yang sesuai. Setiap direktori model di Triton harus memiliki setidaknya satu subdirektori numerik yang mewakili versi model. Nilai 1 mewakili versi 1 dari model preprocessing Python kita. Setiap model dijalankan oleh backend tertentu, jadi dalam setiap subdirektori versi harus ada artefak model yang diperlukan oleh backend tersebut. Untuk contoh ini, kami menggunakan backend Python, yang membutuhkan file Python yang Anda layani disebut model.py, dan file tersebut perlu diimplementasikan fungsi tertentu. Jika kami menggunakan backend PyTorch, file model.pt akan diperlukan, dan seterusnya. Untuk detail lebih lanjut tentang konvensi penamaan untuk file model, lihat File Model.
Grafik model.py File Python yang kami gunakan di sini mengimplementasikan semua logika preprocessing data tabular untuk mengonversi data mentah menjadi fitur yang dapat dimasukkan ke dalam model XGBoost kami.
Setiap model Triton juga harus menyediakan a config.pbtxt
file yang menjelaskan konfigurasi model. Untuk mempelajari lebih lanjut tentang pengaturan konfigurasi, lihat Konfigurasi Model. Kami config.pbtxt file menentukan backend sebagai python dan semua kolom input untuk data mentah bersama dengan output yang diproses sebelumnya, yang terdiri dari 15 fitur. Kami juga menetapkan bahwa kami ingin menjalankan model preprocessing Python ini di CPU. Lihat kode berikut:
Siapkan model ML berbasis pohon untuk backend FIL
Selanjutnya, kita menyiapkan direktori model untuk model ML berbasis pohon seperti XGBoost, yang akan menggunakan backend FIL.
Tata letak yang diharapkan untuk cpu_memory_repository
dan gpu_memory_repository
mirip dengan yang kami tunjukkan sebelumnya.
Di sini, FIL
adalah nama modelnya. Kita bisa memberikan nama yang berbeda seperti xgboost
jika kita mau. 1
adalah subdirektori versi, yang berisi artefak model. Dalam hal ini, itu adalah xgboost.json
model yang kami simpan. Mari buat tata letak yang diharapkan ini:
Kita perlu memiliki file konfigurasi config.pbtxt
menjelaskan konfigurasi model untuk model ML berbasis pohon, sehingga backend FIL di Triton dapat memahami cara menyajikannya. Untuk informasi lebih lanjut, lihat generik terbaru Opsi konfigurasi Triton dan opsi konfigurasi khusus untuk Bagian belakang FIL. Kami fokus hanya pada beberapa opsi yang paling umum dan relevan dalam contoh ini.
membuat config.pbtxt
untuk model_cpu_repository
:
Demikian pula, mengatur config.pbtxt
untuk model_gpu_repository
(perhatikan perbedaannya USE_GPU = True
):
Siapkan pipa inferensi dari data backend Python preprocessing dan backend FIL menggunakan ansambel
Sekarang kita siap menyiapkan pipeline inferensi untuk preprocessing data dan inferensi model berbasis pohon menggunakan an model ansambel. Model ansambel merepresentasikan pipeline dari satu atau beberapa model dan koneksi tensor input dan output di antara model tersebut. Di sini kami menggunakan model ansambel untuk membuat pipa pemrosesan awal data di backend Python diikuti oleh XGBoost di backend FIL.
Tata letak yang diharapkan untuk ensemble
direktori model mirip dengan yang kami tunjukkan sebelumnya:
Kami membuat model ansambel config.pbtxt mengikuti panduan di Model Ensemble. Yang penting, kita perlu menyiapkan penjadwal ansambel config.pbtxt
, yang menentukan aliran data antar model dalam ansambel. Penjadwal ansambel mengumpulkan tensor keluaran di setiap langkah, dan menyediakannya sebagai tensor masukan untuk langkah lain sesuai dengan spesifikasi.
Kemas repositori model dan unggah ke Amazon S3
Terakhir, kita berakhir dengan struktur direktori repositori model berikut, yang berisi model preprocessing Python dan dependensinya bersama dengan model XGBoost FIL dan ansambel model.
Kami mengemas direktori dan isinya sebagai model.tar.gz
untuk diunggah ke Layanan Penyimpanan Sederhana Amazon (Amazon S3). Kami memiliki dua opsi dalam contoh ini: menggunakan instans berbasis CPU atau instans berbasis GPU. Instans berbasis GPU lebih cocok saat Anda membutuhkan daya pemrosesan yang lebih tinggi dan ingin menggunakan inti CUDA.
Buat dan unggah paket model untuk instans berbasis CPU (dioptimalkan untuk CPU) dengan kode berikut:
Buat dan unggah paket model untuk instans berbasis GPU (dioptimalkan untuk GPU) dengan kode berikut:
Buat titik akhir SageMaker
Kami sekarang memiliki artefak model yang disimpan di bucket S3. Pada langkah ini, kami juga dapat menyediakan variabel lingkungan tambahan SAGEMAKER_TRITON_DEFAULT_MODEL_NAME
, yang menentukan nama model yang akan dimuat oleh Triton. Nilai kunci ini harus cocok dengan nama folder dalam paket model yang diunggah ke Amazon S3. Variabel ini opsional dalam kasus model tunggal. Dalam hal model ansambel, kunci ini harus ditentukan agar Triton dapat memulai di SageMaker.
Selain itu, Anda dapat mengatur SAGEMAKER_TRITON_BUFFER_MANAGER_THREAD_COUNT
dan SAGEMAKER_TRITON_THREAD_COUNT
untuk mengoptimalkan jumlah thread.
Kami menggunakan model sebelumnya untuk membuat konfigurasi titik akhir tempat kami dapat menentukan jenis dan jumlah instance yang kami inginkan di titik akhir
Kami menggunakan konfigurasi titik akhir ini untuk membuat titik akhir SageMaker dan menunggu penerapan selesai. Dengan MME SageMaker, kami memiliki opsi untuk menghosting beberapa model ansambel dengan mengulangi proses ini, tetapi kami tetap menggunakan satu penerapan untuk contoh ini:
Status akan berubah menjadi InService
ketika penyebaran berhasil.
Panggil model Anda yang dihosting di titik akhir SageMaker
Setelah endpoint berjalan, kita dapat menggunakan beberapa contoh data mentah untuk melakukan inferensi menggunakan JSON sebagai format payload. Untuk format permintaan inferensi, Triton menggunakan KFServing
standar komunitas protokol inferensi. Lihat kode berikut:
Buku catatan yang dirujuk di blog dapat ditemukan di Repositori GitHub.
Praktik terbaik
Selain opsi untuk menyempurnakan pengaturan backend FIL yang kami sebutkan sebelumnya, data scientist juga dapat memastikan bahwa input data untuk backend dioptimalkan untuk diproses oleh mesin. Jika memungkinkan, masukkan data dalam format baris-utama ke dalam larik GPU. Format lain akan memerlukan konversi internal dan mengambil siklus, menurunkan kinerja.
Karena cara struktur data FIL dipertahankan dalam memori GPU, perhatikan kedalaman pohon. Semakin dalam kedalaman pohon, semakin besar jejak memori GPU Anda.
Gunakan instance_group_count
parameter untuk menambahkan proses pekerja dan meningkatkan throughput backend FIL, yang akan menghasilkan konsumsi memori CPU dan GPU yang lebih besar. Selain itu, pertimbangkan variabel khusus SageMaker yang tersedia untuk meningkatkan throughput, seperti thread HTTP, ukuran buffer HTTP, ukuran batch, dan penundaan maksimum.
Kesimpulan
Dalam postingan ini, kami mendalami backend FIL yang didukung Server Inferensi Triton di SageMaker. Backend ini menyediakan akselerasi CPU dan GPU untuk model berbasis pohon seperti algoritme XGBoost yang populer. Ada banyak opsi untuk dipertimbangkan guna mendapatkan performa terbaik untuk inferensi, seperti ukuran batch, format input data, dan faktor lain yang dapat disesuaikan untuk memenuhi kebutuhan Anda. SageMaker memungkinkan Anda menggunakan kemampuan ini dengan titik akhir model tunggal dan multi-model untuk menyeimbangkan kinerja dan penghematan biaya.
Kami mendorong Anda untuk mengambil informasi di pos ini dan melihat apakah SageMaker dapat memenuhi kebutuhan hosting Anda untuk melayani model berbasis pohon, memenuhi kebutuhan Anda untuk pengurangan biaya dan kinerja beban kerja.
Notebook yang direferensikan dalam postingan ini dapat ditemukan di contoh SageMaker Repositori GitHub. Selanjutnya, Anda dapat menemukan dokumentasi terbaru di backend FIL di GitHub.
Tentang Penulis
Raghu Ramesha adalah Arsitek Solusi ML Senior dengan tim Layanan Amazon SageMaker. Dia berfokus untuk membantu pelanggan membuat, menerapkan, dan memigrasikan beban kerja produksi ML ke SageMaker dalam skala besar. Dia berspesialisasi dalam pembelajaran mesin, AI, dan domain visi komputer, dan memegang gelar master dalam Ilmu Komputer dari UT Dallas. Di waktu luangnya, ia menikmati perjalanan dan fotografi.
James Taman adalah Arsitek Solusi di Amazon Web Services. Dia bekerja dengan Amazon.com untuk merancang, membangun, dan menerapkan solusi teknologi di AWS, dan memiliki minat khusus pada AI dan pembelajaran mesin. Di waktu luangnya, ia senang mencari budaya baru, pengalaman baru, dan mengikuti perkembangan teknologi terkini.
Dhawal Patel adalah Arsitek Pembelajaran Mesin Utama di AWS. Dia telah bekerja dengan organisasi mulai dari perusahaan besar hingga perusahaan rintisan menengah pada masalah yang terkait dengan komputasi terdistribusi dan kecerdasan buatan. Dia berfokus pada pembelajaran mendalam, termasuk NLP dan domain visi komputer. Dia membantu pelanggan mencapai inferensi model performa tinggi di Amazon SageMaker.
Jia Hong Liu adalah Arsitek Solusi di tim Penyedia Layanan Cloud di NVIDIA. Dia membantu klien dalam mengadopsi pembelajaran mesin dan solusi AI yang memanfaatkan komputasi akselerasi NVIDIA untuk mengatasi tantangan pelatihan dan inferensi mereka. Di waktu senggang, ia menikmati origami, proyek DIY, dan bermain basket.
Kshitiz Gupta adalah Arsitek Solusi di NVIDIA. Dia senang mendidik pelanggan cloud tentang teknologi GPU AI yang ditawarkan NVIDIA dan membantu mereka mempercepat pembelajaran mesin dan aplikasi pembelajaran mendalam mereka. Di luar pekerjaan, ia menikmati lari, hiking, dan mengamati satwa liar.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoAiStream. Kecerdasan Data Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Mencetak Masa Depan bersama Adryenn Ashley. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/hosting-ml-models-on-amazon-sagemaker-using-triton-xgboost-lightgbm-and-treelite-models/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 100
- 11
- 13
- 200
- 23
- 24
- 7
- 8
- 9
- a
- kemampuan
- Tentang Kami
- mempercepat
- dipercepat
- mempercepat
- akselerator
- mengakses
- Menurut
- demikian
- Akun
- Mencapai
- di seluruh
- menambahkan
- tambahan
- Tambahan
- alamat
- dapat dialamatkan
- Mengadopsi
- Setelah
- terhadap
- perjanjian
- AI
- algoritma
- Semua
- alokasi
- mengizinkan
- memungkinkan
- sepanjang
- sudah
- juga
- Meskipun
- selalu
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Amazon.com
- jumlah
- an
- dan
- Apa pun
- api
- aplikasi
- sesuai
- arsitektur
- ADALAH
- daerah
- argumen
- susunan
- buatan
- kecerdasan buatan
- AS
- membantu
- At
- mobil
- tersedia
- menghindari
- AWS
- Backend
- Saldo
- berdasarkan
- menampar
- dasar
- Bola basket
- BE
- karena
- menjadi
- menjadi
- sebelum
- mulai
- di belakang
- di bawah
- manfaat
- TERBAIK
- Lebih baik
- antara
- lebih besar
- Blog
- tubuh
- kedua
- penyangga
- membangun
- Bangunan
- dibangun di
- tapi
- by
- C + +
- bernama
- CAN
- kartu
- kasus
- kasus
- Kategori
- Menyebabkan
- tantangan
- perubahan
- karakteristik
- memeriksa
- keping
- Pilih
- memilih
- Kota
- kelas
- klasifikasi
- klien
- klien
- awan
- kode
- Kolom
- COM
- datang
- kedatangan
- Umum
- menyampaikan
- Komunikasi
- masyarakat
- cocok
- kompleks
- komputasi
- komputer
- Komputer Ilmu
- Visi Komputer
- komputasi
- konfigurasi
- koneksi
- Mempertimbangkan
- dianggap
- memakan
- konsumsi
- Wadah
- Wadah
- mengandung
- isi
- kontras
- kontrol
- Mudah
- Konversi
- mengubah
- Core
- Sesuai
- Biaya
- pengurangan biaya
- penghematan biaya
- menutupi
- membuat
- dibuat
- menciptakan
- kriteria
- sangat penting
- Sekarang
- adat
- pelanggan
- siklus
- Dallas
- data
- Tanggal
- hari
- transaksi
- keputusan
- mendalam
- belajar mendalam
- lebih dalam
- Default
- default
- Derajat
- menunda
- menuntut
- tuntutan
- Tergantung
- menyebarkan
- dikerahkan
- penggelaran
- penyebaran
- kedalaman
- Mendesain
- rincian
- Menentukan
- ditentukan
- ditentukan
- menentukan
- pengembang
- perbedaan
- berbeda
- didistribusikan
- komputasi terdistribusi
- DIY
- do
- dokumentasi
- Tidak
- melakukan
- domain
- dilakukan
- merpati
- dua
- selama
- setiap
- Terdahulu
- mendidik
- efisiensi
- efisien
- antara
- menekankan
- memungkinkan
- mendorong
- akhir
- Titik akhir
- Mesin
- Mesin
- memastikan
- memastikan
- Enterprise
- perusahaan
- Seluruh
- Lingkungan Hidup
- kesalahan
- Bahkan
- Setiap
- contoh
- contoh
- bertukar
- mengharapkan
- diharapkan
- Pengalaman
- ekspor
- faktor
- hampir
- Air terjun
- palsu
- Fitur
- Fitur
- Fed
- pemberian makanan
- beberapa
- Angka
- File
- File
- Menemukan
- menyelesaikan
- Pertama
- aliran
- Fokus
- berfokus
- mengikuti
- diikuti
- berikut
- Tapak
- Untuk
- bentuk
- format
- ditemukan
- Kerangka
- kerangka
- penipuan
- Gratis
- dari
- Selanjutnya
- Keuntungan
- Umum
- menghasilkan
- mendapatkan
- Memberikan
- diberikan
- GPU
- sangat
- Kelompok
- Grup
- bimbingan
- terjadi
- Sulit
- Perangkat keras
- Memiliki
- he
- membantu
- membantu
- membantu
- di sini
- tingkat tinggi
- kinerja tinggi
- lebih tinggi
- highlight
- -nya
- memegang
- memegang
- tuan rumah
- host
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- Menyakiti
- identitas
- id
- BEI
- if
- gambar
- Dampak
- dampak
- melaksanakan
- diimplementasikan
- mengimplementasikan
- impor
- in
- memasukkan
- Termasuk
- Meningkatkan
- menunjukkan
- informasi
- informasi
- memasukkan
- install
- contoh
- instruksi
- integrasi
- Intelijen
- bunga
- intern
- ke
- IT
- NYA
- jpg
- json
- hanya
- Menjaga
- kunci
- Jenis
- Tahu
- besar
- Perusahaan besar
- lebih besar
- Latensi
- Terbaru
- tata ruang
- BELAJAR
- pengetahuan
- paling sedikit
- Dipimpin
- sah
- kurang
- Tingkat
- adalah ide yang bagus
- Leverage
- perpustakaan
- Perpustakaan
- 'like'
- MEMBATASI
- baris
- Daftar
- memuat
- logika
- logis
- Panjang
- mesin
- Mesin belajar
- membuat
- mengelola
- banyak
- tuan
- Cocok
- max
- maksimum
- Mungkin..
- mekanisme
- Pelajari
- pertemuan
- Memori
- tersebut
- Pedagang
- Metrik
- mungkin
- bermigrasi
- keberatan
- ML
- mode
- model
- model
- Bulan
- lebih
- paling
- Paling Populer
- pindah
- Titik Akhir Multi-Model
- beberapa
- harus
- nama
- penamaan
- asli
- Perlu
- kebutuhan
- New
- nLP
- tidak
- node
- buku catatan
- sekarang
- jumlah
- mati rasa
- Nvidia
- memperoleh
- of
- menawarkan
- Penawaran
- sering
- on
- ONE
- yang
- hanya
- open source
- optimal
- optimasi
- Optimize
- dioptimalkan
- mengoptimalkan
- pilihan
- Opsi
- or
- urutan
- organisasi
- terorganisir
- semula
- OS
- Lainnya
- jika tidak
- kami
- di luar
- keluaran
- di luar
- sendiri
- paket
- pengemasan
- panda
- Paralel
- parameter
- parameter
- berpartisipasi
- tertentu
- Lulus
- melewati
- path
- Melakukan
- prestasi
- melakukan
- izin
- fotografi
- pipa saluran
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- bermain
- silahkan
- kebanyakan
- Kebijakan
- kebijaksanaan
- kolam
- Populer
- kepopuleran
- mungkin
- mungkin
- Pos
- kekuasaan
- meramalkan
- Bisa ditebak
- diprediksi
- ramalan
- Prediksi
- sebelumnya
- primer
- Utama
- masalah
- proses
- proses
- pengolahan
- Memproses Daya
- prosesor
- menghasilkan
- Produksi
- memprojeksikan
- tepat
- proto
- memberikan
- disediakan
- pemberi
- menyediakan
- menyediakan
- Ular sanca
- pytorch
- acak
- mulai
- agak
- Mentah
- siap
- dunia nyata
- real-time
- alasan
- sarankan
- menurunkan
- disebut
- Bagaimanapun juga
- wilayah
- terkait
- relevan
- menggantikan
- gudang
- perwakilan
- mewakili
- merupakan
- permintaan
- permintaan
- membutuhkan
- wajib
- Persyaratan
- membutuhkan
- tanggapan
- tanggung jawab
- mengakibatkan
- Hasil
- Peran
- Run
- berjalan
- s
- pembuat bijak
- Inferensi SageMaker
- sama
- Tabungan
- terukur
- Skala
- skala
- skenario
- penjadwalan
- Ilmu
- ilmuwan
- scikit-belajar
- skor
- Bagian
- melihat
- pencarian
- terpilih
- mengirim
- senior
- terpisah
- melayani
- layanan
- Service Provider
- Layanan
- porsi
- set
- pengaturan
- pengaturan
- Bentuknya
- berbagi
- harus
- Menunjukkan
- Pertunjukkan
- sisi
- signifikan
- mirip
- Sederhana
- tunggal
- Ukuran
- ukuran
- So
- larutan
- Solusi
- MEMECAHKAN
- Memecahkan
- beberapa
- sumber
- spesialisasi
- tertentu
- spesifikasi
- ditentukan
- menghabiskan
- standar
- awal
- Mulai
- Startups
- Negara
- Status
- mantap
- Langkah
- Tangga
- penyimpanan
- menyimpan
- tersimpan
- mudah
- Tali
- struktur
- sukses
- seperti itu
- menyarankan
- cocok
- mendukung
- Didukung
- Mendukung
- Mengambil
- tim
- teknik
- Teknologi
- Teknologi
- mengatakan
- istilah
- dari
- bahwa
- Grafik
- informasi
- mereka
- Mereka
- kemudian
- Sana.
- Ini
- mereka
- hal
- ini
- itu
- meskipun?
- tiga
- ambang
- keluaran
- waktu
- untuk
- hari ini
- bersama
- tingkat atas
- secara tradisional
- terlatih
- Pelatihan
- Mentransfer
- Perjalanan
- pohon
- Tren
- Pelaut
- benar
- dua
- mengetik
- jenis
- khas
- memahami
- upload
- Mengunggah
- us
- menggunakan
- bekas
- Pengguna
- menggunakan
- memanfaatkan
- Memanfaatkan
- nilai
- Nilai - Nilai
- berbagai
- versi
- melalui
- penglihatan
- W
- menunggu
- ingin
- adalah
- menonton
- Cara..
- we
- jaringan
- layanan web
- BAIK
- adalah
- Apa
- ketika
- kapan saja
- apakah
- yang
- sementara
- akan
- dengan
- dalam
- tanpa
- Kerja
- bekerja
- pekerja
- bekerja
- akan
- XGBoost
- tahun
- Kamu
- Anda
- zephyrnet.dll
- Zip