0 / 0
Torna alla versione inglese della documentazione
Il foundation model granite-7b-lab di IBM
Ultimo aggiornamento: 28 nov 2024
Il foundation model granite-7b-lab di IBM

Sperimentate l'inferenza del foundation model IBM granite-7b-lab in watsonx.ai per conoscere le sue capacità e trovare le aree in cui potreste voler contribuire con le vostre competenze o conoscenze.

Il foundation model granite-7b-lab è un modello linguistico di grandi dimensioni da 7 miliardi di parametri di IBM.

Come altri modelli di fondazione della serie IBM Granite, il modello è preaddestrato su set di dati specializzati per le aziende, il che significa che il modello ha familiarità con il linguaggio specialistico di vari settori e può generare più facilmente contenuti basati sulla conoscenza del settore.

A differenza di alcuni modelli di fondazione della serie IBM Granite, il modello foundation model granite-7b-lab è stato messo a punto utilizzando un nuovo metodo di allineamento di IBM Research chiamato Large-scale Alignment for chatBots (LAB). Per ulteriori informazioni sul metodo di regolazione dell'allineamento LAB, vedere Modelli di fondazioneInstructLab.

Esplora la tassonomia foundation model

Per saperne di più sulle funzionalità del foundation model granite-7b-lab, è possibile esplorare la tassonomia del foundation model.

Per accedere alla tassonomia, completare i seguenti passaggi:

  1. Dal Prompt Lab watsonx.ai in modalità chat, fare clic sul campo Modello, quindi scegliere Visualizza tutti i modelli di fondazione.

  2. Individuare e fare clic sulla piastrella del foundation model'granite-7b-lab.

  3. Fare clic per aprire la scheda Tassonomia di formazione della scheda modello.

    Schermata della tassonomia di formazione per il foundation model granite-7b-lab

  4. Esplorare le conoscenze e le competenze della tassonomia. Ogni nodo finale dell'albero della tassonomia rappresenta un'abilità per la quale il modello è stato addestrato. È possibile fare clic su un'abilità per vedere gli esempi di partenza che sono stati utilizzati per generare i dati sintetici utilizzati per addestrare il modello.

Il foundation model granite-7b-lab

Per ottenere i migliori risultati dal foundation model granite-7b-lab, iniziare a utilizzare le strutture di prompt consigliate quando si creano gli input foundation model per i diversi compiti. Man mano che si lavora con il modello, si possono modificare i parametri del modello e il formato del prompt per trovare le impostazioni migliori per il proprio caso d'uso.

Il foundation model granite-7b-lab è ottimizzato per i seguenti usi:

Classificazione

Per utilizzare il foundation model granite-7b-lab per classificare le informazioni, seguire le seguenti raccomandazioni.

La seguente tabella elenca i parametri del modello consigliati per richiedere al foundation model granite-7b-lab un compito di classificazione.

Tabella 1. Parametri del modello raccomandati dal prompt granite-7b-lab in un compito di classificazione
Parametro Valore o intervallo consigliato Spiegazione
Decodifica Greedy La decodifica avida sceglie i token solo tra le opzioni più probabili, il che è meglio quando si vuole classificare un testo.
Penalità di ripetizione 1 Utilizzare il valore più basso. Ci si aspetta una ripetizione.
Numero massimo token varianze Utilizzare un valore che copra il numero di token dell'etichetta di classe più lunga, come 3 o 5. La limitazione dei token incoraggia il modello a restituire solo l'etichetta di classe appropriata e nient'altro.
Criteri di arresto <|endoftext|> Senza la sequenza di stop <|endoftext|>, il modello potrebbe generare più output rispetto all'etichetta di classe.

 

