写在前面
在进行 SFT,尤其是对话微调时,有两个核心概念是绕不开的:对话模板 (Chat Templates) 和 特殊标记 (Special Tokens)。它们是指导模型如何理解和生成结构化对话的关键“语法规则”。没有正确理解和使用它们,你的微调效果可能会大打折扣,甚至模型会“胡言乱语”。
本文将以 Llama 3 为例,深入探讨 Template 和 Special Token 的定义、它们在 SFT 训练过程中的具体应用,以及这样设计背后的目的。
1. 特殊标记 Special Tokens
想象一下,我们人类的语言充满了标点符号(逗号、句号、问号)、段落标记、甚至一些约定俗成的格式(如邮件的开头结尾)。这些元素帮助我们理解文本的结构和意图。对于 LLM 而言,特殊标记 (Special Tokens) 就扮演着类似的角色。
定义:
特殊标记是词汇表 (Vocabulary) 中一些不代表常规词语、但具有特定功能或元信息含义的 Token。它们是模型训练和推理过程中的控制信号或结构指示符。
目的与作用: