AI知识分享AI知识分享
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
✿导航
  • 人工智能
  • 神经网络
  • 机器学习
  • 深度学习
  • 强化学习
  • 自然语言处理
  • 计算机视觉
  • 大模型基础
  • 动手学深度学习
  • 理论理解
  • 工程实践
  • 应用开发
  • AI For Everyone
  • AIGC_2024大会
  • AIGC_2025大会
  • Transformer
  • Pytorch
  • HuggingFace
  • 蒸馏
  • RAG
  • 目标检测
  • MCP
  • 概念
  • 意图识别
  • 工具
  • 大模型基础

    • 语言模型基础

      • 概述
      • 基于统计方法的语言模型
      • 基于神经网络的语言模型
      • 语言模型的采样方法
      • 语言模型的评测
    • 大语言模型架构

      • 概述
      • 主流模型架构
      • Encoder-only
      • Encoder-Decoder
      • Decoder-only
      • 非Transformer 架构
    • Prompt工程

      • 工程简介
      • 上下文学习
      • 思维链
      • 技巧
    • 参数高效微调

      • 概述
      • 参数附加方法
      • 参数选择方法
      • 低秩适配方法
      • 实践与应用
    • 模型编辑

      • 简介
      • 方法
      • 附加参数法
      • 定位编辑法
    • RAG

      • 基础
      • 架构
      • 知识检索
      • 生成增强
  • 动手学深度学习

    • 深度学习基础

      • 引言
      • 数据操作
      • 数据预处理
      • 数学知识(线代、矩阵计算、求导)
      • 线性回归
      • 基础优化方法
      • Softmax回归
      • 感知机
      • 模型选择
      • 过拟合和欠拟合
      • 环境和分布偏移
      • 权重衰减
      • Dropout
      • 数值稳定性
    • 卷积神经网络

      • 模型基本操作
      • 从全连接层到卷积
      • 填充和步长
      • 多个输入和输出通道
      • 池化层
      • LeNet
      • AlexNet
      • VGG
      • NiN网络
      • GoogleNet
      • 批量归一化
      • ResNet
    • 计算机视觉

      • 图像增广
      • 微调
      • 目标检测
      • 锚框
      • 区域卷积神经网络
      • 单发多框检测
      • 一次看完
      • 语义分割
      • 转置卷积
      • 全连接卷积神经网络
      • 样式迁移
    • 循环神经网络

      • 序列模型
      • 语言模型
      • 循环神经网络
      • 序列到序列学习
      • 搜索策略
    • 注意力机制

      • 优化算法

Prompt工程 - 工程简介

    概述

    传统的自然语言处理研究遵循“预训练-微调-预测”范式,即先在大规模语料库上作预训练,然后在下游任务上微调,最后在微调后的模型上进行预测。随着语言模型在规模和能力上的显著提升,一种新的范式——**“预训练-提示预测”**应运而生,即在预训练模型的基础上,通过精心设计Prompt 引导大模型直接适应下游任务,而无需进行繁琐微调,如图所示。

    定义

    Prompt 是指用于指导生成式人工智能模型执行特定任务的输入指令,这些指令通常以自然语言文本的形式出现。Prompt 工程(Prompt Engineering),又称提示工程,是指设计和优化用于与生成式人工智能模型交互的Prompt 的过程。

    通过Prompt 工程的优化,原始Prompt 被改写为更加全面、规范的形式。优化后的Prompt 能够显著提升模型生成回答的质量。

    经过良好设计的Prompt 通常由任务说明、上下文、问题、输出格式四个基本元素组成:

    • 任务说明
      • 向模型明确提出具体的任务要求。任务说明应当清晰、直接,并尽可能详细地描述期望模型完成的任务。
    • 上下文
      • 向模型提供的任务相关背景信息,用以增强其对任务的理解以及提供解决任务的思路。上下文可以包括特定的知识前提、目标受众的背景、相关任务的示例,或任何有助于模型更好地理解任务的信息。
    • 问题
      • 向模型描述用户的具体问题或需要处理的信息。
    • 输出格式
      • 期望模型给出的回答的展示形式。这包括输出的格式,以及任何特定的细节要求,如简洁性或详细程度。

    Prompt 的四个基本元素——任务说明、上下文、问题和输出格式,对于大语言模型生成的效果具有显著影响。

    Prompt 分词向量化

    在Prompt 进入大模型之前,需要将它拆分成一个Token 的序列,其中Token 是承载语义的最小单元,标识具体某个词,并且每个Token 由Token ID 唯一标识。将文本转化为Token 的过程称之为分词(Tokenization)。

    本文将以BBPE(Byte-Level Byte Pair Encoding)算法为例,阐述其分词过程。BBPE算法的流程主要包括以下四个步骤:

    1. 初始化词表:将所有字符按照其底层编码拆分为若干字节,并将这些单字节编码作为初始词表的Token。
    2. 统计词频:统计词表中所有Token 对(即相邻Token 的组合)的出现频率。在初始阶段,Token 对即为相邻字节的组合。
    3. 合并高频Token对:选择出现频率最高的Token 对,将其合并成一个新的Token 并加入词表。
    4. 迭代合并:重复步骤2 和步骤3,不断迭代合并,直至达到预设的词表大小或达到指定的合并次数。

    编码阶段(分词):

    1. 将输入文本按字符切分。
    2. 贪心地从词汇表中匹配最长可能的子词。
    3. 无法匹配的字符逐字节处理(BPE通常基于字节,因此能处理任何Unicode字符)。

    备注:长尾词汇:“长尾”(Long Tail)是一个统计学和经济学中的概念,用来描述在某些分布中,大量不常见(低频)的个体虽然单个影响力小,但总体数量庞大,累积起来的影响力或价值可能超过少数高频个体。

    在完成分词之后,这些Token 随后会经过模型的嵌入矩阵(Embedding Matrix)处理,转化为固定大小的表征向量。这些向量序列被直接输入到模型中,供模型理解和处理。

    Prompt 工程的意义

    Prompt 工程提供了一种高效且灵活的途径来执行自然语言处理任务。它允许我们无需对模型进行微调,便能有效地完成既定任务,避免微调带来的巨大开销。通过精心设计的Prompt,能够激发大型语言模型的内在潜力,使其在垂域任务、数据增强、智能代理等多个领域发挥出卓越的性能。

    • 垂域任务
      • 应用Prompt 工程来引导大语言模型完成垂直领域任务,可以避免针对每个任务进行特定微调。
    • 数据增强
      • 应用Prompt 工程通过大语言模型来进行数据增强,不仅能够提升现有数据集的质量,还能够生成新的高质量数据。
    • 智能代理
      • 应用Prompt 工程可以将大语言模型构建为智能代理(Intelligent Agent,IA),能够感知环境、自主采取行动以实现目标,并通过学习或获取知识来提高其性能。
    最近更新: 2026/3/25 06:52
    Contributors: klc407073648
    Next
    上下文学习