一文了解大模型
一.相关概念
1. 人工智能
人工智能是最大的一个概念,它是所有这些技术的终极目标和总称。它的目标是让机器像人类一样思考、学习、推理、感知和行动。
2. 机器学习
机器学习是实现人工智能的一种核心“方法”。它不再需要程序员为每一个具体任务编写硬编码的规则。相反,机器学习让机器通过分析大量数据来自己学习规律和模式,从而完成任务。它是人工智能的子集,解决了让机器“学习”的问题。
3. 深度学习
深度学习是机器学习的一个“分支”。它使用一种特殊的算法——深度神经网络。这些网络由许多层的神经元组成,能够自动从原始数据中提取出复杂的特征,这比传统的机器学习算法更强大。
4. 预训练模型
预训练模型是深度学习的一种“训练范式”或“策略”。传统的深度学习模型需要为每个任务从头开始训练,这耗时耗力且需要大量标注数据。预训练模型改变了这种模式:它先用一个通用的、海量的无标注数据集(如整个互联网的文本和图像)进行训练,让模型学习到通用的知识和表示。这个“预训练”阶段结束后,模型就可以作为一个基础,用于各种不同的下游任务,只需用少量的标注数据进行微调即可。
5. 大规模预训练模型
大规模预训练模型是预训练模型在“规模”上的一个“特殊阶段”或“进化形态”。当预训练模型的参数量、训练数据量以及计算资源都达到前所未有的规模(例如数百亿、上千亿参数)时,这些模型便不再只是简单的“知识迁移工具”。它们会涌现出新的、意想不到的能力,例如强大的零样本或少样本学习能力、复杂的推理能力和多模态理解能力。
我们今天所说的==大模型==,通常就是特指这一类模型。
==大模型==是基于强算法、大算力并通过大规模、多样化数据进行训练以适应广泛下游任务的模型,也可译为==基础模型== 。
6.生成式AI
生成式AI是一种可以生成文本、图像、代码、视频、音频等各种新内容的AI模型的统称。它与传统AI的区别在于,传统AI主要是分析和识别现有数据(例如,识别图片中的人脸),而生成式AI则是创造全新的、以前不存在的内容。
7.AIGC
AIGC是AI生成的内容的简称,它更侧重于结果和应用层面。AIGC泛指由人工智能技术生成的所有内容,包括但不限于文本、图片、音频、视频、代码、游戏等。
8.Agent
智能体是一个能够自主感知环境、做出决策并执行动作以实现特定目标的系统。它的核心是“行动”。
- 例子:你告诉一个智能体:“帮我总结今天所有未读邮件的主要内容,并用中文写一份报告存到我的Google Drive里。”
- 感知:智能体会调用Gmail API来读取你的邮件。
- 决策与执行:
- 判断哪些是“未读邮件”。
- 调用生成式AI(如GPT)来总结每封邮件的核心内容。
- 将所有的总结汇总,再次调用生成式AI将其整理成一份连贯的中文报告。
- 调用Google Drive API,将最终生成的文件保存到指定位置。
- 特点:智能体主动管理了整个工作流,它可能调用了多次生成式AI和各种工具API,最终完成了你设定的目标,而不仅仅是生成了内容。
二.大模型概述
1.大模型的分类
按模型数据的媒体类型,大模型可以分为语言类大模型、音频处理大模型、计算机视觉 (包含图像和视频),以及多模态大模型。
(1)语言类大模型 (LLM)
- 定义: 参数量级在十亿及以上的大型预训练语言模型。
- 功能: 在大量文本数据上进行训练,能执行广泛的语言任务,如文本总结、翻译、情感分析等。
- 示例: ChatGPT(3.5及以前版本)、文心一言、通义千问等。
(2)音频处理大模型
- 定义: 利用深度学习技术处理海量音频数据,实现音频的识别、分类、生成等任务。
- 功能: 处理的音频类型不限于语音,还包括音乐、自然声音等。
- 示例: MusicGen、Whisper、音乐云等。
(3)计算机视觉 (CV) 大模型
- 定义: 专用于计算机视觉任务的大型深度学习模型,通常采用卷积神经网络(CNN)等算法。
- 功能: 在图像和视频领域取得了重要成果,可用于图像分类、目标检测、图像分割等。
- 示例: 百度文心VIMER-UFO 2.0、华为盘古CV大模型、商汤INTERN大模型等。
(4)多模态大模型
- 定义: 将文本、图像、视频、音频等多种模态信息联合起来进行训练的模型。
- 优势: 相较于单模态模型,多模态大模型更符合人类认知习惯,接口更友好,任务支持更广泛,被认为是通往通用人工智能(AGI)的重要方向。
- 示例: GPT-4、紫东太初等。
2.大模型的核心训练阶段
(1)预训练阶段
在海量、未标注的原始数据上进行初步训练,目的是让模型学习到通用的世界知识、特征和规律。这一阶段是模型构建知识库的基础。
- 预训练阶段是大模型“打基础”的关键环节。在这个阶段,模型被投放到一个巨大的“知识海洋”中——也就是海量的无标注原始数据。这些数据可能来自网页、书籍、百科全书、论坛等,涵盖了各种主题和格式。
- 这个过程就像一个孩子通过阅读成千上万本书来学习世界的常识。模型通过分析这些数据,学习语言的语法、句法、语义,以及不同概念之间的关联,从而构建一个庞大的“世界知识图谱”。例如,它能学会“太阳”通常与“光明”、“热”和“白天”等词汇关联,而“月亮”则与“夜晚”、“阴影”和“星空”相关。
(2)指令微调阶段
预训练后,模型在更具体、更小且有标注的数据集上进行进一步训练。这使得模型能更好地理解用户指令,适应特定任务的需求,从而提高其在特定领域的表现。
- 预训练让模型拥有了“通识”,但它还不知道如何有效利用这些知识来回答具体问题。指令微调阶段就是教会模型“听懂人话”和“完成任务”。
- 在这个阶段,模型会接触到经过精心标注的指令-响应数据集。这些数据告诉模型,当用户提出某个特定问题(指令)时,模型应该如何给出恰当的回答(响应)。例如,数据集会包含“请帮我写一封感谢信”和“请为我总结这篇文章”等指令,并配上正确的示范回答。
- 通过学习这些有监督数据,模型能够将预训练阶段学到的通用知识,与具体的任务需求联系起来。这就像一个通识教育毕业的学生,开始接受专业的职业技能培训。指令微调使得模型不再只是一个庞大的知识库,而是一个能够理解并执行用户命令的智能助手。
(3)从人类反馈中强化学习 (RLHF)
这一阶段是为了让模型更好地与人类的价值观对齐。通过与人类的互动和接收反馈,模型不断优化自身的行为和输出策略,持续改善生成内容的质量和准确性。
- RLHF 是大模型训练流程中的“精修”和“校准”阶段,旨在确保模型的行为与人类的价值观和偏好对齐。这个过程就像是请一位老师来纠正学生的行为,让他们不仅知识渊博,而且言行得体。
- 具体来说,RLHF 包含三个主要步骤:
- 收集人类偏好数据: 给模型一个提示(prompt),让它生成几个不同的回答。然后,请人类评估者对这些回答进行排序,评判哪个回答更好、更安全、更符合预期。
- 训练奖励模型: 基于人类的评分数据,训练一个奖励模型(Reward Model)。这个模型能够预测人类对任何一个回答的偏好程度,从而模仿人类的“价值观”。
- 强化学习微调: 最后,利用这个奖励模型作为“虚拟老师”,通过强化学习算法来微调大模型。模型的目标是生成能获得最高“奖励分数”的回答。这使得模型在没有人类直接干预的情况下,也能自主地朝着更安全、更有帮助、更符合人类价值观的方向优化其输出。
3.大模型发展的四大核心要素
大模型的成功发展离不开数据、算力、算法和应用这四大要素的协同作用。
- 数据: 这是大模型训练的基础资源。模型建立和内容落地都依赖于大规模、高质量的数据。原始数据必须经过专业的采集和加工,才能成为可供训练的高质量数据集。
- 算力: 算力是支撑大模型训练和运行的基础设施。强大的算力,主要由GPU、FPGA和ASIC等高性能计算芯片提供,是模型迭代训练和推理的必要条件,也是实现“智慧涌现”能力的关键。
- 算法: 算法是大模型学习和表达的必要路径。它决定了模型的学习能力,能够帮助模型从海量数据中挖掘潜在规律和模式,提升模型的鲁棒性。
- 应用: 应用是推动大模型持续发展的核心和关键。成功的应用市场能够提供正向反馈,帮助大模型实现商业上的良性循环,弥补巨大的研发投入,同时用户反馈也为模型的迭代升级提供了宝贵的方向。
三.Tranformer
1.Transformer架构
假设有一个任务:
- 任务: 将中文“猫吃鱼”翻译成英文“The cat eats fish”。
第零步:预处理 - 创建 Token (令牌)
计算机只认识数字,所以首先要创建词汇表并把词变成数字。
- Tokenization (分词/令牌化): 将句子拆成模型能处理的最小单位。比如:
- “猫吃鱼” -> 被拆成三个 token:
['猫', '吃', '鱼'] - “The cat eats fish” -> 被拆成四个 token:
['The', 'cat', 'eats', 'fish']
- “猫吃鱼” -> 被拆成三个 token:
- 映射到 ID: 每个 token 在模型的“字典”(词汇表)里都有一个唯一的数字 ID。
‘猫’ -> ID: 101‘吃’ -> ID: 102‘鱼’ -> ID: 103‘The’ -> ID: 201‘cat’ -> ID: 202- …等
现在,文字变成了数字:[101, 102, 103]。
第一步:输入编码 + 位置编码
光有 ID 不够,模型还需要知道词的含义和它的位置。
- 词嵌入 (Embedding): 一个数学查找表,将每个 ID (如
101) 转换成一个稠密向量(一串有意义的数字,比如[0.2, -0.5, 1.2, ...])。这个向量表示了“猫”的语义信息。吃和鱼也会被转换成它们自己的向量。
Token ID 只是一个无意义的无序编号,无法进行数学计算和表达词语关系;而词嵌入将其转换为一个富含语义的高维数值向量,使得模型能够通过数学计算来理解和学习词语之间的相似性与关联性。‘猫’ -> [0.2, -0.5, 1.2, ...]‘吃’ -> [0.8, 0.1, -0.9, ...]‘鱼’ -> [-0.3, 1.5, 0.4, ...]
- 位置编码 (Positional Encoding): Transformer 并行处理所有 token,它天生不知道顺序。我们必须人工告诉它每个词的位置。
- 我们生成一组代表位置的向量(
pos_1,pos_2,pos_3),每个向量都是独一无二的。 - 将词向量和位置向量相加:
‘猫’的最终向量 = [0.2, -0.5, 1.2, ...] + pos_1‘吃’的最终向量 = [0.8, 0.1, -0.9, ...] + pos_2‘鱼’的最终向量 = [-0.3, 1.5, 0.4, ...] + pos_3
现在,每个 token 的向量都既包含了语义信息,也包含了位置信息。它们被准备好送入编码器。
- 我们生成一组代表位置的向量(
第二步:编码器 (Encoder) - 理解句子
编码器是一个“理解者”,它将输入序列转化为一个富含全局上下文信息的表示,供解码器使用。
编码器由多层组成,每层核心是多头自注意力机制 (Multi-Head Self-Attention)。
1. 自注意力机制 (Self-Attention) - 一个“头”的工作方式:
- 目的: 让每个 token 都能与其他所有 token“交流”,根据上下文动态更新自己的表示。
- 过程(对于“吃”这个 token):
- 制造三把钥匙: 为每个 token 生成三个新向量:
- Query (查询向量 Q): “吃”提出的问题:“我是动词,我需要找到谁在做我?谁是我的对象?”
- Key (键向量 K): 每个 token 的身份牌。“猫”的钥匙是“名词,主语”,“鱼”的钥匙是“名词,宾语”。
- Value (值向量 V): 每个 token 真正要提供的信息内容。
- 打分: “吃”用自己的 Q 去和所有 token(包括自己)的 K 做点乘,计算一个相关性分数。
Score(吃, 猫) =很高 (动词找主语)Score(吃, 鱼) =很高 (动词找宾语)Score(吃, 吃) =较低 (自己和自己关系不大)
- 加权求和: 将这些分数转换成权重(softmax),然后用权重对所有的 V 向量求和。
新的“吃”的向量 ≈ 0.4 * V猫 + 0.4 * V鱼 + 0.2 * V吃
- 结果: 新的“吃”的向量不再是孤立的“吃”,而是变成了 “被猫执行且对象是鱼的吃”。它融合了全局信息。
2. 多头自注意力 (Multi-Head):
- 制造三把钥匙: 为每个 token 生成三个新向量:
- 为什么需要多个头? 一个“头”可能只关注一种关系。多个头可以让模型同时关注多种不同的关系。
- 比喻: 就像你读一句话,可以同时分析它的语法结构(主谓宾)、语义关系(谁对谁做了什么)、时态(过去/现在)等。
- 实际操作: 模型会并行地运行多个(例如8个)独立的上述自注意力过程。每个“头”有不同的Q, K, V权重矩阵,因此会学习关注不同类型的模式。
- 头1 可能专门关注主谓关系(“吃”关注“猫”)。
- 头2 可能专门关注动宾关系(“吃”关注“鱼”)。
- 头3 可能发现“猫”和“鱼”都是动物。
- 所有头的输出最终会被拼接起来,再通过一个线性层整合,形成编码器这一层的最终输出。
经过编码器多层这样的处理,输入序列[“猫”, “吃”, “鱼”]被转化为了一个富含上下文信息的深度表示矩阵,我们称之为“上下文包”。这个包准备好了被解码器使用。
3.层归一化 (Layer Normalization)的作用:
- 问题: 神经网络在训练过程中,每层的输入分布会发生变化(内部协变量偏移),这会导致训练不稳定、变慢。
- 解决方案: 层归一化对单个样本的所有特征进行标准化(将其均值变为0,方差变为1),然后进行缩放和偏移。
- 例子中的体现:
- 在经过自注意力计算后,“吃”的新向量
[0.4 * V猫 + 0.4 * V鱼 + 0.2 * V吃]可能会变得非常大或非常小。 - 层归一化会立刻对这个新向量进行“平滑”处理,将其稳定在一个合理的数值范围内。这就像是一个“稳压器”,确保数据流在进入下一层时处于稳定状态,极大加速了训练过程并提升了模型性能。
- 在经过自注意力计算后,“吃”的新向量
4. 前馈神经网络 (Feed-Forward Network, FFN)的作用:
- 结构: 它是一个简单的两层神经网络:线性层 -> 激活函数 (如ReLU) -> 线性层。它的输入和输出维度相同。
- 目的: 为自注意力机制添加非线性变换和空间变换。自注意力机制主要负责“融合信息”,而FFN负责“处理信息”。它将注意力输出的向量映射到另一个空间,从中提取更复杂的特征。
- 例子中的体现:
- 对于“吃”这个token,自注意力机制已经把它变成了“被猫执行且对象是鱼的吃”。
- 这个向量随后会送入FFN。FFN可能会进一步强化“这是一个动词”、“这是一个现在时动作”等特征,或者抑制一些无关的噪音信息。它为每个位置(token)独立地进行计算。
第三步:解码器 (Decoder) - 生成句子
解码器也是多层的,它比编码器多一个关键环节。它自回归地(用已生成的输出作为输入来预测下一个)工作。
初始: 给解码器输入一个起始 token <start>(ID: 300),让它开始生成。
第一轮:生成 “The”
- 目标序列嵌入: 当前解码器的输入只有
[<start>]。我们先对它进行词嵌入和位置编码。 - 掩码自注意力: 解码器先做自注意力,但有一个关键限制:掩码 (Mask)。为了防止“作弊”,它只能看到当前位置及之前的位置。所以
<start>只能看到自己。 - 编码器-解码器注意力: 这是最关键的一步!
- 解码器将上一步的输出作为 Query (Q)。
- 它去编码器最终输出的那个“上下文包”(代表“猫吃鱼”)里,去拿它的 Key (K) 和 Value (V)。
- 这个过程相当于解码器在问:“基于你们理解的整个源句子的意思,在我已经有
<start>的情况下,下一个最应该生成什么词?” - “上下文包”根据其内部信息(主语是“猫”,需要冠词)计算出答案。
- 输出层: 经过一个线性层和 softmax,模型计算整个英文词汇表中每个词的概率。
P(“The”) = 0.85P(“A”) = 0.10P(“cat”) = 0.05…等等- 选择概率最高的“The”作为输出。现在序列是
[<start>, The]
第二轮:生成 “cat”
- 输入: 将
[<start>, The]输入解码器(并加上位置编码)。 - 掩码自注意力:
The可以关注<start>和它自己,但不能关注未来的词。 - 编码器-解码器注意力: 解码器再次用当前状态(
[<start>, The])作为 Q,去问“上下文包”:“现在序列是‘The’,后面跟什么最合适?”- “上下文包”回应:“我的主语是‘猫’,所以生成‘cat’。”
- 输出层: 计算概率,“cat”的概率最高。输出“cat”。序列变为
[<start>, The, cat]
后续轮次: 重复此过程,生成“eats”和“fish”。最后生成一个结束 token <end>,标志着生成完成。
第四步:输出处理
线性层 (Linear Layer) 和 Softmax 的作用(在输出层):
- 位置: 在解码堆栈的最终输出之后。
- 流程:
- 线性层 (投影层): 解码器最终输出的每个token的向量维度很大(如1024维),包含了丰富的语义信息。线性层的作用是将这个高维向量投影到一个新的向量,这个新向量的长度等于目标词汇表的大小(如30000维)。
- 例子: 在生成“The”之后,解码器输出一个代表当前状态的向量(1024维)。线性层将其转换为一个30000维的logits向量,这个向量的每个位置上的分数对应着词汇表中每个词的“原始得分”。
- Softmax: 这个30000维的“得分”向量可能数值差异巨大、难以解释。Softmax函数将所有得分转换为概率分布:每个值变为0到1之间的正数,且所有值之和为1。
- 例子: Softmax之后,
“The”对应的得分可能变成概率0.85,“A”变成0.10,“cat”变成0.05,其他所有词的概率趋近于0。这得到了一个清晰的、可解释的下一步输出概率。
- 例子: Softmax之后,
- 线性层 (投影层): 解码器最终输出的每个token的向量维度很大(如1024维),包含了丰富的语义信息。线性层的作用是将这个高维向量投影到一个新的向量,这个新向量的长度等于目标词汇表的大小(如30000维)。
2.Transformer变种
(1)仅编码器 (Encoder-Only) 模型
这类模型只使用 Transformer 的编码器部分。它们擅长深度理解语言,常用于需要“全面分析”的任务。
- 代表模型: BERT 及其系列(如 RoBERTa, ALBERT)
- 核心思想: 自编码 (Autoencoding)。在预训练时,随机掩盖输入中的一些词(例如,把“猫吃鱼”变成“猫
[MASK]鱼”),然后让模型根据上下文来预测被掩盖的词。这个过程迫使模型双向地、深度地理解每个词的上下文含义。 - 主要用途:
- 文本分类(如情感分析)
- 命名实体识别(找出人名、地名)
- 问答(从文中提取答案)
- 特点: 模型输出是对每个输入词的精炼理解,非常适合做文本的分析和标注,但不擅长直接生成新文本。
(2)仅解码器 (Decoder-Only) 模型
这类模型只使用 Transformer 的解码器部分(并去掉了编码器-解码器注意力层)。它们是目前最常见、规模最大的生成式模型。
- 代表模型: GPT 系列(GPT-2, GPT-3, GPT-4)
- 核心思想: 自回归 (Autoregressive)。模型从左到右逐个生成 token。在生成下一个词时,只能关注到它之前已经生成的词(通过掩码实现)。这模拟了人类自然说话或写作的方式。
- 主要用途:
- 文本生成(写文章、写故事)
- 对话系统(ChatGPT)
- 代码生成
- 任何可以通过“提示(Prompt)”来引导的任务
- 特点: 拥有强大的涌现能力,即在没有专门训练的情况下,也能完成许多新任务。它们是真正的“通用生成器”。
(3)编码器-解码器 (Encoder-Decoder) 模型
这类模型完整保留了原始 Transformer 的结构,是专门的“条件生成”模型。
- 代表模型: T5, BART
- 核心思想: 专门处理序列到序列 (Seq2Seq) 的任务。编码器全面理解输入序列,解码器根据编码器的信息生成输出序列。
- 主要用途:
- 机器翻译
- 文本摘要(长文->短文)
- 文本复述(改写句子)
- 问答(需要生成答案,而非提取)
- 特点: 在需要“理解A并生成B”的特定任务上表现非常出色。
四.大语言模型
1. 自然语言处理(NLP)
自然语言处理(NLP)是一个广阔的学科领域,它的目标是让计算机理解、解释和生成人类的自然语言。
传统任务举例:
- 理解类: 情感分析、命名实体识别(找出人名、地名)、语法分析。
- 生成类: 机器翻译、文本摘要、问答系统。
2. 语言模型
语言模型(Language Model)是 NLP 领域的一个核心概念。简单来说,它的任务是预测一个词序列出现的概率。
一个简单的例子:
- 面对句子开头:“猫吃__”
- 一个训练好的语言模型会计算:
P(鱼 | 猫吃) = 0.92(概率很高)P(书 | 猫吃) = 0.005(概率极低)P(飞机 | 猫吃) = 0.0001(概率几乎为零)
- 模型会根据概率选择“鱼”作为最可能的下一个词。
3. 大语言模型(LLM)
大语言模型是语言模型在规模上实现飞跃后的产物。它通过以下方式突破了传统语言模型的局限: - 海量数据: LLM 在互联网上几乎所有的公开文本数据上进行训练,包括书籍、维基百科、新闻和论坛等。这使得它拥有了空前庞大的知识库。
- 巨量参数: 它们的参数量达到了数百亿甚至万亿级别。庞大的参数量让模型能够存储和编码海量的语言模式和世界知识,从而理解更深层次的语义和语境。
- 先进架构: LLM 主要采用 Transformer 架构。这种架构的核心是自注意力机制,它能让模型在处理一个词时,同时考虑句子中的所有其他词,从而理解长距离的依赖关系。
大语言模型是基于Transformer架构,在海量文本数据上训练而成的、拥有巨量参数的、具有涌现能力的深度学习模型。
关键特性:
- 涌现能力:
- 这是LLM最神奇的特性。当模型规模(数据、参数、算力)超过某个临界点时,模型会突然获得在较小模型上不存在的新能力。
- 例如: 代码生成、复杂推理、跨语言迁移、遵循复杂指令等能力,并非被 explicitly 编程,而是自然“涌现”出来的。
- 通用任务解决器:
- 传统的NLP模型是“一个模型一个任务”(如情感分析模型只能做情感分析)。
- LLM是“一个模型应对万任务”。通过提示(Prompting),即用自然语言描述任务,LLM就能直接完成。
- 提示举例: “请将以下英文翻译成中文:
Hello, world!” - 提示举例: “请总结这篇文章的核心观点:
[文章内容]”
- 提示举例: “请将以下英文翻译成中文:
- 核心能力:
- 生成: 流畅、创造性地生成文本。
- 理解: 深度理解上下文和语义。
- 推理: 进行一定程度的逻辑和常识推理。
4.大语言模型幻觉
目前所有类别的大模型(语言、音频、视觉、多模态)都存在幻觉问题,这里以大语言模型幻觉为例。
大语言模型的“幻觉”指的是模型生成的内容与提供的信息源或现实世界事实不符。
例:
- 在摘要生成任务中,大模型生成的摘要可能无法对应源文本中的事实正确信息;
- 在对话生成任务中, 对话产生的输出与对话历史或外部事实相矛盾;
- 在机器翻译任务中, 则是指大模型产生完全脱离原始材料的错误翻译
大模型幻觉的成因:
1.数据层成因
训练数据的质量是模型产生幻觉的根源。
- 数据收集问题:为追求效率,常使用启发式方法自动收集网络数据,未全部经人工校验。这导致虚假、有害信息被模型吸收。
- 数据重复或缺失:
- 重复:导致模型偏向生成记忆中的重复短语,缺乏创造性且可能复制错误。
- 缺失:模型对缺失的知识只能进行偏离事实的预测,从而产生幻觉。
- 数据标注问题:标注过程从纯人工转向机器辅助,引入了刻板印象、编写错误、文化差异和不一致性,这些偏差被模型学习。
2.模型层成因
模型自身的结构设计和训练机制存在固有缺陷。
- 编码与解码缺陷:
- 编码器可能无法精确解析输入内容,导致错误的内部表征。
- 解码器可能关注了输入中的错误部分,从而混淆事实、生成错误输出。
- 预训练知识偏好:模型在生成时更倾向于依赖预训练阶段记忆在参数中的静态知识,而非当前提供的输入信息,导致答案过时或与上下文不符。
- 知识更新局限:模型存在“灾难性遗忘”问题。用新数据更新模型时,它会遗忘旧知识,导致知识混乱和不完整,从而产生幻觉。
3.应用层成因
在实际部署和应用中产生的新问题。
- 下游任务领域专业化:为特定领域(如医学、法律)优化模型时,可能使其失去通用性,在与训练数据分布不同的实际应用中产生偏差和幻觉。
- 模型同质化:几乎所有主流模型都基于Transformer架构。这使得该架构的任何固有缺陷(包括幻觉倾向)都会被所有模型继承和放大。
- 多模态化:处理文本、图像、音频等多种数据类型极大增加了复杂性。不同模态间的差异和对齐困难更容易导致严重的幻觉。
- 提示工程问题:
- 指令微调:用于训练的数据指令可能本身包含不存在的对象或关系(合成数据),或指令模板过于单一,引导模型生成幻觉内容。
- 思维链技术:模型生成的推理链可能本身逻辑错误,但最终得出了正确答案,难以评估其推理过程的有效性,隐藏了幻觉风险。
5.提示词工程
(1)提示词工程的重要性
提示词工程是设计和优化输入查询(即“提示词”)的过程,其重要性在于能够引导大型语言模型(LLMs)生成准确、有用且相关的输出 。
它为用户提供了一种“编程”形式,可以自定义LLM的输出和交互 。通过利用高质量的提示,信息寻求者和开发人员可以提高LLM的性能,探索新应用,并节省时间和资源 。此外,提示工程还支持开发更复杂的LLM应用程序,并有助于开发者更好地理解模型的能力和行为 。
(2)提示词基本概念
提示词由三项基本元素组成:输入指令、上下文和输出指示。这些元素需要根据所选模型和具体任务不断调整和修正,以确保模型能生成高质量的回答。
- 输入指令是用户向大型语言模型(LLM)提出的具体请求或问题。它可以是直接的,例如“明天的天气如何?”;也可以是间接的,例如“我准备去北京旅游,有什么建议吗?”。输入指令的设计对于 LLM 理解用户意图和生成相关回答至关重要。
- 上下文指与输入指令相关的信息,有助于 LLM 更准确地理解指令含义和用户需求。上下文可包括用户与 LLM 的历史对话记录、相关话题的背景信息、时间地点等环境因素,甚至用户的情感状态。在处理输入指令时,充分考虑上下文能够帮助 AI 生成更加准确和个性化的回答。
- 输出指示是 LLM 根据输入指令和上下文信息所生成的响应内容。该响应需满足用户的查询需求,并遵循系统的输出规范与限制。输出指示的表现形式可以是一段文本、一个明确答案、一组可选方案或任何其它形式的反馈,其根本目的在于以最适宜的方式回应用户的指令。
(4)初级提示词工程技术
- 明确性:是提升 LLM 效果的关键。一个清晰的提示可以减少模型的歧义理解,确保模型准确把握用户的意图。为此,指令应该直接、简洁,并且避免使用含糊或多义的词汇。
- 使用关键词:突出关键词可以帮助模型集中注意力。在提示中使用加粗、斜体或列表等形式强调关键词,可以提高模型识别和响应这些关键信息的能力。
- 示例学习:提供正确或错误的例子可以指导模型理解期望的输出格式。例如,如果用户想要模型生成一段代码,提供一段正确和错误代码的示例可以帮助模型理解用户意图。根据提供示例的多少,该技术又分为 zero-shot learning (ZSL) 和 few-shot learning (FSL)。
- 使用正确的语言风格:根据目标输出调整语言的正式程度和风格。例如,如果需要模型生成学术论文,使用正式和学术的语言风格会更合适。
- 反馈循环:利用用户提供的反馈来不断优化提示词。如果用户对模型的输出不满意,可以根据用户的反馈调整提示,以进一步提高性能。
- 角色扮演:指定一个角色或身份给模型,使其以特定视角回答问题。例如,如果用户想知道医生对某个医疗问题的看法,可以让模型扮演医生的角色。
(5)高级提示词工程技术
思维链( CoT):
让 AI 像人一样一步步思考,把大问题拆成小问题,逐步解决。这样做不仅更准,还能让我们看懂它是怎么想的。有两种常用方式:
- 零样本 CoT:不用举例,直接加一句“请一步步思考”,AI 就会开始推理。
- 少样本 CoT:给出几个例子,AI 就能学着你的样子进行推理。
自洽性(Self-Consistency, SC):
让 AI 对同一个问题生成多条推理路径,就像几个人一起讨论,最后“投票”选出最佳答案。这种方式特别适合复杂或答案不唯一的问题。
思维树(Tree of Thought, ToT):
让 AI 在推理时像走迷宫一样尝试多种路径,每走一步都自我评估,选择最有希望的方向。适合需要深度规划或搜索的任务。
思维图(Graph of Thought, GoT):
把 AI 的推理过程变成一张“思维网”,不同想法可以连接、合并、甚至循环优化。这让 AI 的思考更灵活、更全面。
自动思维链(Auto-CoT):
自动为问题生成推理示例,省去人工编写的麻烦,高效又方便。
生成知识提示(GKP):
先让 AI 自己生成一些相关知识,再利用这些知识回答问题。特别适合回答常识类问题,不用查外部资料。
自动提示工程(APE):
自动尝试多种提问方式,帮我们找出效果最好的那句“指令”,省时又省力。
自动多步推理与工具使用(ART):
让 AI 把复杂任务拆成多个步骤,必要时还能调用其他工具(比如计算器或搜索引擎),弥补自身不足。
检索增强生成(RAG):
先从外部知识库中查找相关资料,再结合这些资料生成回答,保证答案既准确又及时。
推理与行动(ReAct):
让 AI 一边推理、一边行动(比如上网查资料),根据结果动态调整计划,更灵活地完成复杂任务。
参考文献
[1]董雅雯,李恒,刘佳,等.大模型技术的发展与应用:现状、机遇与挑战[J].人工智能,2025,(01):110-118.DOI:10.16453/j.2096-5036.202503.[2]刘泽垣,王鹏江,宋晓斌,等.大语言模型的幻觉问题研究综述[J].软件学报,2025,36(03):1152-1185.DOI:10.13328/j.cnki.jos.007242.[3]王耀祖,李擎,戴张杰,等.大语言模型研究现状与趋势[J].工程科学学报,2024,46(08):1411-1425.DOI:10.13374/j.issn2095-9389.2023.10.09.003.[4]王东清,芦飞,张炳会,等.大语言模型中提示词工程综述[J].计算机系统应用,2025,34(01):1-10.DOI:10.15888/j.cnki.csa.009782.[5]罗锦钊,孙玉龙,钱增志,等.人工智能大模型综述及展望[J].无线电工程,2023,53(11):2461-2472.[6]蔡睿,葛军,孙哲,等.AI预训练大模型发展综述[J].小型微型计算机系统,2024,45(10):2327-2337.DOI:10.20009/j.cnki.21-1106/TP.2023-0571.[7]Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.[8]林粒粒呀. ChatGPT原理揭密!背后的黑科技Transformer模型[视频]. (2023-10-26). 取自 https://www.bilibili.com/video/BV1ZG411y7aZ



