Ottimizza un modello linguistico di grandi dimensioni (LLM) utilizzando istruzioni rapide - Amazon SageMaker AI

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

Ottimizza un modello linguistico di grandi dimensioni (LLM) utilizzando istruzioni rapide

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 sull’ottimizzazione basata sulle istruzioni, consulta i documenti Introducing FLAN: More generalizable Language Models with Instruction Fine-Tuning e Scaling Instruction-Finetuned Language Models.

I modelli Fine-tuned LAnguage Net (FLAN) utilizzano l'ottimizzazione delle istruzioni per rendere i modelli più adatti alla risoluzione di attività generali di PNL a valle. Amazon SageMaker JumpStart fornisce una serie di modelli base nella famiglia di modelli FLAN. Ad esempio, i modelli FLAN-T5 sono istruzioni ottimizzate per un'ampia gamma di attività per aumentare le prestazioni zero-shot per tutta una serie 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.

Per ottimizzare un LLM su un'attività specifica utilizzando le istruzioni per le attività relative alle coppie di risposta rapida:

  1. Prepara le istruzioni in file JSON. Per ulteriori informazioni sul formato richiesto per i file di coppia prompt-response e sulla struttura della cartella dei dati, consulta. Prepara e carica i dati di allenamento per la messa a punto basata sulle istruzioni

  2. Crea il tuo lavoro di formazione mirato. Per istruzioni, consulta Crea un processo di formazione per la messa a punto basata sulle istruzioni.

Puoi trovare end-to-end esempi in. Notebook di esempio

Solo un sottoinsieme di modelli di 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 per 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 INCITE Base 3B V1

  • RedPajama INCITE Base 7B V1

  • RedPajama Tabella INCITE 3B V1

  • RedPajama INCITE Chart 7B V1

  • RedPajama INCITE Instruct 3B V1

  • RedPajama INCITE Instruct 7B V1

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

I dati di addestramento per l'ottimizzazione 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 file JSON 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 file JSON modello personalizzato, usa i "completion" tasti "prompt" and per definire i tuoi campi obbligatori. In base al seguente file JSON modello personalizzato, ogni immissione in formato.jsonl dei dati di addestramento deve includere {question} e 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. Perfeziona un modello in Studio Per ottimizzare il modello utilizzando il SageMaker Python SDK, vedi. Ottimizzate i modelli di base disponibili pubblicamente con la classe JumpStartEstimator

Notebook di esempio

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