Per richiedere al foundation model granite-7b-lab un compito di classificazione, provare a eseguire i seguenti passaggi:

  1. Identificare le classi o le etichette di classificazione che il modello deve assegnare all'input. Assicuratevi di elencare queste etichette di classe nel segmento delle istruzioni del prompt.

    Ad esempio, se si desidera classificare le recensioni dei prodotti dei clienti come positive o negative, si possono definire due etichette di classe: Postitive e Negative.

  2. Raccogliere due o tre esempi rappresentativi del tipo di testo in ingresso che si vuole far classificare al modello.

  3. Lavorate con il foundation model granite-7b-lab del Prompt Lab in modalità libera, in modo da poter strutturare i vostri prompt.

  4. Dal pannello Parametri del modello, impostare i parametri del modello raccomandati dalla Tabella 1.

  5. Nel prompt, identificate chiaramente il prompt del sistema, l'input dell'utente e la destinazione dell'output del modello.

    Ad esempio, quando il foundation model granite-7b-lab è stato addestrato a classificare il testo, è stata utilizzata la seguente struttura di prompt:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {INSTRUCTION}
    Your response should only include the answer. Do not provide any further explanation.
    Here are some examples, complete the last one:
    {INPUT_LABEL}:
    {ICL_INPUT_1}
    {OUTPUT_LABEL}:
    {ICL_OUTPUT_1}
    {INPUT_LABEL}:
    {ICL_INPUT_2}
    {OUTPUT_LABEL}:
    {ICL_OUTPUT_2}
    {INPUT_LABEL}:
    {TEST_INPUT}
    {OUTPUT_LABEL}:
    <|assistant|>
    
    

    È possibile utilizzare una struttura simile per sfruttare la formazione del modello. È sufficiente sostituire le variabili segnaposto nel modello di prompt.

    Tabella 3a: Variabili segnaposto del modello di classificazione
    Variabile segnaposto Descrizione Esempi
    {INSTRUCTION} Descrizione del compito. Includere un elenco delle classi che si vuole che il modello assegni all'input. Per ogni recensione di prodotto, indicare se la recensione è positiva o negativa.
    {INPUT_LABEL} Etichetta breve per il testo da classificare. Input, Customer review, Feedback, Comment
    {OUTPUT_LABEL} Etichetta breve che rappresenta il valore di classificazione. Class
    {ICL_INPUT_N} Facoltativo. Esempi di testo in ingresso da classificare. Aggiungete esempi quando volete usare un prompt di pochi colpi per supportare l'apprendimento nel contesto. The service representative did not listen to a word I said. It was a waste of my time.
    {ICL_OUTPUT_N} Esempi di output con etichette di classe assegnate ai corrispondenti esempi di testo in ingresso. Positive, Negative

Esempio di richiesta di classificazione

Il seguente prompt classifica i feedback che i clienti condividono sul personale del centro di assistenza. Vengono specificati i seguenti parametri del modello:

  • Sequenza di arresto: <|endoftext|>
  • Gettoni massimi: 3
<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
For each feedback, specify whether the content is Positive or Negative. Your response should only include the answer. Do not provide any further explanation.
Here are some examples, complete the last one:
Feedback:
Carol, the service rep was so helpful. She answered all of my questions and explained things beautifully.
Class:
Positive
   
Feedback:
The service representative did not listen to a word I said. It was a waste of my time.
Class:
Negative
   
Feedback:
Carlo was so helpful and pleasant. He was able to solve a problem that I've been having with my software for weeks now.
Class:
<|assistant|>

L'output generato dal foundation model granite-7b-lab quando viene inviato questo prompt è 'Positive.

Conversazione con granite-7b-lab

Per ottenere i migliori risultati quando si chiacchiera con il foundation model granite-7b-lab, seguire prima queste raccomandazioni e poi sperimentare per ottenere i risultati desiderati.

La tabella seguente elenca i parametri del modello consigliati per richiedere al foundation model granite-7b-lab un compito di conversazione.

Tabella 2. Parametri del modello raccomandati dal prompt granite-7b-lab in un compito conversazionale
Parametro Valore o intervallo consigliato Spiegazione
Decodifica Campionamento La decodifica a campione genera un testo più creativo, che contribuisce ad aggiungere interesse e personalità alle risposte del chatbot. Tuttavia, può anche portare a risultati imprevedibili. È possibile controllare il grado di creatività con la successiva serie di parametri del modello.
Top P: 0,85
Top K: 50
Temperatura: 0.7
Questi parametri di decodifica del campionamento funzionano tutti insieme. Il modello seleziona un sottoinsieme di token da cui scegliere il token da includere nell'output.
Il sottoinsieme comprende i 50 token più probabili (Top K) o i token che, sommando i loro punteggi di probabilità, raggiungono un punteggio totale di 0.85 (Top P). Il valore relativamente basso della temperatura di 0.7 amplifica la differenza nei punteggi dei token. Di conseguenza, i token che vengono tagliati sono tipicamente i token più probabili.
- Per aumentare la creatività e la diversità delle risposte, aumentate il valore della temperatura.
- Se il modello ha le allucinazioni, abbassare il valore della temperatura.
Penalità di ripetizione 1.05 Impostate la penalità a questo valore basso per evitare che il chatbot sembri robotico ripetendo parole o frasi.
Seed casuale Specificare un valore per questa impostazione solo se si sta testando qualcosa e si vuole eliminare la casualità come fattore dal test.
Ad esempio, se si vuole cambiare la temperatura per vedere come ciò influisce sull'output, inviare ripetutamente lo stesso input e cambiare ogni volta solo il valore della temperatura. Specificare anche un numero, come 5, come seme casuale ogni volta, per evitare che le scelte casuali dei token influenzino anche l'output del modello. Il numero in sé non ha importanza, purché si specifichi ogni volta lo stesso numero.
Arresto della sequenza <|endoftext|> Senza la sequenza di stop <|endoftext|>, il modello potrebbe aggiungere più informazioni esplicative del necessario.
Numero massimo token 900 La lunghezza massima della finestra di contesto per il foundation model granite-7b-lab, che include sia i token di ingresso che quelli di uscita, è di 8192. Per ulteriori informazioni sui token, vedere Token e tokenizzazione.
Per ogni domanda di follow-up, la cronologia della conversazione viene inclusa come parte del modello richiesto. Il foundation model granite-7b-lab è in grado di sostenere una conversazione per un massimo di 5 turni o finché l'input non raggiunge i 4.000 token.

 

