Gemma 格式和系統操作說明

Gemma 指令調校 (IT) 模型會使用特定格式化工具進行訓練,該工具會在訓練和推論期間為所有指令調校範例加上額外資訊註解。格式化工具有兩個用途:

  1. 在對話中指出角色,例如「系統」、「使用者」或「助理」角色。
  2. 劃分對話中的回合,尤其是在多輪對話中。

以下是 Gemma 使用的控制權杖和用途。請注意,控制符記是保留在我們的分析器中,且僅適用於該分析器。

  • 用來表示使用者回合符記:user
  • 用於表示模型轉向的符記:model
  • 用來表示對話輪次開始的符記:<start_of_turn>
  • 用於表示對話回合結束的符記:<end_of_turn>

以下是對話示例:

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

符號 "<end_of_turn>\n" 是轉彎分隔符,提示前置字串為 "<start_of_turn>model\n"。也就是說,如果您想透過「什麼是 Cramer 規則?」這類問題提示模型,則應改為以以下方式提供模型:

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

請注意,如果您想使用自己的資料微調預先訓練的 Gemma 模型,可以使用任何這類控制元件的結構定義,只要在訓練和推論用途之間保持一致即可。

系統指示

Gemma 的訓練指令模型只支援兩種角色:usermodel。因此,系統不支援 system 角色或系統輪替。

請直接在初始使用者提示中提供系統層級操作說明,而非使用獨立的系統角色。模型指令追隨功能可讓 Gemma 有效解讀指令。例如:

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