Hyperparameter dan HPO - Amazon Personalize

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Hyperparameter dan HPO

penting

Secara default, semua solusi baru menggunakan pelatihan otomatis. Dengan pelatihan otomatis, Anda dikenakan biaya pelatihan saat solusi Anda aktif. Untuk menghindari biaya yang tidak perlu, ketika Anda selesai Anda dapat memperbarui solusi untuk mematikan pelatihan otomatis. Untuk informasi tentang biaya pelatihan, lihat harga Amazon Personalisasi.

Anda menentukan hyperparameters sebelum pelatihan untuk mengoptimalkan model terlatih untuk kasus penggunaan khusus Anda. Ini kontras dengan parameter model yang nilainya ditentukan selama proses pelatihan.

Hyperparameters ditentukan menggunakan algorithmHyperParameters kunci yang merupakan bagian dari SolutionConfig objek yang diteruskan ke CreateSolution operasi.

Versi ringkas dari CreateSolution permintaan ada di bawah ini. Contohnya termasuk solutionConfig objek. Anda gunakan solutionConfig untuk mengganti parameter default resep.

{ "name": "string", "recipeArn": "string", "eventType": "string", "solutionConfig": { "optimizationObjective": { "itemAttribute": "string", "objectiveSensitivity": "string" }, "eventValueThreshold": "string", "featureTransformationParameters": { "string" : "string" }, "algorithmHyperParameters": { "string" : "string" }, "hpoConfig": { "algorithmHyperParameterRanges": { ... }, "hpoResourceConfig": { "maxNumberOfTrainingJobs": "string", "maxParallelTrainingJobs": "string" } }, }, }

Resep yang berbeda menggunakan hyperparameters yang berbeda. Untuk hiperparameter yang tersedia, lihat resep individual diMemilih resep.

Mengaktifkan optimasi hyperparameter

Optimasi hiperparameter (HPO), atau penyetelan, adalah tugas memilih hiperparameter optimal untuk tujuan pembelajaran tertentu. Hiperparameter optimal ditentukan dengan menjalankan banyak pekerjaan pelatihan menggunakan nilai yang berbeda dari rentang kemungkinan yang ditentukan.

Dengan User-personalization-v2 dan Personalized-Ranking-v2, jika Anda mengaktifkan pelatihan otomatis, Amazon Personalize secara otomatis melakukan setiap 90 hari. HPO Tanpa pelatihan otomatis, tidak ada yang HPO terjadi. Untuk semua resep lainnya, Anda harus mengaktifkanHPO. Untuk menggunakanHPO, atur performHPO ketrue, dan sertakan hpoConfig objek.

Hyperparameter dapat berupa kategoris, kontinu, atau bernilai bilangan bulat. hpoConfigObjek memiliki kunci yang sesuai dengan masing-masing jenis ini, di mana Anda menentukan hyperparameters dan rentangnya. Anda harus memberikan setiap jenis dalam permintaan Anda, tetapi jika resep tidak memiliki parameter tipe, Anda dapat membiarkannya kosong. Misalnya, User-Personalization tidak memiliki hyperparameter yang dapat disetel dari tipe kontinu. Jadi untukcontinousHyperParameterRange, Anda akan melewati array kosong.

Kode berikut menunjukkan cara membuat solusi dengan HPO diaktifkan menggunakan SDK untuk Python (Boto3). Solusi dalam contoh menggunakan Resep Personalisasi Pengguna resep dan telah HPO diatur ketrue. Kode memberikan nilai untuk hidden_dimension dan categoricalHyperParameterRanges danintegerHyperParameterRanges. continousHyperParameterRangeYang kosong dan hpoResourceConfig set maxNumberOfTrainingJobs danmaxParallelTrainingJobs.

import boto3 personalize = boto3.client('personalize') create_solution_response = personalize.create_solution( name = "solution name", datasetGroupArn = 'arn:aws:personalize:region:accountId:dataset-group/datasetGroupName', recipeArn = 'arn:aws:personalize:::recipe/aws-user-personalization', performHPO = True, solutionConfig = { "algorithmHyperParameters": { "hidden_dimension": "55" }, "hpoConfig": { "algorithmHyperParameterRanges": { "categoricalHyperParameterRanges": [ { "name": "recency_mask", "values": [ "true", "false"] } ], "integerHyperParameterRanges": [ { "name": "bptt", "minValue": 2, "maxValue": 22 } ], "continuousHyperParameterRanges": [ ] }, "hpoResourceConfig": { "maxNumberOfTrainingJobs": "4", "maxParallelTrainingJobs": "2" } } } )

Untuk informasi selengkapnyaHPO, lihat Penyetelan model otomatis.

Melihat hiperparameter

Anda dapat melihat hyperparameters solusi dengan memanggil DescribeSolution operasi. Contoh berikut menunjukkan DescribeSolution output. Setelah membuat versi solusi (melatih model), Anda juga dapat melihat hyperparameters dengan DescribeSolutionVersion operasi.

{ "solution": { "name": "hpo_coonfig_solution", "solutionArn": "arn:aws:personalize:region:accountId:solution/solutionName", "performHPO": true, "performAutoML": false, "recipeArn": "arn:aws:personalize:::recipe/aws-user-personalization", "datasetGroupArn": "arn:aws:personalize:region:accountId:dataset-group/datasetGroupName", "eventType": "click", "solutionConfig": { "hpoConfig": { "hpoResourceConfig": { "maxNumberOfTrainingJobs": "4", "maxParallelTrainingJobs": "2" }, "algorithmHyperParameterRanges": { "integerHyperParameterRanges": [ { "name": "training.bptt", "minValue": 2, "maxValue": 22 } ], "continuousHyperParameterRanges": [], "categoricalHyperParameterRanges": [ { "name": "data.recency_mask", "values": [ "true", "false" ] } ] } }, "algorithmHyperParameters": { "hidden_dimension": "55" } }, "status": "ACTIVE", "creationDateTime": "2022-07-08T12:12:48.565000-07:00", "lastUpdatedDateTime": "2022-07-08T12:12:48.565000-07:00" } }