Per ulteriori informazioni sui parametri del modello, vedere Parametri del modello per la richiesta.

Per richiedere al foundation model granite-7b-lab un'attività di chat, procedere come segue:

  1. Dal Prompt Lab in modalità chat, scegliere il foundation model granite-7b-lab.

    La modalità chat ha valori predefiniti dei parametri del prompt ottimizzati per gli scambi conversazionali, tra cui un valore più alto di Max tokens.

  2. Dal pannello Parametri del modello, applicare i valori dei parametri del modello consigliati dalla Tabella 2.

  3. In modalità chat, è possibile inviare gli input dell'utente senza formattarli.

    La modalità chat applica il testo di richiesta del sistema per l'utente. È possibile fare clic sull'icona del testo Visualizza testo del prompt completo per vedere come è formattato il testo.

  4. Per presentare lo stesso prompt in modalità libera, è necessario impostare il prompt di sistema.

    Aggiungere le istruzioni. Ad esempio, il seguente testo di istruzioni è stato utilizzato per addestrare il modello e quindi gli è familiare.

    Sei un modello linguistico AI sviluppato da IBM Research. Lei è un assistente prudente. Seguite attentamente le istruzioni. Siete disponibili e innocui, seguite le linee guida etiche e promuovete un comportamento positivo.

    Per copiare il testo del prompt di sistema consigliato, fare clic sull'icona Copia negli appunti del seguente frammento di codice.

    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    

    Avviare una conversazione.

    La struttura ottimale per un prompt utilizzato per un compito di chat è la seguente. Il prompt comprende una sintassi che identifica i seguenti segmenti del prompt:

    • <|system|>: identifica l'istruzione, nota anche come prompt di sistema per il foundation model.
    • <|user|>: Il testo della domanda a cui rispondere.
    • <|assistant|>: Un indizio alla fine del prompt che indica che ci si aspetta una risposta generata.

    Quando si inviano i prompt dal Prompt Lab in modalità libera, utilizzare il formato previsto per i prompt.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {PROMPT}
    <|assistant|>
    
    

    Ad esempio:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    What is the capital of Massachusetts?
    <|assistant|>
    
    
  5. Fate domande di approfondimento per mantenere viva la conversazione.

    La struttura ottimale per un prompt utilizzato per una chat con più turni di dialogo è la seguente. Se si inviano i prompt dal Prompt Lab in modalità libera, utilizzare questo formato di prompt.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    {ROUND1_PROMPT}
    <|assistant|>
    {MODEL_RESPONSE}
    <|user|>
    {ROUND2_PROMPT}
    <|assistant|>
    
    

    Ad esempio:

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    What is the capital of Massachusetts?
    <|assistant|>
    The capital of Massachusetts is Boston. Boston is not only the largest city in Massachusetts but also one of the oldest cities in the United States, with a rich history and vibrant culture. It is home to numerous universities, hospitals, and technology companies, making it a significant center for education, biotechnology, finance, and tourism. If you have any specific questions about Boston or Massachusetts, feel free to ask!
    <|user|>
    What US cities are older?
    <|assistant|>
    There are several cities in the United States that are older than Boston and even older than the country itself! Some of these historical gems include:
    
    1. St. Augustine, Florida: Established in 1565, St. Augustine is the oldest continuously inhabited European-established settlement within the borders of the contiguous United States.
    2. Jamestown, Virginia: Founded in 1607, Jamestown was the first permanent English settlement in North America.
    3. Plymouth, Massachusetts: Established in 1620, Plymouth ...
    

