Ottimizzazione basata su istruzioni - Amazon SageMaker

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

Ottimizzazione basata su istruzioni

La messa a punto basata sulle istruzioni utilizza esempi etichettati per migliorare le prestazioni di un modello di fondazione già addestrato su un'attività specifica. Gli esempi etichettati sono formattati come coppie di prompt, di risposta e formulati come istruzioni. Questo processo di ottimizzazione modifica i pesi del modello. Per ulteriori informazioni sulla messa a punto basata sulle istruzioni, consultate i documenti IntroduzioneFLAN: modelli linguistici più generalizzabili con Instruction Fine-Tuning and Scaling Instruction-Finetuned Language Models.

I modelli Net () ottimizzati utilizzano l'ottimizzazione delle istruzioni per LAnguage rendere i modelli più adatti alla risoluzione di attività generali a valle. FLAN NLP Amazon SageMaker JumpStart fornisce una serie di modelli base nella famiglia di FLAN modelli. Ad esempio, i modelli FLAN -T5 sono istruzioni ottimizzate per un'ampia gamma di attività per aumentare le prestazioni zero-shot per una varietà di casi d'uso comuni. Grazie ai dati aggiuntivi e all’ottimizzazione, i modelli basati sulle istruzioni possono essere ulteriormente adattati ad attività più specifiche che non sono state prese in considerazione durante l’addestramento preliminare.

Modelli compatibili con la messa a punto basata sulle istruzioni

Solo un sottoinsieme di modelli JumpStart base è compatibile con la messa a punto basata sulle istruzioni. L’ottimizzazione basata sulle istruzioni è disponibile con i seguenti modelli di fondazione:

Nota

Alcuni modelli di JumpStart base, come Llama 2 7B, richiedono l'accettazione di un contratto di licenza con l'utente finale prima della messa a punto e dell'esecuzione dell'inferenza. Per ulteriori informazioni, consulta Contratti di licenza con l'utente finale.

  • Base Flan-T5

  • Flan-T5 Grande

  • Flan-T5 piccolo

  • Flan-T5 XL

  • Flan-T5 XXL

  • Llama 2 13B

  • Llama 2 13B Chat

  • Neurone Llama 2 13B

  • Lama 2 70B

  • Llama 2 70B Chat

  • Lama 2 7B

  • Chat Llama 2 7B

  • Neurone Llama 2 7B

  • Mistral 7B

  • RedPajama INCITEBase 3B V1

  • RedPajama INCITEBase 7B V1

  • RedPajama INCITEGrafico 3B V1

  • RedPajama INCITEChatta 7B V1

  • RedPajama INCITEIstruisci 3B V1

  • RedPajama INCITEIstruisci 7B V1

Prepara e carica i dati di allenamento per la messa a punto basata sulle istruzioni

I dati di addestramento per la messa a punto basata sulle istruzioni devono essere forniti nel formato di file di testo JSON Lines, in cui ogni riga è un dizionario. Tutti i dati di allenamento devono trovarsi in un'unica cartella. La cartella può includere più file.jsonl.

La cartella di formazione può anche includere un JSON file modello (template.json) che descrive i formati di input e output dei dati. Se non viene fornito alcun file modello, viene utilizzato il seguente file modello:

{ "prompt": "Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.\n\n### Instruction:\n{instruction}\n\n### Input:\n{context}", "completion": "{response}" }

In base al template.json file, ogni immissione in formato.jsonl dei dati di addestramento deve includere campi {instruction} e{context}. {response}

Se fornisci un JSON file modello personalizzato, usa i "completion" tasti "prompt" and per definire i tuoi campi obbligatori. In base al seguente JSON file modello personalizzato, ogni immissione in formato.jsonl dei dati di addestramento deve includere e {question} campi{context}: {answer}

{ "prompt": "question: {question} context: {context}", "completion": "{answer}" }

Suddividi i dati per la formazione e i test

Facoltativamente, puoi fornire un'altra cartella contenente i dati di convalida. Questa cartella deve includere anche uno o più file.jsonl. Se non viene fornito alcun set di dati di convalida, una determinata quantità di dati di addestramento viene riservata ai fini della convalida. È possibile regolare la percentuale di dati di addestramento utilizzati per la convalida quando si scelgono gli iperparametri per la messa a punto del modello.

Caricare dati di ottimizzazione su Amazon S3

Carica i dati preparati su Amazon Simple Storage Service (Amazon S3) per utilizzarli durante la messa JumpStart a punto di un modello base. Puoi utilizzare i seguenti comandi per caricare i tuoi dati:

from sagemaker.s3 import S3Uploader import sagemaker import random output_bucket = sagemaker.Session().default_bucket() local_data_file = "train.jsonl" train_data_location = f"s3://{output_bucket}/dolly_dataset" S3Uploader.upload(local_data_file, train_data_location) S3Uploader.upload("template.json", train_data_location) print(f"Training data: {train_data_location}")

Crea un processo di formazione per la messa a punto basata sulle istruzioni

Dopo aver caricato i dati su Amazon S3, puoi perfezionare e distribuire il tuo modello di base. JumpStart Per perfezionare il modello in Studio, consulta. Ottimizzate i modelli di base in Studio Per ottimizzare il modello utilizzando il, consulta. SageMaker Python SDK Perfeziona i modelli di base disponibili al pubblico con la classe JumpStartEstimator

Notebook di esempio

Per ulteriori informazioni sulla regolazione fine basata sulle istruzioni, consultate i seguenti taccuini di esempio: