请问大佬关于gpts,fine-tuning,rag的区别?

  • 先说下背景,我是想根据目前比较受欢迎的故事,让大模型根据这些比较受欢迎的故事作为来源,生成类似的故事。

  • 目前除了prompt,搜索发现还有chatgtp的gpts,fine-tuning,还有rag,比如fastgpt,dify都需要上传自己的数据集。现在请教大佬们的问题是,根据我的目的,这些用哪个比较好?都是需要上传自己的数据集,这些都有啥区别呀?目前自己只是大概了解,还没有实操过。

  • 提前感谢大佬们解答

1 个赞

gpts

相当于你给ChatGPT定义一个角色(system prompt),然后你和ChatGPT聊天时,ChatGPT都会遵循你给它定义的角色要求来回答你。

fine-tuning

这个就是用你的数据去训练模型,你教模型面对某某问题该如何回复。fine-tuning时的数据格式需要根据你的实际需求来设计。比如你想让模型能够按照你的需求生成你想要的故事,你可以把生成的故事需求作为模型的输入,受欢迎的故事作为模型的输出,相当于你教模型如何写故事。训练之后模型有可能会学会举一反三的能力,知道什么样的描述应该对应什么样的故事。

rag

检索增强生成(Retrieval-augmented Generation),这种方式运行逻辑是:
1.先判断你的提问是否需要使用RAG
2.如果触发RAG功能,后台会根据你的提问,在你提供的数据中检索与你的提问相关的内容,然后把这些相关内容和你的提问拼接到一起,一块作为输入传给模型。

在使用gptsrag功能时,如果你想让模型根据你的故事作为参考生成类似的故事,都要把类似的故事和你的需求一块输入给模型,这样模型才能根据你提供的故事学习这种故事风格,然后生成符合要求的故事。
gpts有一个好处就是你给模型定义好的角色身份和要求,这就不用在每次提问时反复强调你是xxx,你应该怎样怎样做来生成故事。而rag的好处时,你在生成故事时,他会自动根据你的需求去检索相关的故事片段(这个检索的准确度建议不要抱太大希望),然后模型生成的时候会自动把这些内容和你的需求一并发给模型(这都是理想情况,实际上检索出的内容和你想要的可能并不一样),不用你每次都手动输入相关的故事。
使用fine-tuning,就相当于你在教模型,让模型学习在看到什么样的输入,应该输出什么样的回复。
至于具体使用哪种方式比较好,那看你具体实际的需求了。

5 个赞

感谢大佬回复,这么一说我就明白了。再次感谢