从“我不知道”到精准回答:LLM拒识能力训练与推理干预实战指南
当ChatGPT信誓旦旦地告诉你“拿破仑在2023年访问过中国”时,我们意识到大语言模型(LLM)的幻觉(Hallucination)问题已从学术讨论演变为工程实践中的硬伤。本文将从算法工程师的第一视角,拆解如何通过 训练数据重构 和 推理时干预 两大技术路线,打造一个“知之为知之,不知为不知”的可靠AI助手。
1. 训练阶段的拒识能力培养
1.1 构建“诚实导向”的SFT数据集
传统指令微调数据往往追求“有问必答”,这直接导致模型养成“不懂装懂”的恶习。我们在医疗问答系统的开发中,采用以下数据配方:
# 诚实样本构造示例(JSON格式)
{
"instruction": "阿司匹林能否治疗新冠病毒?",
"input": "",
"output": "根据当前医学共识,阿司匹林不能直接治疗新冠病毒感染。它可能用于缓解症状,但需遵医嘱。", # 已知答案
"confidence": 0.9
}
{
"instruction": "2024年诺贝尔医学奖得主是谁?",
"input": "",
"output": "截至我的知识截止日期(2023年10月),2024年诺贝尔奖尚未公布。", # 时效性拒识
"confidence": 0.7
}
{
"instruction": "请描述量子引力理论的最新实验验证",
"input": "",
"output": "这个问题超出了我的专业知识范围。", # 能力边界拒识
"confidence": 0.3
}
关键设计原则 :
- 分层拒识 :区分“知识边界外”(如专业量子物理问题)和“时效性未覆盖”(如未来事件)两种场景


398

被折叠的 条评论
为什么被折叠?



