本文从后端程序员的角度来谈下对于这几种提高大模型回答结果的优化手段
背景:大语言模型(LLM)的发展背景
目的:理解微调、RAG和模板提示词的重要性及其在实际开发中的应用
微调是指在预训练模型的基础上,使用特定任务的数据进行再次训练。
提升模型在特定任务上的表现
可以在现有基础上进一步优化模型
需要大量标注数据
训练成本高,时间长
客服问答系统
专业领域文档的理解与处理
非专业略掉。
RAG结合了信息检索与生成模型,通过先检索相关文档,再基于这些文档生成回答。
减少模型需要记住的知识量
提高回答的准确性和可靠性
系统复杂度增加
需要维护高质量的检索数据库,数据库检索出来的相关文档直接影响最后生成的结果,所以在向量数据库的入库和检索过程要通过各种手段来进行优化。
问答系统
知识库增强的智能助手
通过外挂知识库的方式,先提前把相关的数据向量化后store在向量数据库里,然后查询时再把这部分
内容查出来,然后一起喂给llm。这对于一些专业知识来说非常有用。因为对于一些非公开数据而言,llm也不知道这部分数据。
模板提示词是指通过设计特定格式的输入来引导大语言模型生成预期的输出。
无需重新训练模型
灵活性高,适用范围广
依赖于对模型行为的深刻理解
复杂任务时可能需要大量试验
文本生成
对话系统
用户提问的问题常常描述不清,导致大模型往往不能给出精准的答案。实际上大模型能力是够的,只是由于输入的信息不够,才会导致这种结果,通过一个明确的提示词模板,对用户的提问进行包装,
好用大模型能够精确的理解需求。
提示词模板
提示词模板
1.任务描述:
简要描述任务的背景和目标。
输入:
2. 提供输入格式和示例数据。
指令:
3. 给出明确的指令,解释如何处理输入以生成所需输出。
输出格式:
4. 指定输出格式和示例数据。
示例:
5. 提供一个完整的输入和输出示例,以帮助理解和调试。
微调 vs RAG vs 模板提示词:
数据需求:微调 > RAG > 模板提示词
灵活性:模板提示词 > RAG > 微调
实现复杂度:RAG > 微调 > 模板提示词