prompt,RAG,finetune,从零训练大模型对比

Prompt Engineering

RAG

微调

从零训练大模型
通过提供少量示例提供尽可能多的上下文,使基础模型更好地了解用例 增加了直接来自向量化信息存储的特定于用例的上下文 在特定领域的数据上更新模型权重 模型是在用例特定数据上从零开始训练的
准确性 与其他方法相比,它产生的结果最不准确 与Prompt Engineering相比,它产生的结果大大改善,而且产生幻觉的可能性非常低 也提供了相当精确的结果,输出的质量与RAG相当 产生幻觉的几率几乎为零,输出的准确率也是比较中最高的

实现的复杂性

相当低的实现复杂性 比Prompt Engineering具有更高的复杂性 更复杂 最高的实现复杂性

工作量投入

需要大量的迭代努力才能做到正确

基础模型对提示的措辞非常敏感,改变一个词甚至一个动词有时会产生完全不同的反应

由于涉及到创建嵌入和设置矢量存储的任务,RAG也需要很多的工作量,比Prompt Engineering要高一些

微调则比前两个要更加费力。

虽然微调可以用很少的数据完成(在某些情况下甚至大约或少于30个示例),但是设置微调并获得正确的可调参数值需要时间

从头开始训练是所有方法中最费力的方法。

它需要大量的迭代开发来获得具有正确技术和业务结果的最佳模型。

这个过程从收集和管理数据开始,设计模型体系结构,并使用不同的建模方法进行实验,以获得特定用例的最佳模型。

这个过程可能会很长(几周到几个月)

灵活性 非常高的灵活性,因为只需要根据基础模型和用例的变化更改提示模板

很最高程度的灵活性

可以独立地更改嵌入模型、向量存储和LLM,而对其他组件的影响最小

灵活性非常低

因为数据和输入的任何更改都需要另一个微调周期,这可能非常复杂且耗时

灵活性最低的

  • 总结:
    • 准确性(低——>高):Prompt Engineering<RAG ≈微调<从零训练大模型
    • 实现复杂性(低——>高):Prompt Engineering<RAG <微调<从零训练大模型
    • 工作量投入(少——>多):Prompt Engineering<RAG <微调<从零训练大模型
    • 灵活性(少——>多):从零训练大模型<微调<Prompt Engineering<RAG

参考内容:Prompt、RAG、微调还是重新训练?如何选择正确的生成式AI的使用方法

相关推荐

  1. prompt,RAG,finetune,训练模型对比

    2024-03-15 10:14:01       43 阅读
  2. 实现诗词GPT模型:了解Transformer架构

    2024-03-15 10:14:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 10:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 10:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 10:14:01       82 阅读
  4. Python语言-面向对象

    2024-03-15 10:14:01       91 阅读

热门阅读

  1. Android中多线程实现

    2024-03-15 10:14:01       41 阅读
  2. Xlua - 集成rapidjson(json序列化)

    2024-03-15 10:14:01       36 阅读
  3. leetcode排列序列

    2024-03-15 10:14:01       42 阅读
  4. 《React HOC》异步引入定制化的Antd Modal组件

    2024-03-15 10:14:01       48 阅读
  5. 【C#】【SAP2000】OAPI文档案例详解

    2024-03-15 10:14:01       38 阅读
  6. C#十大排序总结

    2024-03-15 10:14:01       43 阅读
  7. PaddleOCR识别框架解读[14] OCR数据集

    2024-03-15 10:14:01       46 阅读
  8. Oracle数据库 shared pool

    2024-03-15 10:14:01       38 阅读