Gemma 指令調校 (IT) 模型會使用特定格式化工具進行訓練,該工具會在訓練和推論期間為所有指令調校範例加上額外資訊註解。格式化工具有兩個用途:
- 在對話中指出角色,例如「系統」、「使用者」或「助理」角色。
- 劃分對話中的回合,尤其是在多輪對話中。
以下是 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 的訓練指令模型只支援兩種角色:user
和 model
。因此,系統不支援 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>