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à.
Crea un lavoro di messa a punto delle armature
Puoi creare un lavoro di ottimizzazione delle armature utilizzando la console o l'API Amazon Bedrock. Il processo RFT può richiedere diverse ore a seconda delle dimensioni dei dati di allenamento, del numero di epoche e della complessità delle funzioni di ricompensa.
Prerequisiti
-
Crea un ruolo di servizio IAM per accedere al bucket Amazon S3 in cui desideri archiviare i dati di addestramento RFT e gli artefatti di output. Puoi creare questo ruolo automaticamente utilizzando o manualmente. Console di gestione AWS Per le autorizzazioni specifiche di RFT, vedere. Rinforzo, ottimizzazione dell'accesso e della sicurezza
-
(Facoltativo) Crittografa i dati di input e output, il job RFT o le richieste di inferenza effettuate su modelli personalizzati. Per ulteriori informazioni, consulta Crittografia dei modelli personalizzati.
Crea il tuo lavoro RFT
Scegli la scheda relativa al metodo che preferisci, quindi segui la procedura:
- Console
-
Per inviare un lavoro RFT nella console, procedi nel seguente modo:
-
Accedi a Console di gestione AWS e apri la console Amazon Bedrock all'indirizzo https://console.aws.amazon.com/bedrock.
-
Nel riquadro di navigazione a sinistra, scegli Modelli personalizzati in Ottimizza.
-
Nella tabella Modelli, scegli Crea. Quindi, scegliete Create reinforcement fine-tuning job.
-
Nella sezione Dettagli del modello, scegli Amazon Nova 2 Lite come modello base.
-
Nella sezione Dettagli di personalizzazione, inserisci il nome della personalizzazione.
-
Nella sezione Dati di allenamento, scegli la tua fonte di dati:
-
Usa i log delle chiamate archiviati: seleziona uno dei log delle chiamate disponibili archiviati in Amazon S3
-
Carica un nuovo set di dati: seleziona la posizione Amazon S3 del file del set di dati di allenamento o carica un file direttamente dal tuo dispositivo
Il tuo set di dati di allenamento dovrebbe essere nel formato dati OpenAI Chat Completions. Se fornisci i log delle chiamate nel formato Amazon Bedrock invoke o converse, Amazon Bedrock li converte automaticamente nel formato Chat Completions.
-
Nella sezione Funzione Reward, configura il tuo meccanismo di ricompensa:
-
Model as judice (RLAIF): seleziona un modello base ospitato da Bedrock come giudice e configura le istruzioni per la valutazione. Utilizzalo per attività soggettive come la moderazione dei contenuti.
L'opzione Model as judge della console converte automaticamente la configurazione in una funzione Lambda durante l'allenamento.
-
Codice personalizzato (RLVR): crea funzioni di ricompensa personalizzate utilizzando il codice Python eseguito tramite le funzioni Lambda. Usalo per attività oggettive come la generazione di codice.
Per ulteriori informazioni, consulta Impostazione delle funzioni di ricompensa.
-
(Facoltativo) Nella sezione Iperparametri, regolate i parametri di allenamento o utilizzate i valori predefiniti.
-
Nella sezione Dati di output, inserisci la posizione Amazon S3 in cui Bedrock deve salvare gli output del lavoro.
-
Nella sezione Configurazione del ruolo, seleziona:
-
(Facoltativo) Nella sezione Configurazione aggiuntiva, configura:
-
Scegliete Create reinforcement fine-tuning job per iniziare il lavoro.
- API
-
Invia una CreateModelCustomizationJob richiesta con set to. customizationType REINFORCEMENT_FINE_TUNING È necessario fornire i seguenti campi:
Campi obbligatori:
-
roleArn- ARN del ruolo di servizio con autorizzazioni RFT
-
baseModelIdentifier- ID del modello o ARN del modello di base da personalizzare
-
customModelName- Nome per il modello appena personalizzato
-
jobName- Nome del lavoro di formazione
-
customizationType: imposta il valore su REINFORCEMENT_FINE_TUNING
-
trainingDataConfig- URI Amazon S3 del set di dati di addestramento o della configurazione del registro di chiamata
-
outputDataConfig- URI Amazon S3 per scrivere dati di output
-
rftConfig- Configurazione della funzione Reward (RLVR o RLAIF) e configurazione degli iperparametri
Richiesta di esempio:
{
"roleArn": "arn:aws:iam::123456789012:role/BedrockRFTRole",
"baseModelIdentifier": "amazon.nova-2.0",
"customModelName": "my-rft-model",
"jobName": "my-rft-job",
"customizationType": "REINFORCEMENT_FINE_TUNING",
"trainingDataConfig": {
"s3Uri": "s3://my-bucket/training-data.jsonl"
},
"customizationConfig": {
"rftConfig" : {
"graderConfig": {
"lambdaGrader": {
"lambdaArn": "arn:aws:lambda:us-east-1:123456789012:function:function-name"
}
},
"hyperParameters": {
"batchSize": 64,
"epochCount": 2,
"evalInterval": 10,
"inferenceMaxTokens": 8192,
"learningRate": 0.00001,
"maxPromptLength": 4096,
"reasoningEffort": "high",
"trainingSamplePerPrompt": 4
}
}
},
"outputDataConfig": {
"s3Uri": "s3://my-bucket/rft-output/"
}
}
Richiesta di esempio di API Python:
import boto3
bedrock = boto3.client(service_name='bedrock')
# Set parameters
customizationType = "REINFORCEMENT_FINE_TUNING"
baseModelIdentifier = "arn:aws:bedrock:us-east-1::foundation-model/amazon.nova-2-lite-v1:0:256k"
roleArn = "${your-customization-role-arn}"
jobName = "MyFineTuningJob"
customModelName = "MyCustomModel"
customizationConfig = {
'rftConfig' : {
'graderConfig': {
'lambdaGrader': {
'lambdaArn': 'arn:aws:lambda:us-east-1:123456789012:function:function-name'
}
},
'hyperParameters': {
'batchSize': 64,
'epochCount': 2,
'evalInterval': 10,
'inferenceMaxTokens': 8192,
'learningRate':0.00001,
'maxPromptLength': 4096,
'reasoningEffort': 'high',
'trainingSamplePerPrompt':4
}
}
}
trainingDataConfig = {"s3Uri": "s3://${training-bucket}/myInputData/train.jsonl"}
outputDataConfig = {"s3Uri": "s3://${output-bucket}/myOutputData"}
# Create job
response_ft = bedrock.create_model_customization_job(
jobName=jobName,
customModelName=customModelName,
roleArn=roleArn,
baseModelIdentifier=baseModelIdentifier,
customizationConfig=customizationConfig,
trainingDataConfig=trainingDataConfig,
outputDataConfig=outputDataConfig,
customizationType=customizationType
)
jobArn = response_ft['jobArn']
Flusso di lavoro RFT
Il job RFT segue questo flusso di lavoro automatizzato:
-
Generazione di risposte: il modello di attore genera risposte in base alle istruzioni di formazione
-
Calcolo della ricompensa: le funzioni di ricompensa valutano le coppie di risposta rapida
-
Actor Model Training - Il modello impara dalle coppie con punteggio utilizzando GRPO
Durante l'allenamento, puoi monitorare i progressi utilizzando grafici in tempo reale con metriche di formazione e convalida come perdita, ricompense, margine di ricompensa e precisione. Una volta ottenuto il successo, viene creato un modello RFT con un modello ARN personalizzato.
Imposta l'inferenza
Dopo il completamento del lavoro, puoi implementare il modello RFT risultante con un clic per l'inferenza su richiesta. Puoi anche utilizzare Provisioned Throughput per carichi di lavoro mission critical che richiedono prestazioni costanti. Una volta impostata l'inferenza, usa Test in Playground per valutare e confrontare in modo interattivo le risposte con il modello base. side-by-side
Per monitorare lo stato di avanzamento del lavoro in RFT, consulta. Monitora il tuo lavoro di formazione RFT
Per valutare il modello RFT completato, consulta. Valuta il tuo modello RFT