LLM 护栏可以在训练后添加,并不严格要求在模型初始训练阶段进行集成。护栏是一种机制,用于约束 LLM 的输出,使其符合安全、道德或可用性准则。虽然在训练期间构建护栏可以将某些行为深深地嵌入到模型中,但也有许多有效的方法可以在训练后应用这些约束。这种灵活性使开发人员能够根据新需求调整模型,而无需从头开始重新训练,这在使用 GPT-4 或 Llama 2 等预训练模型时尤其有用。
训练后护栏通常依赖于对输入和输出进行过滤、重排序或修改。例如,一种常见的方法是使用单独的分类器或基于规则的系统来检测并阻止有害或跑题的响应。OpenAI Moderation API 或自定义正则表达式过滤器等工具可以在输出到达用户之前对其进行违禁内容筛查。另一种方法是提示工程(prompt engineering),通过输入中的指令(例如,“请礼貌回复,避免技术术语”)来引导模型的行为。此外,开发人员可以在训练后使用基于人类反馈的强化学习(RLHF),根据人类对安全性或质量的评估来微调模型。这些方法非常实用,因为它们不需要访问模型的内部权重或训练数据,因此使用第三方 API 的开发人员也可以轻松应用。
然而,在训练期间添加的护栏可以更鲁棒且更具上下文感知能力。例如,使用排除有毒语言或偏见的精选数据集训练模型,可以在源头减少有害输出。对抗训练(adversarial training)——即模型在训练期间学习抵抗恶意输入——或嵌入安全专用的损失函数等技术可以更深入地与准则对齐。例如,Anthropic 的 Constitutional AI 训练模型根据一套规则来批判和修改自身的输出。尽管这些方法很强大,但它们需要大量的计算资源和对训练过程的控制,这并不总是可行的。实际上,大多数团队会结合使用这两种方法:利用训练后护栏实现灵活性和成本效益,同时在可能的情况下利用训练期间的调整来建立更强的基础行为。选择哪种方法取决于用例、资源以及对模型的控制程度。