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à.
Prepara i dati per i modelli Amazon Nova
Quando ottimizzi un modello Amazon Nova con l'ottimizzazione del rinforzo, puoi inserire i tuoi prompt o utilizzare i log di richiamo dell'API Amazon Bedrock esistenti come dati di addestramento.
Requisiti e fonti dei dati di formazione
È possibile fornire dati di allenamento tramite una delle seguenti opzioni:
Nota
Supportiamo solo il formato di completamento della chat OpenAI.
Raccogli i prompt e archiviali in un file in formato .jsonl. Puoi caricare set di dati personalizzati in formato JSONL o selezionare set di dati esistenti da Amazon S3. Ogni record in JSONL deve utilizzare il formato di completamento della chat OpenAI nella seguente struttura:
-
messages: in questo campo, includi il ruolo dell'utente, del sistema o dell'assistente contenente il prompt di input fornito al modello. -
reference_answer: in questo campo, deve contenere l'output previsto o i criteri di valutazione utilizzati dalla funzione di ricompensa per valutare la risposta del modello. Non si limita ai risultati strutturati: può contenere qualsiasi formato che aiuti la funzione di ricompensa a valutare la qualità. -
[Facoltativo] È possibile aggiungere campi utilizzati da Grader Lambda per la valutazione.
Requisiti:
Formato JSONL con prompt in formato di completamento della chat OpenAI (un prompt per riga)
Un minimo di 100 record nel set di dati di addestramento
Amazon Bedrock convalida automaticamente il formato del set di dati di formazione
Quando crei un job di ottimizzazione del rinforzo, puoi fare in modo che Amazon Bedrock utilizzi i log di invocazione esistenti dal tuo bucket S3 come dati di addestramento. Per Amazon Bedrock, un log delle invocazioni è un registro dettagliato delle invocazioni del modello.
Puoi utilizzare i log di invocazione delle API archiviati sul lato cliente di Amazon S3 per la formazione. Invoke/Converse
Requisiti:
-
La registrazione delle API deve essere abilitata per l'utilizzo di Amazon Bedrock
-
I log devono essere in un formato supportato (API Amazon Invoke/Converse Bedrock)
-
Un minimo di 100 esempi di prompt
Per utilizzare i log di invocazione per la messa a punto del rinforzo, imposta l'accesso all'invocazione del modello, utilizza una delle operazioni di richiamo del modello e assicurati di aver impostato un bucket Amazon S3 come destinazione per i log. Per ulteriori informazioni sulla configurazione dei log di invocazione, consulta Monitorare l'invocazione del modello con Logs e Amazon S3. CloudWatch
Prima di iniziare il processo di ottimizzazione del rinforzo con i log di invocazione da un bucket S3 come input, fornisci ad Amazon Bedrock le autorizzazioni per accedere ai log. Per ulteriori informazioni, consulta Accesso e sicurezza per la personalizzazione del modello.
Facoltativamente, è possibile aggiungere i metadati delle richieste alle coppie di prompt-risposta nel log delle invocazioni utilizzando una delle operazioni di invocazione del modello e utilizzarli in seguito per filtrare i log. Amazon Bedrock può utilizzare i log filtrati per ottimizzare il modello.
Aggiungi i metadati delle richieste ai prompt e alle risposte nei log di chiamata
Con i log di invocazione, puoi identificare i prompt del set di dati di training che desideri che Amazon Bedrock utilizzi per la messa a punto del rinforzo utilizzando i metadati delle richieste allegati ai log di invocazione.
Di seguito è riportato un esempio di registro delle chiamate da una chiamata con: InvokeModel requestMetadata
{ "schemaType": "ModelInvocationLog", "schemaVersion": "1.0", "timestamp": "2024-09-11T17:16:18Z", "accountId": "XXXXX", "identity": { "arn": "arn:aws:sts::XXXXXXX:assumed-role/Admin/XXXXXX" }, "region": "us-east-1", "requestId": "7ee514f3-9eff-467c-af75-8fd564ce58e5", "operation": "InvokeModel", "modelId": "meta.llama3-1-405b-instruct-v1:0", "input": { "inputContentType": "application/json", "inputBodyJson": { "prompt": "story of two dogs", "max_tokens_to_sample": 300 }, "inputTokenCount": 13 }, "output": { "outputContentType": "application/json", "outputBodyJson": { "type": "completion", "completion": " Here is a story about two dogs:\n\nRex and Charlie were best friends who lived next door to each other. Every morning, their owners would let them out into the backyard to play. Rex was a golden retriever with long, shaggy fur. He loved to run and chase sticks. Charlie was a corgi with short legs and a big smile. He was happy just sniffing the grass and rolling around. \n\nThe two dogs spent every day playing together. Rex would grab a stick and bring it over to Charlie, wagging his tail excitedly. Charlie would take the other end of the stick in his mouth and they'd have a friendly game of tug-of-war. After tiring themselves out, they'd flop down in the warm sunshine for a nap. \n\nAt lunchtime, their owners would call them in for food. Rex would gobble up his kibble hungrily while Charlie ate his at a more leisurely pace. After lunch, it was right back outside for more playtime. The afternoon sunbeams would light up their fur as they chased each other around the yard. \n\nWhen it started getting late, their owners called them in for the night. Rex and Charlie would head inside, tired but happy after another fun day of play. After slurping up fresh water from their bowls, they'd curl up on their beds, Rex's fluffy golden tail tucked over his nose and little", "stop_reason": "max_tokens", "stop": null }, "outputTokenCount": 300 }, "requestMetadata": { "project": "CustomerService", "intent": "ComplaintResolution", "priority": "High" } }
È possibile specificare il registro di chiamata come origine dati di input quando si avvia un lavoro di ottimizzazione delle armature. Puoi avviare un processo di ottimizzazione delle armature tramite la console Amazon Bedrock, utilizzando l'API o l'SDK. AWS CLI
Requisiti per fornire i metadati delle richieste
I metadati delle richieste devono soddisfare i seguenti requisiti:
-
Devono essere nel formato
key:valuedi JSON. -
La coppia chiave-valore deve essere una stringa al massimo di 256 caratteri.
-
Devono fornire al massimo 16 coppie chiave-valore.
Utilizzo di filtri per metadati delle richieste
Una volta disponibili i log di richiamo con i metadati delle richieste, puoi applicare filtri in base ai metadati della richiesta per scegliere selettivamente quali prompt includere per la messa a punto del modello. Ad esempio, potresti voler includere solo i metadati con e quelli che richiedono i metadati. "project": "CustomerService" "priority": "High"
Per filtrare i log utilizzando più metadati di richiesta, utilizza un singolo operatore booleano o. AND OR Non è possibile combinare questi operatori. Per filtrare i metadati di una singola richiesta, utilizzare l'Equalsoperatore or. Not Equals
Caratteristiche dei dati di allenamento efficaci
I dati di formazione RFT efficaci richiedono tre caratteristiche chiave:
-
Chiarezza e coerenza: utilizza prompt chiari e inequivocabili con una formattazione coerente. Evita etichette contraddittorie, istruzioni ambigue o risposte di riferimento contrastanti che inducono in errore la formazione.
-
Diversità: includi diversi formati di input, casi limite e livelli di difficoltà che riflettano i modelli di utilizzo della produzione in diversi tipi e scenari di utenti.
-
Funzioni di ricompensa efficienti: progetta funzioni che vengano eseguite rapidamente (secondi, non minuti), siano parallelizzate AWS Lambda e restituiscano punteggi coerenti per una formazione conveniente.
Proprietà aggiuntive
Il formato di dati RFT supporta campi personalizzati oltre ai requisiti (e) principali dello schema. messages reference_answer Questa flessibilità consente di aggiungere qualsiasi dato aggiuntivo necessario alla funzione di ricompensa per una corretta valutazione.
Nota
Non è necessario configurarlo nella ricetta. Il formato dei dati supporta intrinsecamente campi aggiuntivi. Basta includerli nei dati di allenamento JSON e verranno passati alla funzione di ricompensa sul campo. metadata
Proprietà aggiuntive comuni
task_id— Identificatore univoco per il tracciamentodifficulty_level— Indicatore di complessità del problemadomain— Area o categoria tematicaexpected_reasoning_steps— Numero di passaggi nella soluzione
Questi campi aggiuntivi vengono trasmessi alla funzione di ricompensa durante la valutazione, consentendo una sofisticata logica di punteggio adattata al caso d'uso specifico.
Esempi con proprietà aggiuntive