Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Iperparametri e HPO
Importante
Per impostazione predefinita, tutte le nuove soluzioni utilizzano la formazione automatica. Con la formazione automatica, si sostengono costi di formazione mentre la soluzione è attiva. Per evitare costi inutili, al termine è possibile aggiornare la soluzione per disattivare la formazione automatica. Per informazioni sui costi di formazione, consulta i prezzi di Amazon Personalize
È necessario specificare gli iperparametri prima dell'addestramento per ottimizzare il modello addestrato per il caso d'uso specifico. Questo è in contrasti con i parametri del modello i cui valori sono determinati durante il processo di addestramento.
Gli iperparametri vengono specificati utilizzando la chiave algorithmHyperParameters
che fa parte dell'oggetto SolutionConfig passato all'operazione CreateSolution.
Di seguito è riportata una versione ridotta della CreateSolution
richiesta. L'esempio include l'solutionConfig
oggetto. Si usa solutionConfig
per sovrascrivere i parametri predefiniti di una ricetta.
{ "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" } }, }, }
Diverse ricette utilizzano iperparametri diversi. Per gli iperparametri disponibili, consulta le singole ricette Scegliere una ricetta.
Abilitare l'ottimizzazione degli iperparametri
L'ottimizzazione degli iperparametri (HPO), o ottimizzazione, è il compito di scegliere gli iperparametri ottimali per uno specifico obiettivo di apprendimento. Gli iperparametri ottimali vengono determinati eseguendo vari processi di addestramento utilizzando valori diversi degli intervalli di possibilità specificati.
Con User-Personalization-v2 e Personalized-Ranking-v2, se attivi la formazione automatica, Amazon Personalize viene eseguito automaticamente ogni 90 giorni. HPO Senza formazione automatica, HPO non si verifica nulla. Per tutte le altre ricette, è necessario abilitareHPO. Per utilizzare HPOtrue
, performHPO
impostare e includere l'hpoConfig
oggetto.
Gli iperparametri possono essere di tipo categorico, continuo o a valori interi. L'oggetto hpoConfig
ha chiavi che corrispondono a ciascuno di questi tipi, dove vengono specificati gli iperparametri e i relativi intervalli. Devi fornire ogni tipo nella tua richiesta, ma se una ricetta non ha un parametro di un tipo, puoi lasciarla vuota. Ad esempio, User-Personalization non dispone di un iperparametro regolabile di tipo continuo. Quindi, per ilcontinousHyperParameterRange
, dovresti passare un array vuoto.
Il codice seguente mostra come creare una soluzione con HPO enabled usando SDK for Python (Boto3). La soluzione nell'esempio utilizza la Ricetta di personalizzazione dell'utente ricetta ed è impostata HPO su. true
Il codice fornisce un valore per hidden_dimension
categoricalHyperParameterRanges
eintegerHyperParameterRanges
. continousHyperParameterRange
è vuoto e hpoResourceConfig
imposta maxNumberOfTrainingJobs
emaxParallelTrainingJobs
.
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" } } } )
Per ulteriori informazioni suHPO, vedere Ottimizzazione automatica del modello.
Visualizzazione degli iperparametri
È possibile visualizzare gli iperparametri della soluzione chiamando l'DescribeSolutionoperazione. L'esempio seguente mostra un DescribeSolution
output. Dopo aver creato una versione della soluzione (addestramento di un modello), è inoltre possibile visualizzare gli iperparametri DescribeSolutionVersion durante l'operazione.
{ "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" } }