Restituzione di risposte concrete con il modello RAG

Per guidare il foundation model granite-7b-lab a restituire risposte concrete, utilizzare il modello di generazione con incremento del reperimento. La generazione aumentata dal recupero arricchisce l'input inviato al modello con informazioni concrete sull'argomento da discutere. Per ulteriori informazioni, vedere Generazione aumentata dal recupero (RAG).

Quando si desidera ottenere risposte concrete dal foundation model granite-7b-lab, seguire le seguenti raccomandazioni.

La seguente tabella elenca i parametri del modello raccomandati per richiedere al foundation model granite-7b-lab un'attività di generazione aumentata dal reperimento.

Tabella 3. Parametri del modello raccomandati dal prompt granite-7b-lab in un task RAG
Parametro Valore o intervallo consigliato Spiegazione
Decodifica Greedy La decodifica avida sceglie i token solo tra le opzioni più probabili, il che è meglio quando si vogliono risposte concrete.
Penalità di ripetizione 1 Utilizzare il valore più basso. La ripetizione è accettabile quando l'obiettivo sono le risposte concrete.
Numero massimo token 500 Il modello può rispondere alla domanda nel modo più completo possibile.
Si ricordi che la lunghezza massima della finestra di contesto per il foundation model granite-7b-lab, che include sia i token di input che quelli di output, è 8192. Mantenete il vostro contributo, compreso il documento che aggiungete per motivare il prompt, entro questo limite. Per ulteriori informazioni sui token, vedere Token e tokenizzazione.
Criteri di arresto <|endoftext|> Una caratteristica utile del foundation model granite-7b-lab è l'inclusione di un token speciale, chiamato <|endoftext|>, alla fine di ogni risposta. Quando alcuni modelli generativi restituiscono una risposta all'input in un numero di token inferiore al massimo consentito, possono ripetere i modelli dell'input. Questo modello evita tale ripetizione incorporando una sequenza di stop affidabile per il prompt.

 

Per ulteriori informazioni sui parametri del modello, vedere Parametri del modello per la richiesta.

Per richiedere il foundation model granite-7b-lab per un'attività di generazione aumentata dal reperimento, provare a eseguire i seguenti passaggi:

  1. Trovate risorse affidabili con informazioni concrete sull'argomento che volete che il modello discuta e che avete il permesso di usare. Copiare un estratto del documento o dei documenti in un editor di testo o in un altro strumento per potervi accedere in seguito.

    Ad esempio, la risorsa potrebbe essere costituita da informazioni sui prodotti contenute nel sito web dell'azienda o nella documentazione del prodotto.

  2. Dal Laboratorio prompt, aprite la modalità libera in modo da poter strutturare i prompt. Scegliere il foundation model granite-7b-lab.

  3. Dal pannello Parametri del modello, impostare i parametri del modello raccomandati dalla Tabella 3.

  4. Nel prompt, definire chiaramente il prompt del sistema, l'input dell'utente e la destinazione dell'output del modello.

    Ad esempio, la seguente struttura di prompt può aiutare il foundation model granite-7b-lab a restituire informazioni pertinenti.

    <|system|>
    You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
    <|user|>
    You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question.
    Answer Length: {ANSWER_LENGTH}
    [Document]
    {DOCUMENT1_TITLE}
    {DOCUMENT1_CONTENT}
    [End]
    [Document]
    {DOCUMENT2_TITLE}
    {DOCUMENT2_CONTENT}
    [End]
    [Document]
    {DOCUMENT3_TITLE}
    {DOCUMENT3_CONTENT}
    [End]
    {QUERY}
    <|assistant|>
    
    

    Nota: L'inizio e la fine del contenuto del documento sono indicati dai tag speciali [Document] e [End]. Usate una sintassi simile se volete aggiungere tag speciali che identifichino i tipi di contenuto o le intestazioni delle sottosezioni nei vostri prompt. Quando è stato creato il foundation model granite-7b-lab, è stato addestrato a gestire i seguenti tag speciali:

    • <|system|>: identifica l'istruzione, nota anche come prompt di sistema per il foundation model.
    • <|user|>: Il testo della domanda a cui rispondere.
    • <|assistant|>: Un indizio alla fine del prompt che indica che ci si aspetta una risposta generata.

    Non utilizzare la stessa sintassi <|tagname|> per i tag personalizzati, altrimenti si rischia di confondere il modello.

  5. Se si copia questo modello di prompt, dopo averlo incollato nell'editor di Prompt Lab, sostituire le variabili segnaposto.

    Tabella 4: Variabili segnaposto del modello RAG
    Variabile segnaposto Descrizione Esempi
    {ANSWER_LENGTH} Facoltativo. Definisce la lunghezza prevista per la risposta. Le opzioni includono (dalla risposta più breve a quella più lunga): single word, concise, narrative
    {DOCUMENTn_TITLE} Titolo del documento da cui è tratto l'estratto con le informazioni fattuali. È possibile includere i contenuti di più documenti. Opuscolo del prodotto
    {DOCUMENTn_CONTENT} Estratto del testo con le informazioni fattuali che si desidera che il modello sia in grado di discutere con cognizione di causa. Testo tratto da una brochure di marketing, dalla documentazione di un prodotto, dal sito web dell'azienda o da un'altra risorsa affidabile.
    {QUERY} Domanda a cui si deve dare una risposta concreta. Una domanda sull'argomento trattato nel documento.

     

    Tip: In alternativa, è possibile definire e utilizzare una variabile prompt per il documento, in modo che il prompt possa essere riutilizzato e il contenuto possa essere sostituito dinamicamente ogni volta. Per ulteriori informazioni, vedere Costruzione di prompt riutilizzabili.

