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种常见的大模型定制策略

相关推荐
郝学胜-神的一滴3 分钟前
《机器学习》经典教材全景解读:周志华教授匠心之作的技术深探
数据结构·人工智能·python·程序人生·机器学习·sklearn
知乎的哥廷根数学学派3 分钟前
基于物理约束与多源知识融合的浅基础极限承载力智能预测与工程决策优化(以模拟信号为例,Pytorch)
人工智能·pytorch·python·深度学习·神经网络·机器学习
yubo05093 分钟前
【无标题】
人工智能·深度学习
费弗里6 分钟前
新组件库fi发布,轻松实现新一代声明式信息图可视化
python·数据可视化·dash
CoovallyAIHub7 分钟前
为AI装上“纠偏”思维链,开源框架Robust-R1显著提升多模态大模型抗退化能力
深度学习·算法·计算机视觉
向量引擎小橙8 分钟前
智能体“组团”时代:通信协议标准化如何颠覆未来协作模式?
大数据·人工智能·深度学习·集成学习
R.X. NLOS12 分钟前
知识点1:DDPM数学原理及理解
大模型·大厂面试·扩散模型·ddpm·数学原理
喜欢吃豆12 分钟前
LangChain 架构深度解析:从中间件机制到人机协同 SQL 智能体实战报告
人工智能·中间件·架构·langchain·大模型
书中藏着宇宙14 分钟前
CornerNet的续篇(数据处理与训练)
开发语言·python
万粉变现经纪人16 分钟前
如何解决 pip install mysqlclient 报错 ‘mysql_config’ not found 问题
数据库·python·mysql·pycharm·bug·pandas·pip