当前位置: 首页 > news >正文

【大模型】3分钟了解提示(Prompt)工程、检索增强(RAG)和微调

我们先看下面这个图:
在这里插入图片描述
简单理解大模型是通过海量训练数据训练出来的,它的能力非常强,但是有时候会给出错误的回答。那产生错误的原因可能是什么呢?

1.提问错误(提示工程)

在我们提问的方式不对的情况下,大模型可能会给出不合理的回答,利用提示工程来提升大语言模型处理复杂任务场景的能力,如问答和算术推理能力。

2. 缺乏相关知识(检索增强-RAG)

另外一个原因可能是大模型的虽然是通过海量数据训练,但它的训练数据大部分是互联网公开数据,且数据有时效性,一些垂直领域的知识和实时性的知识它是缺乏的。利用检索增强(RAG)先检索相关知识,把相关知识通过prompt提供给大模型,再生成答案往往能得到解决。

3. 模型能力不足(微调)

大模型的在通用场景时有不错的能力,但是可能会缺乏特定领域的解决能力,例如:医学、金融领域等。通过提供特定领域的知识对模型进行微调训练,让模型记住特定领域的知识,可以有效减少对应领域的幻觉。

附录

  1. 提示工程(Prompt Engineering)

    • 是什么?
      • 提示工程是通过精心设计输入给语言模型,以获得更好的输出结果。
    • 适合场景:
      • 当你需要快速尝试不同任务,或者不想修改模型时。
      • 适用于生成文本、回答问题等任务。
  2. 检索增强生成(RAG)

    • 是什么?
      • RAG结合了信息检索和文本生成,首先从数据库中检索相关信息,再用生成模型产生答案。
    • 适合场景:
      • 当需要结合外部知识库或文档进行回答时。
      • 适用于问答系统、文档摘要等。
  3. 微调(Fine-tuning)

    • 是什么?
      • 微调是在特定任务或数据集上进一步训练预训练模型,使其更适合特定应用。
    • 适合场景:
      • 当你有特定领域的数据,并希望模型在该领域表现更好时。
      • 适用于情感分析、特定领域的文本生成等。

对比表格

特性提示工程RAG微调
操作难度
灵活性
依赖数据无需额外数据需要外部知识库需要特定领域数据
适应性一般
响应速度
开发成本
适用场景快速原型开发需要外部信息的复杂任务特定领域的精准任务

应用场景选择

  • 使用提示工程:

    • 当需要快速试验不同任务,或在没有特定数据的情况下进行文本生成。
  • 使用RAG:

    • 当任务需要结合外部文档或知识库来提供更准确的信息时。
  • 使用微调:

    • 当有足够的特定领域数据,并需要模型在该领域达到最佳性能时。

参考资料:

  • 通俗易懂理解提示工程、RAG和微调
  • 提示工程指南
http://www.lryc.cn/news/463283.html

相关文章:

  • 太速科技-509-基于XCVU13P的4路QSFP28光纤PCIeX16收发卡
  • C#从零开始学习(基本语法概念)(2)
  • 基于SSM+微信小程序的家庭记账本管理系统(家庭1)
  • MEMC功能详解
  • C++ | Leetcode C++题解之第493题翻转对
  • Git 修改分支名
  • [自动化测试:Selenium]:环境部署和Webdriver的使用
  • 51单片机——OLED显示图片
  • Gin 协程mysql客户端
  • 量子门电路开销——T门、clifford门、toffoli门、fredkin门
  • C++之《剑指offer》学习记录(1):类型转换关键字
  • 【Linux】平台设备驱动
  • 【Linux】命令行参数环境变量
  • libaom 源码分析:twopass_encoder.c 文件
  • ruoyi同时支持mysql+sqlserver+oracle+postgresql
  • 微信小程序绘制轨迹
  • UNION 联合查询
  • blender 理解 积木组合 动画制作 学习笔记
  • 关于 FreeSWITCH mod_sofia 注册过期时间的测试
  • 【LeetCode:349. 两个数组的交集 + 哈希表】
  • 根据语音生成视频33搜帧
  • 目标检测数据集图片及标签同步锐化
  • 滚雪球学Redis[6.4讲]:Redis消息队列:构建高效的消息通信与任务调度系统
  • 《计算机视觉》—— 换脸
  • 【JavaEE初阶】深入透析文件-IO关于文件内容的操作(四种文件流)
  • 复习:react 中的 refs,怎么使用,有哪些使用场景
  • Python OpenCV精讲系列 - 目标检测与识别深入理解(二十)
  • golang中的上下文
  • Navigation2 算法流程
  • OpenAI swarm+ Ollama快速构建本地多智能体服务 - 1. 服务构建教程