Kecerdasan buatan (AI) telah menjadi topik penting dan populer di komunitas teknologi. Seiring berkembangnya AI, kita telah melihat berbagai jenis model pembelajaran mesin (ML) bermunculan. Satu pendekatan, yang dikenal sebagai pemodelan ansambel, dengan cepat mendapatkan perhatian di kalangan ilmuwan dan praktisi data. Dalam postingan kali ini, kita membahas apa itu model ansambel dan mengapa penggunaannya dapat bermanfaat. Kami kemudian memberikan contoh bagaimana Anda dapat melatih, mengoptimalkan, dan menerapkan ansambel kustom Anda menggunakan Amazon SageMaker.
Pembelajaran ensembel mengacu pada penggunaan beberapa model dan algoritme pembelajaran untuk mendapatkan prediksi yang lebih akurat daripada algoritme pembelajaran individual mana pun. Mereka telah terbukti efisien dalam beragam aplikasi dan pengaturan pembelajaran seperti cybersecurity [1] dan deteksi penipuan, penginderaan jarak jauh, memprediksi langkah terbaik selanjutnya dalam pengambilan keputusan keuangan, diagnosis medis, dan bahkan visi komputer dan pemrosesan bahasa alami (NLP). tugas. Kami cenderung mengkategorikan ansambel berdasarkan teknik yang digunakan untuk melatihnya, komposisinya, dan cara mereka menggabungkan berbagai prediksi menjadi satu kesimpulan. Kategori ini meliputi:
- Meningkatkan โ Melatih beberapa pembelajar yang lemah secara berurutan, dimana setiap prediksi yang salah dari pembelajar sebelumnya secara berurutan diberikan bobot dan masukan yang lebih tinggi kepada pembelajar berikutnya, sehingga menciptakan pembelajar yang lebih kuat. Contohnya termasuk AdaBoost, Peningkatan Gradien, dan XGBoost.
- Bagging โ Menggunakan beberapa model untuk mengurangi varians dari satu model. Contohnya termasuk Random Forest dan Extra Trees.
- Penumpukan (pencampuran) โ Seringkali menggunakan model heterogen, dimana prediksi dari masing-masing estimator ditumpuk bersama-sama dan digunakan sebagai masukan ke estimator akhir yang menangani prediksi tersebut. Proses pelatihan estimator akhir ini sering kali menggunakan validasi silang.
Ada beberapa metode untuk menggabungkan prediksi menjadi satu yang akhirnya dihasilkan model, misalnya, menggunakan meta-estimator seperti linear learner, metode voting yang menggunakan beberapa model untuk membuat prediksi berdasarkan voting mayoritas untuk tugas klasifikasi, atau ansambel rata-rata untuk regresi.
Meskipun beberapa pustaka dan kerangka kerja menyediakan implementasi model ansambel, seperti XGBoost, CatBoost, atau hutan acak scikit-learn, dalam postingan ini kami fokus untuk menghadirkan model Anda sendiri dan menggunakannya sebagai ansambel susun. Namun, alih-alih menggunakan sumber daya khusus untuk setiap model (pekerjaan pelatihan dan penyetelan khusus serta menghosting titik akhir per model), kami melatih, menyempurnakan, dan menerapkan ansambel khusus (beberapa model) menggunakan satu tugas pelatihan SageMaker dan satu tugas penyetelan, dan disebarkan ke satu titik akhir, sehingga mengurangi kemungkinan biaya dan overhead operasional.
BYOE: Bawalah ansambel Anda sendiri
Ada beberapa cara untuk melatih dan menerapkan model ansambel heterogen dengan SageMaker: Anda dapat melatih setiap model dalam a pekerjaan pelatihan terpisah dan optimalkan setiap model secara terpisah menggunakan Penyetelan Model Otomatis Amazon SageMaker. Saat menghosting model ini, SageMaker menyediakan berbagai cara hemat biaya untuk menghosting beberapa model pada infrastruktur penyewa yang sama. Pola penerapan terperinci untuk pengaturan semacam ini dapat ditemukan di Model pola hosting di Amazon SageMaker, Bagian 1: Pola desain umum untuk membangun aplikasi ML di Amazon SageMaker. Pola ini mencakup penggunaan beberapa titik akhir (untuk setiap model yang dilatih) atau satu titik akhir titik akhir multi-model, atau bahkan satu titik akhir multi-kontainer di mana kontainer dapat dipanggil secara individual atau dirangkai dalam sebuah pipa. Semua solusi ini menyertakan meta-estimator (misalnya dalam AWS Lambda fungsi) yang memanggil setiap model dan mengimplementasikan fungsi pencampuran atau pemungutan suara.
Namun, menjalankan beberapa tugas pelatihan mungkin menimbulkan overhead operasional dan biaya, terutama jika ansambel Anda memerlukan pelatihan pada data yang sama. Demikian pula, menghosting model yang berbeda pada titik akhir atau kontainer terpisah dan menggabungkan hasil prediksinya untuk akurasi yang lebih baik memerlukan beberapa pemanggilan, dan oleh karena itu memerlukan upaya pengelolaan, biaya, dan pemantauan tambahan. Misalnya, SageMaker mendukung model ML ansambel menggunakan Triton Inference Server, namun solusi ini memerlukan model atau ansambel model yang didukung oleh backend Triton. Selain itu, upaya tambahan diperlukan dari pelanggan untuk menyiapkan server Triton dan pembelajaran tambahan untuk memahami cara kerja backend Triton yang berbeda. Oleh karena itu, pelanggan lebih memilih cara yang lebih mudah untuk mengimplementasikan solusi di mana mereka hanya perlu mengirimkan pemanggilan satu kali ke titik akhir dan memiliki fleksibilitas untuk mengontrol bagaimana hasilnya digabungkan untuk menghasilkan keluaran akhir.
Ikhtisar solusi
Untuk mengatasi masalah ini, kami melihat contoh pelatihan ansambel menggunakan satu tugas pelatihan, mengoptimalkan hyperparameter model, dan menerapkannya menggunakan satu kontainer ke titik akhir tanpa server. Kami menggunakan dua model untuk tumpukan ansambel kami: CatBoost dan XGBoost (keduanya meningkatkan ansambel). Untuk data kami, kami menggunakan kumpulan data diabetes [2] dari perpustakaan scikit-learn: Terdiri dari 10 fitur (usia, jenis kelamin, massa tubuh, tekanan darah, dan enam pengukuran serum darah), dan model kami memprediksi perkembangan penyakit 1 tahun setelah fitur dasar dikumpulkan (regresi model).
Repositori kode lengkap dapat ditemukan di GitHub.
Latih beberapa model dalam satu tugas SageMaker
Untuk melatih model kami, kami menggunakan tugas pelatihan SageMaker dalam mode Skrip. Dengan mode Skrip, Anda dapat menulis pelatihan khusus (dan kode inferensi selanjutnya) saat menggunakan wadah kerangka kerja SageMaker. Kontainer kerangka kerja memungkinkan Anda menggunakan lingkungan siap pakai yang dikelola oleh AWS yang mencakup semua konfigurasi dan modul yang diperlukan. Untuk mendemonstrasikan bagaimana Anda dapat menyesuaikan kontainer kerangka kerja, sebagai contoh, kami menggunakan kontainer SKLearn yang telah dibuat sebelumnya, yang tidak menyertakan paket XGBoost dan CatBoost. Ada dua pilihan untuk menambahkan paket-paket ini: baik memperpanjang wadah bawaan untuk menginstal CatBoost dan XGBoost (dan kemudian menerapkan sebagai wadah khusus), atau menggunakan fitur mode skrip pekerjaan pelatihan SageMaker, yang memungkinkan Anda menyediakan requirements.txt
file saat membuat estimator pelatihan. Pekerjaan pelatihan SageMaker menginstal perpustakaan yang terdaftar di requirements.txt
file selama waktu berjalan. Dengan cara ini, Anda tidak perlu mengelola repositori image Docker Anda sendiri dan ini memberikan lebih banyak fleksibilitas untuk menjalankan skrip pelatihan yang memerlukan paket Python tambahan.
Blok kode berikut menunjukkan kode yang kita gunakan untuk memulai pelatihan. Itu entry_point
parameter menunjuk ke skrip pelatihan kami. Kami juga menggunakan dua fitur menarik dari SageMaker SDK API:
- Pertama, kami menentukan jalur lokal ke direktori sumber kami dan dependensi di file
source_dir
dandependencies
parameter, masing-masing. SDK akan mengompresi dan mengunggah direktori tersebut ke Layanan Penyimpanan Sederhana Amazon (Amazon S3) dan SageMaker akan menyediakannya pada mesin virtual pelatihan di bawah direktori kerja/opt/ml/code
. - Kedua, kami menggunakan SDK
SKLearn
objek estimator dengan versi Python dan kerangka pilihan kami, sehingga SageMaker akan menarik wadah yang sesuai. Kami juga telah menetapkan metrik pelatihan khusus 'validation:rmse
', yang akan dikeluarkan dalam log pelatihan dan ditangkap oleh SageMaker. Nantinya, kami menggunakan metrik ini sebagai metrik objektif dalam tugas penyetelan.
hyperparameters = {"num_round": 6, "max_depth": 5}
estimator_parameters = {
"entry_point": "multi_model_hpo.py",
"source_dir": "code",
"dependencies": ["my_custom_library"],
"instance_type": training_instance_type,
"instance_count": 1,
"hyperparameters": hyperparameters,
"role": role,
"base_job_name": "xgboost-model",
"framework_version": "1.0-1",
"keep_alive_period_in_seconds": 60,
"metric_definitions":[
{'Name': 'validation:rmse', 'Regex': 'validation-rmse:(.*?);'}
]
}
estimator = SKLearn(**estimator_parameters)
Selanjutnya, kami menulis skrip pelatihan kami (multi_model_hpo.py). Skrip kami mengikuti aliran sederhana: menangkap hyperparameter dengan mana pekerjaan itu dikonfigurasi dan latih model CatBoost dan Model XGBoost. Kami juga menerapkan a salib lipat-k fungsi validasi. Lihat kode berikut:
if __name__ == "__main__":
parser = argparse.ArgumentParser() # Sagemaker specific arguments. Defaults are set in the environment variables.
parser.add_argument("--output-data-dir", type=str, default=os.environ["SM_OUTPUT_DATA_DIR"])
parser.add_argument("--model-dir", type=str, default=os.environ["SM_MODEL_DIR"])
parser.add_argument("--train", type=str, default=os.environ["SM_CHANNEL_TRAIN"])
parser.add_argument("--validation", type=str, default=os.environ["SM_CHANNEL_VALIDATION"])
.
.
.
"""
Train catboost
"""
K = args.k_fold
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
rmse_list, model_catboost = cross_validation_catboost(train_df, K, catboost_hyperparameters)
.
.
.
"""
Train the XGBoost model
""" hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
"objective": args.objective,
"num_round": args.num_round,
} rmse_list, model_xgb = cross_validation(train_df, K, hyperparameters)
Setelah model dilatih, kami menghitung rata-rata prediksi CatBoost dan XGBoost. Hasil, pred_mean
, adalah prediksi akhir ansambel kami. Lalu, kita tentukan mean_squared_error
terhadap set validasi. val_rmse
digunakan untuk evaluasi seluruh ansambel selama pelatihan. Perhatikan bahwa kita juga mencetak nilai RMSE dalam pola yang sesuai dengan regex yang kita gunakan di metric_definitions
. Nantinya, Penyetelan Model Otomatis SageMaker akan menggunakannya untuk menangkap metrik tujuan. Lihat kode berikut:
pred_mean = np.mean(np.array([pred_catboost, pred_xgb]), axis=0)
val_rmse = mean_squared_error(y_validation, pred_mean, squared=False)
print(f"Final evaluation result: validation-rmse:{val_rmse}")
Terakhir, skrip kami menyimpan kedua artefak model ke folder keluaran yang terletak di /opt/ml/model
.
Ketika tugas pelatihan selesai, SageMaker mengemas dan menyalin konten /opt/ml/model
direktori sebagai objek tunggal dalam format TAR terkompresi ke lokasi S3 yang Anda tentukan dalam konfigurasi pekerjaan. Dalam kasus kami, SageMaker menggabungkan kedua model dalam file TAR dan mengunggahnya ke Amazon S3 di akhir tugas pelatihan. Lihat kode berikut:
model_file_name = 'catboost-regressor-model.dump'
# Save CatBoost model
path = os.path.join(args.model_dir, model_file_name)
print('saving model file to {}'.format(path))
model.save_model(path)
.
.
.
# Save XGBoost model
model_location = args.model_dir + "/xgboost-model"
pickle.dump(model, open(model_location, "wb"))
logging.info("Stored trained model at {}".format(model_location))
Singkatnya, Anda harus memperhatikan bahwa dalam prosedur ini kami mengunduh data satu kali dan melatih dua model menggunakan satu tugas pelatihan.
Penyetelan model ansambel otomatis
Karena kami sedang membuat kumpulan model ML, menjelajahi semua kemungkinan permutasi hyperparameter tidak praktis. Penawaran SageMaker Penyetelan Model Otomatis (AMT), yang mencari hyperparameter model terbaik dengan berfokus pada kombinasi nilai yang paling menjanjikan dalam rentang yang Anda tentukan (terserah Anda untuk menentukan rentang yang tepat untuk dijelajahi). SageMaker mendukung berbagai metode pengoptimalan bagi Anda untuk memilih dari.
Kita mulai dengan mendefinisikan dua bagian dari proses pengoptimalan: metrik objektif dan hyperparameter yang ingin kita sesuaikan. Dalam contoh kami, kami menggunakan RMSE validasi sebagai metrik target dan kami menyempurnakannya eta
dan max_depth
(untuk hyperparameter lainnya, lihat Hyperparameter XGBoost dan Hyperparameter CatBoost):
from sagemaker.tuner import (
IntegerParameter,
ContinuousParameter,
HyperparameterTuner,
) hyperparameter_ranges = {
"eta": ContinuousParameter(0.2, 0.3),
"max_depth": IntegerParameter(3, 4)
}
metric_definitions = [{"Name": "validation:rmse", "Regex": "validation-rmse:([0-9.]+)"}]
objective_metric_name = "validation:rmse"
Kita juga perlu memastikan dalam naskah pelatihan bahwa hyperparameter kami tidak di-hardcode dan diambil dari argumen runtime SageMaker:
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
SageMaker juga menulis hyperparameter ke file JSON dan dapat dibaca /opt/ml/input/config/hyperparameters.json
pada contoh pelatihan.
Seperti CatBoost, kami juga menangkap hyperparameter untuk model XGBoost (perhatikan itu objective
dan num_round
tidak disetel):
catboost_hyperparameters = {
"max_depth": args.max_depth,
"eta": args.eta,
}
Terakhir, kami meluncurkan tugas penyetelan hyperparameter menggunakan konfigurasi berikut:
tuner = HyperparameterTuner(
estimator,
objective_metric_name,
hyperparameter_ranges,
max_jobs=4,
max_parallel_jobs=2,
objective_type='Minimize'
)
tuner.fit({"train": train_location, "validation": validation_location}, include_cls_metadata=False)
Ketika tugas selesai, Anda dapat mengambil nilai untuk tugas pelatihan terbaik (dengan RMSE minimal):
job_name=tuner.latest_tuning_job.name
attached_tuner = HyperparameterTuner.attach(job_name)
attached_tuner.describe()["BestTrainingJob"]
Untuk informasi lebih lanjut tentang AMT, lihat Lakukan Penyetelan Model Otomatis dengan SageMaker.
Penyebaran
Untuk menerapkan ansambel khusus, kami perlu menyediakan skrip untuk menangani permintaan inferensi dan mengonfigurasi hosting SageMaker. Dalam contoh ini, kami menggunakan satu file yang mencakup kode pelatihan dan inferensi (multi_model_hpo.py). SageMaker menggunakan kode di bawah if _ name _ == "_ main _"
untuk pelatihan dan fungsinya model_fn
, input_fn
, dan predict_fn
saat menerapkan dan melayani model.
Skrip inferensi
Seperti halnya pelatihan, kami menggunakan wadah kerangka kerja SageMaker SKLearn dengan skrip inferensi kami sendiri. Skrip akan mengimplementasikan tiga metode yang diperlukan oleh SageMaker.
Pertama, model_fn
metode membaca file artefak model yang kami simpan dan memuatnya ke dalam memori. Dalam kasus kami, metode ini mengembalikan ansambel kami sebagai all_model
, yang merupakan daftar Python, tetapi Anda juga dapat menggunakan kamus dengan nama model sebagai kuncinya.
def model_fn(model_dir):
catboost_model = CatBoostRegressor()
catboost_model.load_model(os.path.join(model_dir, model_file_name))
model_file = "xgboost-model"
model = pickle.load(open(os.path.join(model_dir, model_file), "rb"))
all_model = [catboost_model, model]
return all_model
Kedua, input_fn
metode membatalkan serialisasi data masukan permintaan untuk diteruskan ke penangan inferensi kami. Untuk informasi lebih lanjut tentang penangan input, lihat Mengadaptasi Wadah Inferensi Anda Sendiri.
def input_fn(input_data, content_type):
dtype=None
payload = StringIO(input_data)
return np.genfromtxt(payload, dtype=dtype, delimiter=",")
Ketiga, predict_fn
Metode bertanggung jawab untuk mendapatkan prediksi dari model. Metode ini mengambil model dan data yang dikembalikan input_fn
sebagai parameter dan mengembalikan prediksi akhir. Dalam contoh kita, kita mendapatkan hasil CatBoost dari anggota pertama daftar model (model[0]
) dan XGBoost dari anggota kedua (model[1]
), dan kami menggunakan fungsi campuran yang mengembalikan rata-rata kedua prediksi:
def predict_fn(input_data, model):
predictions_catb = model[0].predict(input_data)
dtest = xgb.DMatrix(input_data)
predictions_xgb = model[1].predict(dtest,
ntree_limit=getattr(model, "best_ntree_limit", 0),
validate_features=False)
return np.mean(np.array([predictions_catb, predictions_xgb]), axis=0)
Sekarang setelah kita memiliki model terlatih dan skrip inferensi, kita dapat mengonfigurasi lingkungan untuk menerapkan ansambel kita.
Inferensi Tanpa Server SageMaker
Meski ada banyak opsi hosting di SageMaker, dalam contoh ini, kami menggunakan titik akhir tanpa server. Titik akhir tanpa server secara otomatis meluncurkan sumber daya komputasi dan menskalakannya masuk dan keluar bergantung pada lalu lintas. Hal ini menghilangkan beban berat dalam mengelola server. Opsi ini ideal untuk beban kerja yang memiliki periode idle di antara lonjakan lalu lintas dan dapat menoleransi start dingin.
Mengonfigurasi titik akhir tanpa server sangatlah mudah karena kita tidak perlu memilih jenis instans atau mengelola kebijakan penskalaan. Kami hanya perlu menyediakan dua parameter: ukuran memori dan konkurensi maksimum. Titik akhir tanpa server secara otomatis menetapkan sumber daya komputasi sebanding dengan memori yang Anda pilih. Jika Anda memilih ukuran memori yang lebih besar, penampung Anda memiliki akses ke lebih banyak vCPU. Anda harus selalu memilih ukuran memori titik akhir sesuai dengan ukuran model Anda. Parameter kedua yang perlu kita berikan adalah konkurensi maksimum. Untuk satu titik akhir, parameter ini dapat diatur hingga 200 (saat tulisan ini dibuat, batas jumlah total titik akhir tanpa server di suatu Wilayah adalah 50). Anda harus memperhatikan bahwa konkurensi maksimum untuk titik akhir individual mencegah titik akhir tersebut mengambil semua pemanggilan yang diizinkan untuk akun Anda, karena pemanggilan titik akhir apa pun yang melebihi batas maksimum akan dibatasi (untuk informasi lebih lanjut tentang total konkurensi untuk semua titik akhir tanpa server per Wilayah, lihat ke Titik akhir dan kuota Amazon SageMaker).
from sagemaker.serverless.serverless_inference_config import ServerlessInferenceConfig
serverless_config = ServerlessInferenceConfig(
memory_size_in_mb=6144,
max_concurrency=1,
)
Sekarang setelah kita mengonfigurasi titik akhir, kita akhirnya dapat menerapkan model yang dipilih dalam tugas pengoptimalan hyperparameter:
estimator=attached_tuner.best_estimator()
predictor = estimator.deploy(serverless_inference_config=serverless_config)
Membersihkan
Meskipun titik akhir tanpa server tidak dikenakan biaya saat tidak digunakan, setelah Anda selesai menjalankan contoh ini, Anda harus memastikan untuk menghapus titik akhir tersebut:
predictor.delete_endpoint(predictor.endpoint)
Kesimpulan
Dalam postingan ini, kami membahas satu pendekatan untuk melatih, mengoptimalkan, dan menerapkan ansambel khusus. Kami merinci proses penggunaan satu tugas pelatihan untuk melatih beberapa model, cara menggunakan penyetelan model otomatis untuk mengoptimalkan hyperparameter ansambel, dan cara menerapkan satu titik akhir tanpa server yang memadukan kesimpulan dari beberapa model.
Menggunakan metode ini memecahkan potensi masalah biaya dan operasional. Biaya pekerjaan pelatihan didasarkan pada sumber daya yang Anda gunakan selama penggunaan. Dengan mengunduh data hanya sekali untuk melatih kedua model, kami mengurangi setengah dari fase pengunduhan data tugas dan volume yang digunakan untuk menyimpan data, sehingga mengurangi biaya keseluruhan tugas pelatihan. Selain itu, tugas AMT menjalankan empat tugas pelatihan, masing-masing dengan pengurangan waktu dan penyimpanan yang disebutkan di atas, sehingga menghemat biaya 4 kali lipat! Sehubungan dengan penyebaran model pada titik akhir tanpa server, karena Anda juga membayar jumlah data yang diproses, dengan memanggil titik akhir hanya sekali untuk dua model, Anda membayar setengah dari biaya data I/O.
Meskipun postingan ini hanya menunjukkan manfaat dengan dua model, Anda dapat menggunakan metode ini untuk melatih, menyempurnakan, dan menerapkan berbagai model ansambel untuk melihat efek yang lebih besar.
Referensi
[1] Raj Kumar, P.Arun; Selvakumar, S. (2011). โDeteksi serangan penolakan layanan terdistribusi menggunakan ansambel pengklasifikasi sarafโ. Komunikasi Komputer. 34 (11): 1328โ1341. doi:10.1016/j.comcom.2011.01.012.
[2] Bradley Efron, Trevor Hastie, Iain Johnstone dan Robert Tibshirani (2004) โRegresi Sudut Terkecil,โ Annals of Statistics (dengan diskusi), 407-499. (https://web.stanford.edu/~hastie/Papers/LARS/LeastAngle_2002.pdf)
Tentang Penulis
Melani Li, Ph.D, adalah Senior AI/ML Specialist TAM di AWS yang berbasis di Sydney, Australia. Dia membantu pelanggan perusahaan membangun solusi yang memanfaatkan alat AI/ML canggih di AWS dan memberikan panduan tentang merancang dan menerapkan solusi pembelajaran mesin dengan praktik terbaik. Di waktu luangnya, dia suka menjelajahi alam bebas dan menghabiskan waktu bersama keluarga dan teman.
Uri Rosenberg adalah Manajer Teknis Spesialis AI & ML untuk Eropa, Timur Tengah, dan Afrika. Berbasis di Israel, Uri berupaya memberdayakan pelanggan perusahaan untuk merancang, membangun, dan mengoperasikan beban kerja ML dalam skala besar. Di waktu luangnya, ia menikmati bersepeda, hiking, dan meminimalkan RMSE.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Otomotif / EV, Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- BlockOffset. Modernisasi Kepemilikan Offset Lingkungan. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/efficiently-train-tune-and-deploy-custom-ensembles-using-amazon-sagemaker/
- :memiliki
- :adalah
- :bukan
- :Di mana
- ][P
- $NAIK
- 1
- 10
- 100
- 11
- 200
- 2011
- 50
- 60
- 7
- a
- Tentang Kami
- mengakses
- Menurut
- Akun
- ketepatan
- tepat
- menambahkan
- Tambahan
- Selain itu
- alamat
- Afrika
- Setelah
- terhadap
- usia
- AI
- AI / ML
- algoritma
- algoritma
- Semua
- diizinkan
- memungkinkan
- juga
- selalu
- Amazon
- Amazon SageMaker
- Amazon Web Services
- antara
- jumlah
- an
- dan
- Apa pun
- aplikasi
- pendekatan
- ADALAH
- argumen
- AS
- At
- menyerang
- Australia
- secara otomatis
- secara otomatis
- tersedia
- rata-rata
- jauh
- AWS
- Backend
- berdasarkan
- Dasar
- BE
- karena
- menjadi
- menjadi
- makhluk
- bermanfaat
- Manfaat
- TERBAIK
- Praktik Terbaik
- Lebih baik
- antara
- Luar
- blending
- campuran
- Memblokir
- darah
- Tekanan darah
- tubuh
- meningkatkan
- kedua
- membawa
- Membawa
- membangun
- Bangunan
- built-in
- bundel
- tapi
- by
- menghitung
- CAN
- menangkap
- ditangkap
- kasus
- kategori
- dirantai
- beban
- Pilih
- klasifikasi
- kode
- dingin
- koleksi
- kombinasi
- menggabungkan
- Umum
- komunikasi
- masyarakat
- menarik
- lengkap
- menghitung
- komputer
- Visi Komputer
- Kekhawatiran
- konfigurasi
- dikonfigurasi
- terdiri
- Wadah
- Wadah
- Konten
- kontrol
- Sesuai
- Biaya
- hemat biaya
- tercakup
- membuat
- adat
- pelanggan
- pelanggan
- menyesuaikan
- Keamanan cyber
- data
- Pengambilan Keputusan
- dedicated
- default
- menetapkan
- didefinisikan
- mendefinisikan
- mendemonstrasikan
- Denial of Service
- Tergantung
- menyebarkan
- penggelaran
- penyebaran
- Mendesain
- pola desain
- terperinci
- Deteksi
- Menentukan
- berbeda
- direktori
- membahas
- diskusi
- Penyakit
- beberapa
- Buruh pelabuhan
- Tidak
- Dont
- Download
- membuang
- lamanya
- selama
- setiap
- Timur
- efek
- efisien
- efisien
- upaya
- antara
- muncul
- memberdayakan
- aktif
- akhir
- Titik akhir
- memastikan
- Enterprise
- Lingkungan Hidup
- lingkungan
- terutama
- Eropa
- evaluasi
- Bahkan
- berkembang
- contoh
- contoh
- menyelidiki
- Menjelajahi
- tambahan
- keluarga
- Fitur
- Fitur
- File
- File
- terakhir
- Akhirnya
- keuangan
- Pertama
- keluwesan
- aliran
- Fokus
- berfokus
- berikut
- berikut
- Untuk
- hutan
- format
- ditemukan
- empat
- Kerangka
- kerangka
- penipuan
- deteksi penipuan
- teman
- dari
- penuh
- fungsi
- fungsi
- Selanjutnya
- Mendapatkan
- mendapatkan
- menghasilkan
- mendapatkan
- mendapatkan
- diberikan
- lebih besar
- bimbingan
- Setengah
- menangani
- Menangani
- Memiliki
- he
- berat
- angkat berat
- membantu
- dia
- lebih tinggi
- -nya
- tuan rumah
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- Optimalisasi Hyperparameter
- Penyesuaian Hyperparameter
- ideal
- Siaga
- if
- gambar
- melaksanakan
- mengimplementasikan
- mengimplementasikan
- penting
- in
- memasukkan
- termasuk
- sendiri-sendiri
- Secara individual
- informasi
- Infrastruktur
- memasukkan
- install
- contoh
- sebagai gantinya
- Intelijen
- ke
- memperkenalkan
- Memperkenalkan
- dipanggil
- memanggil
- Israel
- masalah
- IT
- Pekerjaan
- Jobs
- jpg
- json
- kunci-kunci
- Jenis
- dikenal
- bahasa
- lebih besar
- kemudian
- jalankan
- pengetahuan
- leveraging
- Li
- perpustakaan
- Perpustakaan
- pengangkatan
- MEMBATASI
- Daftar
- Daftar
- beban
- lokal
- terletak
- tempat
- penebangan
- TERLIHAT
- mencintai
- mesin
- Mesin belajar
- Utama
- Mayoritas
- membuat
- mengelola
- berhasil
- pengelolaan
- manajer
- pelaksana
- Massa
- maksimum
- berarti
- pengukuran
- medis
- anggota
- Memori
- Bergabung
- metode
- metode
- metrik
- Tengah
- Timur Tengah
- mungkin
- minimal
- meminimalkan
- ML
- mode
- model
- model
- Modul
- pemantauan
- lebih
- paling
- beberapa
- nama
- nama
- Alam
- Pengolahan Bahasa alami
- Alam
- perlu
- Perlu
- berikutnya
- nLP
- Melihat..
- jumlah
- banyak sekali
- obyek
- tujuan
- of
- Penawaran
- sering
- on
- sekali
- ONE
- hanya
- beroperasi
- operasional
- optimasi
- Optimize
- mengoptimalkan
- pilihan
- Opsi
- or
- OS
- Lainnya
- kami
- di luar
- di luar rumah
- keluaran
- secara keseluruhan
- sendiri
- paket
- parameter
- parameter
- bagian
- bagian
- Lulus
- path
- pola
- pola
- Membayar
- untuk
- periode
- tahap
- pipa saluran
- plato
- Kecerdasan Data Plato
- Data Plato
- poin
- Kebijakan
- Populer
- mungkin
- Pos
- potensi
- praktek
- memprediksi
- ramalan
- Prediksi
- Predictor
- Prediksi
- lebih suka
- disukai
- tekanan
- mencegah
- sebelumnya
- Mencetak
- Prosedur
- proses
- Diproses
- pengolahan
- menghasilkan
- deret
- menjanjikan
- terbukti
- memberikan
- menyediakan
- Ular sanca
- acak
- cepat
- Baca
- menurunkan
- mengurangi
- mengurangi
- mengacu
- menganggap
- regex
- wilayah
- terpencil
- gudang
- mewakili
- permintaan
- wajib
- membutuhkan
- Sumber
- masing-masing
- tanggung jawab
- mengakibatkan
- Hasil
- kembali
- Pengembalian
- benar
- ROBERT
- Peran
- Run
- berjalan
- s
- pembuat bijak
- Penyetelan Model Otomatis SageMaker
- sama
- Save
- penghematan
- Skala
- skala
- ilmuwan
- scikit-belajar
- script
- SDK
- Kedua
- melihat
- terlihat
- terpilih
- mengirim
- senior
- terpisah
- Urutan
- Serum
- Tanpa Server
- Server
- layanan
- Layanan
- porsi
- set
- pengaturan
- beberapa
- Seks
- dia
- harus
- menunjukkan
- Pertunjukkan
- Demikian pula
- Sederhana
- tunggal
- ENAM
- Ukuran
- So
- larutan
- Solusi
- Memecahkan
- sumber
- spesialis
- tertentu
- ditentukan
- menghabiskan
- tumpukan
- ditumpuk
- menumpuk
- Stanford
- awal
- dimulai
- state-of-the-art
- statistika
- Tangga
- penyimpanan
- tersimpan
- toko
- mudah
- lebih kuat
- seperti itu
- RINGKASAN
- Didukung
- Mendukung
- yakin
- sydney
- Dibutuhkan
- pengambilan
- target
- tugas
- Teknis
- teknik
- Teknologi
- penyewa
- dari
- bahwa
- Grafik
- mereka
- Mereka
- kemudian
- Sana.
- dengan demikian
- karena itu
- Ini
- mereka
- ini
- itu
- meskipun?
- tiga
- Melalui
- waktu
- kali
- untuk
- bersama
- alat
- tema
- Total
- daya tarik
- lalu lintas
- Pelatihan VE
- terlatih
- Pelatihan
- Pohon
- Trevor
- Pelaut
- dua
- jenis
- bawah
- memahami
- penggunaan
- menggunakan
- bekas
- kegunaan
- menggunakan
- pengesahan
- nilai
- Nilai - Nilai
- berbagai
- versi
- penglihatan
- volume
- Pemungutan suara
- ingin
- adalah
- Cara..
- cara
- we
- jaringan
- layanan web
- berat
- adalah
- Apa
- ketika
- yang
- sementara
- seluruh
- mengapa
- akan
- dengan
- dalam
- Kerja
- kerja
- bekerja
- menulis
- penulisan
- XGBoost
- tahun
- Kamu
- Anda
- zephyrnet.dll
- nol