RAG、Agent、微调等6种常见的大模型定制策略

六种最常见的LLM定制策略,按资源消耗从最少到最多的顺序排列:

  1. 提示工程(Prompt Engineering)

  2. 解码与采样策略(Decoding and Sampling Strategy)

  3. 检索增强生成(Retrieval Augmented Generation)

  4. Agent

  5. 微调(Fine Tuning)

  6. 基于人类反馈的强化学习(Reinforcement Learning from Human Feedback)

1、提示工程(Prompt Engineering)

提示(Prompt)是发送给LLM的输入文本,用于引发AI生成的响应,它可以由指令、上下文、输入数据和输出指示符组成。

  • 指令:这是为模型如何执行任务提供的描述或指示。

  • 上下文:这是外部信息,用于指导模型在特定范围内进行响应。

  • 输入数据:这是你希望模型生成响应的输入。

  • 输出指示符:这指定了输出的类型或格式。

基本的提示工程技术包括零次提示(zero shot prompting)、一次提示(one shot prompting)和少量提示(few shot prompting)。用户可以在与LLM互动时直接实现这些基本提示工程技术,从而高效地使模型的行为与新目标对齐。API实现也是一种选择。

由于提示工程的高效性和有效性,人们也探索和开发出了越来越多的用于提升提示的逻辑结构的复杂方法。

  • 思维链(Chain of Thought,CoT)要求LLM将复杂的推理任务分解为逐步的思维过程,从而提高多步骤问题的表现。每个步骤都会明确暴露其推理结果,并作为后续步骤的前置上下文,直到得出最终答案。

  • 思维树(Tree of Thought,ToT)是CoT的扩展,通过考虑多条不同的推理分支并自我评估选择,决定下一步最佳行动。它对于涉及初步决策、未来策略和多种解决方案探索的任务更为有效。

  • 自动推理和工具使用(Automatic Reasoning and Tool use,ART)在CoT的基础上构建,它解构复杂任务,并允许模型使用预定义的外部工具(如搜索和代码生成)从任务库中选择少量示例。

  • 协同推理与行动(Synergizing Reasoning and Acting,ReAct)结合了推理轨迹与行动空间,模型在行动空间中搜索,并基于环境观察确定下一步最佳行动。

像CoT和ReAct这样的技术通常与Agent工作流结合使用,以增强其能力。

2、解码与采样策略(Decoding and Sampling Strategy)

解码策略可以通过推理参数(例如temperature、top_p、top_k)在模型推理时进行控制,从而决定模型响应的随机性和多样性。贪婪搜索、束搜索和采样是三种常见的自回归模型生成的解码策略。在自回归生成过程中,LLM根据前一个token的条件,基于候选token的概率分布逐个输出token。

默认情况下,使用贪婪搜索来生成概率最高的下一个token。

与此不同,束搜索解码会考虑多个下一个最佳token的假设,并选择在整个文本序列中具有最高综合概率的假设。以下代码片段使用transformers库,在模型生成过程中指定束搜索路径的数量(例如,num_beams=5表示考虑5个不同的假设):

python 复制代码
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained(tokenizer_name)
inputs = tokenizer(prompt, return_tensors="pt")

model = AutoModelForCausalLM.from_pretrained(model_name)
outputs = model.generate(**inputs, num_beams=5)

采样策略是控制模型响应随机性的第三种方法,通过调整这些推理参数:

  1. 温度(Temperature):降低温度会使概率分布变得更加尖锐,从而增加生成高概率词语的可能性,减少生成低概率词语的可能性。当温度 = 0 时,相当于贪婪搜索(最不具创意);当温度 = 1 时,会生成最具创意的输出。

  2. Top K采样:这种方法筛选出K个最可能的下一个token,并在这些token之间重新分配概率。模型从这个筛选出的token集合中进行采样。

  3. Top P采样:与从K个最可能的token中采样不同,top-p采样从最小的token集合中选择,该集合的累积概率超过阈值p。

以下示例代码片段从累积概率大于0.95(top_p=0.95)的前50个最可能的token中进行采样(top_k=50):

python 复制代码
sample_outputs = model.generate(
    **model_inputs,
    max_new_tokens=40,
    do_sample=True,
    top_k=50,
    top_p=0.95,
    num_return_sequences=3,
)

3、检索增强生成(Retrieval Augmented Generation)

4、Agent

5、微调(Fine Tuning)

6、基于人类反馈的强化学习(Reinforcement Learning from Human Feedback)

从理论到实践:RAG、Agent、微调等6种常见的大模型定制策略

相关推荐
查士丁尼·绵11 分钟前
笔试-九宫格三阶积幻方
python·九宫格·三阶积幻方
l1t3 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
大飞记Python3 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
初学小刘3 小时前
深度学习:从图片数据到模型训练(十分类)
人工智能·深度学习
查士丁尼·绵5 小时前
笔试-羊狼过河
python
KG_LLM图谱增强大模型5 小时前
整合知识图谱与大语言模型:下一代药物发现的革命性技术
大模型·知识图谱·graphrag·医药·知识图谱增强大模型
摸鱼的老谭5 小时前
构建Agent该选Python还是Java ?
java·python·agent
2301_821919925 小时前
深度学习(四)
pytorch·深度学习
鄃鳕5 小时前
python 字典 列表 类比c++【python】
c++·python
可触的未来,发芽的智生5 小时前
新奇特:黑猫警长的纳米世界,忆阻器与神经网络的智慧
javascript·人工智能·python·神经网络·架构