

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à.

# Configurazione della formazione automatica
<a name="solution-config-auto-training"></a>

**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](updating-solution.md) per disattivare la formazione automatica. Per informazioni sui costi di formazione, consulta i prezzi di [Amazon Personalize](https://aws.amazon.com/personalize/pricing/).

Quando crei una soluzione, puoi configurare se la soluzione utilizza la formazione automatica. È inoltre possibile configurare la frequenza di allenamento. Ad esempio, è possibile configurare la soluzione per creare una nuova versione della soluzione ogni cinque giorni.

Per impostazione predefinita, tutte le nuove soluzioni utilizzano la formazione automatica per creare una nuova versione della soluzione ogni 7 giorni. La formazione automatica si verifica solo se sono stati importati dati di interazione in blocco o in tempo reale dall'ultimo allenamento. Ciò include le interazioni tra elementi o, per le soluzioni che utilizzano la Next-Best-Action ricetta, i dati sulle interazioni tra azioni. La formazione automatica continua fino all'eliminazione della soluzione. 

Si consiglia di utilizzare la formazione automatica. Semplifica la manutenzione della soluzione. Rimuove la formazione manuale necessaria affinché la soluzione apprenda dai dati più recenti. Senza formazione automatica, è necessario creare manualmente nuove versioni della soluzione per consentire alla soluzione di apprendere dai dati più recenti. Ciò può comportare raccomandazioni obsolete e un tasso di conversione inferiore. Per ulteriori informazioni sulla gestione dei consigli di Amazon Personalize, consulta. [Mantenere la pertinenza delle raccomandazioni](maintaining-relevance.md) 

Puoi configurare la formazione automatica con la console Amazon Personalize, AWS Command Line Interface (AWS CLI) o. AWS SDKs Per istruzioni su come configurare l'allenamento automatico con la console, consulta. [Creazione di una soluzione (console)](create-solution.md#configure-solution-console) 

Dopo aver creato la soluzione, registrate l'ARN della soluzione per utilizzi futuri. Con la formazione automatica, la creazione della versione della soluzione inizia entro un'ora dall'attivazione della soluzione. Se crei manualmente una versione della soluzione entro un'ora, la soluzione salta il primo addestramento automatico. Dopo l'inizio della formazione, puoi ottenere l'Amazon Resource Name (ARN) della versione della soluzione con il funzionamento dell'[ListSolutionVersions](https://docs.aws.amazon.com/personalize/latest/dg/API_ListSolutionVersions.html)API. Per conoscerne lo stato, utilizza l'operazione [DescribeSolutionVersion](https://docs.aws.amazon.com/personalize/latest/dg/API_DescribeSolutionVersion.html)API. 

**Topics**
+ [Linee guida e requisiti](#auto-training-guidelines)
+ [Configurazione dell'allenamento automatico ()AWS CLI](#configure-solution-auto-training-cli)
+ [Configurazione dell'addestramento automatico () SDKs](#configure-solution-auto-training-sdk)

## Linee guida e requisiti
<a name="auto-training-guidelines"></a>

Di seguito sono riportate le linee guida e i requisiti per la formazione automatica:
+  L'addestramento automatico si verifica solo se sono stati importati dati di interazione in blocco o in tempo reale dall'ultimo allenamento. Ciò include le interazioni tra elementi o, per le soluzioni che utilizzano la Next-Best-Action ricetta, i dati sulle interazioni tra azioni. 
+ Ogni formazione considera tutti i dati del gruppo di set di dati che includi nella formazione. Per informazioni sulla configurazione delle colonne utilizzate nella formazione, consulta. [Configurazione delle colonne utilizzate durante l'allenamento](custom-config-columns.md)
+ È comunque possibile creare manualmente le versioni della soluzione.
+ La formazione automatica inizia entro un'ora dall'attivazione della soluzione. Se crei manualmente una versione della soluzione entro un'ora, la soluzione salta il primo addestramento automatico. 
+ La pianificazione dell'allenamento si basa sulla data di inizio dell'allenamento. Ad esempio, se la prima versione della soluzione inizia l'allenamento alle 19:00 e si utilizza un corso di formazione settimanale, la versione successiva della soluzione inizierà l'allenamento una settimana dopo alle 19:00. 
+ Per tutte le ricette, consigliamo almeno una frequenza di allenamento settimanale. È possibile specificare una frequenza di allenamento compresa tra 1 e 30 giorni. L'impostazione predefinita è ogni 7 giorni. 
  +  Se utilizzi User-Personalization-v 2, User-Personalization o Next-Best-Action, la soluzione si aggiorna automaticamente per prendere in considerazione nuovi elementi o azioni da suggerire. Gli aggiornamenti automatici non sono la stessa cosa della formazione automatica. Un aggiornamento automatico non crea una versione completamente nuova della soluzione e il modello non impara dai dati più recenti. Per mantenere la soluzione, la frequenza di allenamento dovrebbe comunque essere almeno settimanale. Per ulteriori informazioni sugli aggiornamenti automatici, incluse linee guida e requisiti aggiuntivi, consulta[Aggiornamenti automatici](use-case-recipe-features.md#automatic-updates).
  + Se utilizzi Trending-Now, Amazon Personalize identifica automaticamente i principali elementi di tendenza nei dati delle interazioni in un intervallo di tempo configurabile. Trending-Now può consigliare gli elementi aggiunti dopo l'ultimo allenamento tramite dati di interazione in blocco o in streaming. La frequenza di allenamento dovrebbe comunque essere almeno settimanale. Per ulteriori informazioni, consulta [Ricetta Trending-Now](native-recipe-trending-now.md).
  + Se non utilizzi una ricetta con aggiornamenti automatici o la ricetta Trending-Now, Amazon Personalize considera i nuovi articoli come suggerimenti solo dopo il corso di formazione successivo. Ad esempio, se utilizzi la ricetta Similar-Items e aggiungi nuovi articoli ogni giorno, dovresti utilizzare una frequenza di allenamento automatica giornaliera affinché questi articoli appaiano nei consigli lo stesso giorno.

## Configurazione dell'allenamento automatico ()AWS CLI
<a name="configure-solution-auto-training-cli"></a>

Il codice seguente mostra come creare una soluzione che crei automaticamente una versione della soluzione ogni cinque giorni. Per disattivare l'allenamento automatico, imposta `perform-auto-training` su`false`. 

Per modificare la frequenza di allenamento, è possibile modificare `schedulingExpression` in`autoTrainingConfig`. L'espressione deve essere in `rate(value unit)` formato. Per il valore, specificare un numero compreso tra 1 e 30. Per l'unità, specificare `day` o`days`. 

Per una spiegazione completa del `create-solution` comando, vedere[Creazione di una soluzione ()AWS CLI](create-solution.md#configure-solution-cli).

```
aws personalize create-solution \
--name {{solution name}} \
--dataset-group-arn {{dataset group ARN}} \
--recipe-arn {{recipe ARN}} \
--perform-auto-training \
--solution-config "{\"autoTrainingConfig\": {\"schedulingExpression\": \"rate(5 days)\"}}"
```

## Configurazione dell'addestramento automatico () SDKs
<a name="configure-solution-auto-training-sdk"></a>

Il codice seguente mostra come creare una soluzione con addestramento automatico con. AWS SDKs La soluzione crea automaticamente una versione della soluzione ogni cinque giorni. Per disattivare l'allenamento automatico, `performAutoTraining` impostare su`false`. 

Per modificare la frequenza di allenamento, è possibile modificare `schedulingExpression` in`autoTrainingConfig`. L'espressione deve essere in `rate(value unit)` formato. Per il valore, specificare un numero compreso tra 1 e 30. Per l'unità, specificare `day` o`days`. 

Per una spiegazione completa del funzionamento dell' CreateSolution API, vedere[Creazione di una soluzione ()AWS SDKs](create-solution.md#configure-solution-sdk).

------
#### [ SDK for Python (Boto3) ]

```
import boto3

personalize = boto3.client('personalize')

create_solution_response = personalize.create_solution(
  name = '{{solution name}}',
  recipeArn = '{{recipe ARN}}',
  datasetGroupArn = '{{dataset group ARN}}',
  performAutoTraining = True,
  solutionConfig = {
    "autoTrainingConfig": {
      "schedulingExpression": "rate(5 days)"
    }
  }
)
solution_arn = create_solution_response['solutionArn']
print('solution_arn: ', solution_arn)
```

------
#### [ SDK for JavaScript v3 ]

```
import {
  CreateSolutionCommand,
  PersonalizeClient,
} from "@aws-sdk/client-personalize";

// create client
const personalizeClient = new PersonalizeClient({ region: "REGION" });

// set the solution parameters
export const solutionParam = {
  datasetGroupArn: "DATASET_GROUP_ARN" /* required */,
  recipeArn: "RECIPE_ARN" /* required */,
  name: "SOLUTION_NAME" /* required */,
  performAutoTraining: true /* optional, default is true */,
  solutionConfig: {
    autoTrainingConfig: {
      schedulingExpression:
        "rate(5 days)" /* optional, default is every 7 days */,
    },
  },
};

export const run = async () => {
  try {
    const response = await personalizeClient.send(
      new CreateSolutionCommand(solutionParam)
    );
    console.log("Success", response);
    return response; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

------

Puoi usare il seguente codice Python per attendere l'avvio dell'addestramento automatico. Il `wait_for_training_to_start` metodo restituisce l'ARN della prima versione della soluzione.

```
import time
import boto3

def wait_for_training_to_start(new_solution_arn):
    max_time = time.time() + 3 * 60 * 60    # 3 hours
    while time.time() < max_time:
        list_solution_versions_response = personalize.list_solution_versions(
            solutionArn=new_solution_arn
        )
        solution_versions = list_solution_versions_response.get('solutionVersions', [])
        if solution_versions:
            new_solution_version_arn = solution_versions[0]['solutionVersionArn']
            print(f"Solution version ARN: {new_solution_version_arn}")
            return new_solution_version_arn
        else:
            print(f"Training hasn't started yet. Training will start within the next hour.")
            time.sleep(60)


personalize = boto3.client('personalize')

solution_arn = "{{solution_arn}}"
solution_version_arn = wait_for_training_to_start(solution_arn)
```