Hallucination (in LLMs)
探索 LLM 中 AI 幻觉的成因与风险。了解如何结合 RAG、RLHF 和 grounding,使用 Ultralytics YOLO26 减少事实错误。
在**人工智能 (AI)**领域,幻觉是指这样一种现象:大型语言模型 (LLM)生成的内容虽然语气自信、语法正确,但在事实层面不准确、毫无意义,或与源输入不符。不同于可能导致崩溃或出现明显故障的常规软件错误,产生幻觉的模型就像一个令人信服的编造者,以与真实事实相同的权威口吻呈现虚假信息。这给在医疗、法律和金融等敏感领域部署生成式 AI的组织带来了重大挑战,因为数据完整性至关重要。
为什么会出现幻觉?#
要理解模型为什么会产生幻觉,不妨先了解它们的构建方式。LLM 通常基于Transformer架构,该架构充当复杂的预测引擎。模型并不是查询一个存储经验证事实的结构化数据库,而是根据从其训练数据中得出的统计概率,预测序列中的下一个token。
有多个因素会促成这种行为:
- **概率性猜测:**模型优先考虑语言流畅性和连贯性,而非事实真实性。如果某个特定的词语序列在统计上很可能出现——即使它在事实上是错误的——模型也可能生成它。研究中经常讨论这一概念及其与随机鹦鹉的关系:模型模仿语言模式,却并不理解其含义。
- **数据质量问题:**如果用于训练的海量文本语料包含矛盾、过时信息或虚构内容,模型可能会复现这些不准确之处。
- **来源遗忘:**LLM 会将海量信息压缩到模型权重中。在这一过程中,它们往往会丢失与具体来源的关联,从而导致“虚构”(confabulation),将不同的概念或事件错误地合并在一起。
现实世界中的幻觉示例#
幻觉可能以多种形式出现,从无害的创意性润色到严重的事实错误:
- **法律编造:**已有记录显示,一些法律专业人士使用 AI 起草诉状,却发现模型为了支持论点而编造了不存在的法庭案件和引文。
- **代码生成:**使用 AI 助手的开发者可能会遇到“软件包幻觉”:模型建议导入一个实际不存在的软件库,或调用一个并不存在的函数,仅仅因为其名称符合标准命名约定。
- **传记错误:**当被问及不太知名的人物时,模型可能会自信地将错误的成就、出生地或职业经历归于这些人物,实际上是将多个人的细节混杂在了一起。
缓解策略#
降低幻觉发生频率是AI 安全领域的重点方向。工程师和研究人员采用多种技术,让模型以现实为依据:
- **检索增强生成 (RAG):**这种方法将 LLM 连接到外部可信知识库,该知识库通常编入向量数据库索引。模型在生成答案前检索相关文档,从而受到实际数据的约束。
- **思维链提示:**这种提示工程技术鼓励模型通过将复杂推理拆分为中间步骤来“展示其推理过程”,通常可以减少逻辑错误。
- **基于人类反馈的强化学习 (RLHF):**在微调阶段,人类评估者会对模型的回答进行排序。通过惩罚幻觉并奖励真实性,模型能够学习更好地符合人类预期。
使用计算机视觉为 LLM 提供依据#
在多模态 AI系统中,可以使用视觉数据为文本生成提供依据。如果要求 LLM 描述一个场景,它可能会产生并不存在的物体。通过集成像YOLO26这样高精度的目标检测器,开发者可以向 LLM 提供当前存在物体的事实列表,严格将其输出限制在经过验证的检测结果之内。
下面的 Python 示例展示了如何使用 ultralytics 软件包提取经过验证的物体列表,然后将其作为语言模型提示的事实约束。
from ultralytics import YOLO
# Load the YOLO26n model (latest generation, efficient and accurate)
model = YOLO("yolo26n.pt")
# Run inference on an image to get ground-truth detections
results = model("https://ultralytics.com/images/bus.jpg")
# Extract the class names of actually detected objects
detected_objects = [model.names[int(c)] for c in results[0].boxes.cls]
# This factual list prevents the LLM from hallucinating items
print(f"Verified Objects for Prompt Context: {detected_objects}")
# Output example: ['bus', 'person', 'person', 'person', 'person']区分相关概念#
务必将幻觉与其他常见的 AI 错误区分开来:
- **与 AI 中的偏见的区别:**偏见是指输出中的系统性偏见(例如偏袒某一人口群体而非另一群体),而幻觉则是事实准确性方面的失误。一个回答可能没有偏见,却仍然是幻觉(例如“月亮是奶酪做的”)。
- **与过拟合的区别:**过拟合发生在模型过度贴合训练数据、无法泛化到新输入时。幻觉则常发生在模型试图向其缺乏数据的领域进行过度泛化时。
- **与误分类的区别:**在目标检测中,将汽车标记为卡车属于分类错误(准确性问题),而不是幻觉。幻觉特指生成式地创建虚假内容。
对于希望管理数据集并以高数据完整性训练模型、从而防止下游错误的用户,Ultralytics Platform提供了全面的标注和数据集管理工具。此外,NIST 人工智能风险管理框架提供了在生产环境中评估和缓解这些风险的标准。









