Formattazione di Gemma e istruzioni di sistema

I modelli di Gemma ottimizzati per le istruzioni (IT) vengono addestrati con un formattatore specifico che annota tutti gli esempi di ottimizzazione delle istruzioni con informazioni aggiuntive, sia durante l'addestramento sia durante l'inferenza. Il formattatore ha due scopi:

  1. Indicare i ruoli in una conversazione, ad esempio sistema, utente o assistente.
  2. Delineare i turni in una conversazione, in particolare in una conversazione con più turni.

Di seguito sono specificati i token di controllo utilizzati da Gemma e i relativi casi d'uso. Tieni conto che i token di controllo sono riservati e specifici per il nostro tokenizzatore.

  • Token per indicare una svolta dell'utente: user
  • Token per indicare un turno del modello: model
  • Token per indicare l'inizio del turno di dialogo: <start_of_turn>
  • Token per indicare la fine del turno di dialogo: <end_of_turn>

Ecco un esempio di dialogo:

<start_of_turn>user
knock knock<end_of_turn>
<start_of_turn>model
who is there<end_of_turn>
<start_of_turn>user
Gemma<end_of_turn>
<start_of_turn>model
Gemma who?<end_of_turn>

Il token "<end_of_turn>\n" è il separatore di svolta e il prefisso del prompt è "<start_of_turn>model\n". Ciò significa che se vuoi chiedere al modello una domanda come "Che cos'è il teorema di Cramer?", devi invece fornire al modello quanto segue:

"<start_of_turn>user
What is Cramer's Rule?<end_of_turn>
<start_of_turn>model"

Tieni presente che se vuoi ottimizzare i modelli Gemma preaddestrati con i tuoi dati, puoi utilizzare uno di questi schemi per i token di controllo, a condizione che sia coerente tra i casi d'uso di addestramento e di inferenza.

Istruzioni di sistema

I modelli basati su istruzioni di Gemma sono progettati per funzionare con solo due ruoli: user e model. Pertanto, il ruolo system o un turno di sistema non è supportato.

Anziché utilizzare un ruolo di sistema separato, fornisci istruzioni a livello di sistema direttamente nella richiesta iniziale dell'utente. Le funzionalità di seguito per l'istruzione del modello consentono a Gemma di interpretare le istruzioni in modo efficace. Ad esempio:

<start_of_turn>user
Only reply like a pirate.

What is the answer to life the universe and everything?<end_of_turn>
<start_of_turn>model
Arrr, 'tis 42,<end_of_turn>