【LLM】Prompt微调

news/2024/7/20 16:19:51 标签: prompt, 大模型, LLM, GPT, 人工智能

Prompt

在机器学习中,Prompt通常指的是一种生成模型的输入方式。生成模型可以接收一个Prompt作为输入,并生成与该输入相对应的输出。Prompt可以是一段文本、一个问题或者一个片段,用于指导生成模型生成相应的响应、续写文本等。

Prompt优化

一般大模型蕴含的训练数据量往往是百亿级别甚至万亿级别。大模型通常无法在小数据上微调。因此,基于Prompt的微调技术便成为了首要选择。

Prompt优化方式

有两种方向上的优化方式:

  1. 从Prompt结构上

    • Few-Shot(FS):模型推理时给予少量样本,但不允许进行权重更新。
    • One-Shot(1S):模型推理时只给予一个样本。
    • Zero-Shot(0S):模型推理时不允许提供样本。
  2. 从Prompt内容上

    • Role Prompt:与大模型角色扮演游戏。让大模型想象自己是某方面的专家、因而获得更好的任务效果。
    • Instruction Prompt:指令形式的Prompt。
    • Chain-of-Thought(CoT)Prompt:常见于推理和计算任务中,通过让大模型给出推理或计算步骤来解决较难的推理问题,比如进行应用数学计算。
    • Multimodal Prompt:多模态Prompt。顾名思义,输入不再是单一模态的Prompt,而是包含了众多模态的信息。比如同时输入文本和图像与多模态大模型进行交互。

比较重要的是Few-Shot PromptChain-of-Thought Prompt。它们对后续人们构建AI Agent应用以及各项大模型产品落地起到了关键的作用。

Few-Shot Prompt

eg:尝试给宠物狗取个名字

  • Zero-Shot
    在这里插入图片描述
  • Few-Shot
    在这里插入图片描述
    可以看到示例中,Zero-Shot 的Prompt中,大模型给出的名字比较泛化,只是一种可能的比较合理的解释。Few-Shot 的Prompt中,大模型能够了解我们的取名倾向,并给出和示例风格一致的名字。

Chain-of-Thought Prompt

CoT Prompt则能够大幅提高大模型的多步推理能力:

  • 不推理
    在这里插入图片描述
  • Cot推理
    在这里插入图片描述
    可以看出,大模型在直接给出结果时,有时候答案明显是错误的,但我们只需要改动一下Prompt,使用Cot Prompt ,让他输出详细的计算过程或者思考过程,大模型就能够给出正确的结果。

CRISPE框架

有时合理组合使用这些Prompt优化方法,就可以让Prompt效果更好,整体框架结构:

  • CR:Capacity and Role(能力和角色),你希望AI扮演怎样的角色。
  • I:Insight(洞察),提供背景信息和上下文。
  • S:Statement(陈述),你希望AI做什么。
  • P:Personality(个性),你希望AI以什么风格或方式回答你。
  • E:Experiment(实验),要求AI为你提供多个答案。

假设我们的目标是获取一个浅显易懂的关于导数的解释方式,第一种方式是:
在这里插入图片描述
第二种方式我们来应用一下框架:
在这里插入图片描述

Prompt的持续优化

Prompt的优化并不是一蹴而就的,而是一个持续的过程,使用上述方式和框架也不能够保证每次都可以一次就拿到满意的结果,尤其是当我们需要大模型完成一些比较复杂的工作时。但是遵循这些方法,我们可以有更高的可能性能够通过较少的调整次数得到一个满意的结果,并且能够在这个结果上进行微调,比如润色,适当地增加图表等。

Prompt 除了人工调节,也可以让机器自动调节,也就是由机器自动生成 Prompt,这就是 Prompt Tuning。

文章参考:https://www.zhihu.com/collection/920873327


http://www.niftyadmin.cn/n/5335157.html

相关文章

golang 中使用 statik 将静态资源编译进二进制文件中

现在的很多程序都会提供一个 Dashboard 类似的页面用于查看程序状态并进行一些管理的功能,通常都不会很复杂,但是其中用到的图片和网页的一些静态资源,如果需要用户额外存放在一个目录,也不是很方便,如果能打包进程序发…

详细介绍IP 地址、网络号和主机号、ABC三类、ip地址可分配问题、子网掩码、子网划分

1、 IP 地址: 网络之间互连的协议,是由4个字节(32位二进制)组成的逻辑上的地址。 将32位二进制进行分组,分成4组,每组8位(1个字节)。【ip地址通常使用十进制表示】ip地址分成四组之后,在逻辑上,分成网络号和主机号 2…

第十五届蓝桥杯单片机组备赛——独立键盘矩阵键盘

文章目录 一、按键原理二、独立键盘&矩阵键盘2.1 独立按键2.2 矩阵键盘2.2.1 列扫描2.2.2 行扫描2.2.3 代码实现(行扫描实现) 三、矩阵键盘注意事项3.1 为什么要设置C1C2C3C413.2 按键消抖 一、按键原理 原理很简单,当我们没有按下SW2时,由于上拉电阻…

Qt应用开发(安卓篇)——Hello Qt On Android

一、前言 这一篇从实际出发,讲述如何创建、编译和部署Qt On Android项目。 二、ADB调试 ADB的全称为Android Debug Bridge,就是起到调试桥的作用,主要用于连接计算机与Android 设备,以便进行调试和数据传输。ADB 可以实现以下主要…

图新地球-拌合站选址-上报林业局的临时征拆-图斑附图制作

0.序 做铁路、公路等工程施工时,需要根据不同阶段的施工方案,把拌合站等用地选址,报批给林业局进行审批。 如下图: 1.附图结果要求 在卫星底图基础上,标注选址的范围 闭合线的每个节点显示经纬度坐标(度…

代码随想录算法训练营第三十六天(贪心算法篇)

1005. K次取反后最大化的数组和 题目链接:1005. K 次取反后最大化的数组和 - 力扣(LeetCode) 思路 (给自己的的忠告:做一道题之前一定要冷静思考后再“下键盘”,不要一有想法就开始敲,更不要…

【深度学习每日小知识】Classification 分类

分类是机器学习中的一项基本任务,涉及根据给定输入数据点的特征为其分配类别或标签。换句话说,分类是一种监督学习方法,它允许机器学习如何根据数据中存在的特征将新实例分类为一组预定义的类别。 显示目标分类的图像 Importance of Classifi…

计算机网络-ACL实验

一、NAT实验配置 NAT实验配置 通过基本ACL匹配VLAN 10网段,然后在出口设备NAT转换只要匹配到VLAN10地址则进行转换。 核心交换机 # 配置VLAN和默认路由,配置Trunk和Access接口 interface Vlanif10ip address 192.168.10.254 255.255.255.0 # interface V…