Esempio di richiesta di generazione aumentata di recupero

Il seguente prompt utilizza il foundation model granite-7b-lab per rispondere alle domande sulla messa a punto del prompt.

Nota: Il contenuto del documento è tratto dall'argomento Metodi per la messa a punto dei modelli di fondazione.

<|system|>
You are an AI language model developed by IBM Research. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.
<|user|>
You are an AI language model designed to function as a specialized Retrieval Augmented Generation (RAG) assistant. When generating responses, prioritize correctness, i.e., ensure that your response is grounded in context and user query. Always make sure that your response is relevant to the question.
Answer length: concise
[Document]
How prompt-tuning works
Foundation models are sensitive to the input that you give them. Your input, or how you prompt the model, can introduce context that the model will use to tailor its generated output. Prompt engineering to find the right prompt often works well. However, it can be time-consuming, error-prone, and its effectiveness can be restricted by the context window length that is allowed by the underlying model.
Prompt-tuning a model in the Tuning Studio applies machine learning to the task of prompt engineering. Instead of adding words to the input itself, prompt-tuning is a method for finding a sequence of values that, when added as a prefix to the input text, improve the model's ability to generate the output you want. This sequence of values is called a prompt vector.
Normally, words in the prompt are vectorized by the model. Vectorization is the process of converting text to tokens, and then to numbers defined by the model's tokenizer to identify the tokens. Lastly, the token IDs are encoded, meaning they are converted into a vector representation, which is the input format that is expected by the embedding layer of the model. Prompt-tuning bypasses the model's text-vectorization process and instead crafts a prompt vector directly. This changeable prompt vector is concatenated to the vectorized input text and the two are passed as one input to the embedding layer of the model. Values from this crafted prompt vector affect the word embedding weights that are set by the model and influence the words that the model chooses to add to the output.
To find the best values for the prompt vector, you run a tuning experiment. You demonstrate the type of output that you want for a corresponding input by providing the model with input and output example pairs in training data. With each training run of the experiment, the generated output is compared to the training data output. Based on what it learns from differences between the two, the experiment adjusts the values in the prompt vector. After many runs through the training data, the model finds the prompt vector that works best.
[End]
How does prompt tuning work?
<|assistant|>

Il foundation model granite-7b-lab genera un riepilogo accurato del funzionamento del prompt tuning, basato sulle informazioni del contenuto del documento fornito con l'input.

Il risultato è simile a questo:

La sintonizzazione dei prompt è un metodo per migliorare la capacità di un modello di generare output specifici regolando una sequenza di valori chiamata vettore di prompt. Invece di aggiungere direttamente parole all'input, la sintonizzazione dei prompt crea un vettore di prompt che influenza direttamente i pesi di incorporazione delle parole impostati dal modello. Ciò si ottiene vettorializzando il testo in ingresso e codificando gli ID dei token in una rappresentazione vettoriale, che viene poi concatenata con il vettore del prompt creato e passata come input al livello di incorporazione del modello. L'esperimento regola i valori del vettore prompt in base alle differenze tra l'output generato e l'output desiderato negli esempi di dati di addestramento. Nel corso di molte esecuzioni dei dati di addestramento, il modello trova il vettore di prompt che funziona meglio.

 

Ulteriori informazioni

Per saperne di più sul foundation model granite-7b-lab, leggete le seguenti risorse:

Argomento padre: IBM modelli di fondazione

Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni