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

大语言模型里的微调vs RAG vs 模板提示词

文章目录

    • 介绍
      • 微调(Fine-tuning)
      • 定义
        • 优点:
        • 缺点:
        • 应用场景:
        • 技术细节
      • 检索增强生成(RAG,Retrieval-Augmented Generation)
      • 定义
        • 优点:
        • 缺点:
        • 应用场景:
        • 技术细节
      • 模板提示词(Prompt Engineering)
        • 定义
        • 优点:
        • 缺点:
        • 应用场景:
        • 技术细节
      • 对比与选择


本文从后端程序员的角度来谈下对于这几种提高大模型回答结果的优化手段


介绍

背景:大语言模型(LLM)的发展背景
目的:理解微调、RAG和模板提示词的重要性及其在实际开发中的应用

微调(Fine-tuning)

定义

微调是指在预训练模型的基础上,使用特定任务的数据进行再次训练。

优点:

提升模型在特定任务上的表现
可以在现有基础上进一步优化模型

缺点:

需要大量标注数据
训练成本高,时间长

应用场景:

客服问答系统
专业领域文档的理解与处理

技术细节

非专业略掉。

检索增强生成(RAG,Retrieval-Augmented Generation)

定义

RAG结合了信息检索与生成模型,通过先检索相关文档,再基于这些文档生成回答。

优点:

减少模型需要记住的知识量
提高回答的准确性和可靠性

缺点:

系统复杂度增加
需要维护高质量的检索数据库,数据库检索出来的相关文档直接影响最后生成的结果,所以在向量数据库的入库和检索过程要通过各种手段来进行优化。

应用场景:

问答系统
知识库增强的智能助手

技术细节

通过外挂知识库的方式,先提前把相关的数据向量化后store在向量数据库里,然后查询时再把这部分
内容查出来,然后一起喂给llm。这对于一些专业知识来说非常有用。因为对于一些非公开数据而言,llm也不知道这部分数据。
在这里插入图片描述

模板提示词(Prompt Engineering)

定义

模板提示词是指通过设计特定格式的输入来引导大语言模型生成预期的输出。

优点:

无需重新训练模型
灵活性高,适用范围广

缺点:

依赖于对模型行为的深刻理解
复杂任务时可能需要大量试验

应用场景:

文本生成
对话系统

技术细节

用户提问的问题常常描述不清,导致大模型往往不能给出精准的答案。实际上大模型能力是够的,只是由于输入的信息不够,才会导致这种结果,通过一个明确的提示词模板,对用户的提问进行包装,
好用大模型能够精确的理解需求。

提示词模板

提示词模板
1.任务描述:简要描述任务的背景和目标。
输入:
2. 提供输入格式和示例数据。指令:
3. 给出明确的指令,解释如何处理输入以生成所需输出。输出格式:
4. 指定输出格式和示例数据。示例:
5. 提供一个完整的输入和输出示例,以帮助理解和调试。

对比与选择

微调 vs RAG vs 模板提示词:
数据需求:微调 > RAG > 模板提示词
灵活性:模板提示词 > RAG > 微调
实现复杂度:RAG > 微调 > 模板提示词

http://www.lryc.cn/news/397034.html

相关文章:

  • 网络编程:常用网络测试工具
  • mov视频怎么改成mp4?把mov改成MP4的四个方法
  • 力扣1472.设计浏览器历史记录
  • 准大一新生开学千万要带证件照用途大揭秘
  • QImage显示图片像素
  • uniapp使用高德地图(公众号+h5)
  • 深度学习与浅层学习:技术变革下的竞争态势
  • LeetCode 219. 存在重复元素 II
  • 【目标检测】使用自己的数据集训练并预测yolov8模型
  • 应用监控SkyWalking调研
  • Selenium使用注意事项:
  • 小程序需要进行软件测试吗?小程序测试有哪些测试内容?
  • 一文读懂企业租用GPU的注意事项!
  • Linux运维:mysql主从复制原理及实验
  • 022-GeoGebra中级篇-几何对象之直线与坐标轴
  • node js安装、配置(Windows版)
  • go语言day08 泛型 自定义错误处理 go关键字:协程
  • MySql性能调优01-[数据结构和索引]
  • 【算法入门-栈】逆波兰表达式求值
  • 【史上最全面ESP32教程】http通信
  • *算法训练(leetcode)第二十七天 | 56. 合并区间、738. 单调递增的数字、968. 监控二叉树
  • OpenJudge 奇数求和
  • 【排序 - 快速排序】
  • pytest使用报错(以及解决pytest所谓的“抑制print输出”)
  • 开源项目编译harbor arm架构的包 —— 筑梦之路
  • [笔记] SKF Enveloping FAQ 用户指南
  • 宪法学学习笔记(个人向) Part.3
  • 联想拯救者Y7000 IRX9 笔记本接口功能介绍
  • 【ESP32】打造全网最强esp-idf基础教程——16.SmartConfig一键配网
  • MD5加密和注册页面的编写