您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-06-28 0
大语言模型(LLM)是基于自监督学习预训练的深度学习模型,训练数据量庞大、训练时间长,并且包含大量的参数。LLM在过去两年中彻底改变了自然语言处理领域,展现了在理解和生成类人文本方面的卓越能力。
然而,这些通用模型的开箱即用性能并不总能满足特定的业务需求或领域要求。LLM单独使用时无法回答依赖于公司专有数据或封闭环境的问题,这使得它们在应用中显得相对通用。
由于从零开始训练一个LLM模型需要大量的训练数据和资源,这对于中小型团队来说基本不可行。因此,近年来开发了多种LLM定制策略,以便针对需要专业知识的不同场景调优模型。
定制策略大致可以分为两种类型:
这两种定制范式进一步分化为各种专门的技术,包括LoRA微调、思维链(Chain of Thought)、检索增强生成(RAG)、ReAct和Agent框架等。每种技术在计算资源、实现复杂度和性能提升方面提供了不同的优势和权衡。
定制LLM的第一步是选择合适的基础模型作为基准。例如Huggingface这些基于社区的平台,提供了由顶级公司或社区贡献的各种开源预训练模型,如Meta的Llama系列和Google的Gemini。Huggingface还提供了例如Open LLM Leaderboard这样的排行榜,可以根据行业标准的指标和任务(如MMLU)来比较LLM。
云服务提供商如AWS(亚马逊)和AI公司(如OpenAI和Anthropic)也提供访问专有模型的服务,这些通常是付费服务,且访问受限。
选择LLM时需要考虑以下几个因素:
在确定了基础LLM之后,让我们来看一下六种最常见的LLM定制策略,按资源消耗从最少到最多的顺序排列:
提示(Prompt)是发送给LLM的输入文本,用于引发AI生成的响应,它可以由指令、上下文、输入数据和输出指示符组成。
提示工程(Prompt Engineering)涉及有策略地设计这些提示组件,以塑造和控制模型的响应。基本的提示工程技术包括零次提示(zero shot prompting)、一次提示(one shot prompting)和少量提示(few shot prompting)。用户可以在与LLM互动时直接实现这些基本提示工程技术,从而高效地使模型的行为与新目标对齐。API实现也是一种选择。
由于提示工程的高效性和有效性,人们也探索和开发出了越来越多的用于提升提示的逻辑结构的复杂方法。
像CoT和ReAct这样的技术通常与Agent工作流结合使用,以增强其能力。这些技术将在接下来的Agent部分中详细介绍。
解码策略可以通过推理参数(例如temperature、top_p、top_k)在模型推理时进行控制,从而决定模型响应的随机性和多样性。贪婪搜索、束搜索和采样是三种常见的自回归模型生成的解码策略。
在自回归生成过程中,LLM根据前一个token的条件,基于候选token的概率分布逐个输出token。
默认情况下,使用贪婪搜索来生成概率最高的下一个token。
与此不同,束搜索解码会考虑多个下一个最佳token的假设,并选择在整个文本序列中具有最高综合概率的假设。以下代码片段使用transformers库,在模型生成过程中指定束搜索路径的数量(例如,num_beams=5表示考虑5个不同的假设):
from transformers import AutoModelForCausalLM, AutoTokenizertokenizer = AutoTokenizer.from_pretrained(tokenizer_name)inputs = tokenizer(prompt, return_tensors="pt")model = AutoModelForCausalLM.from_pretrained(model_name)outputs = model.generate(**inputs, num_beams=5)
采样策略是控制模型响应随机性的第三种方法,通过调整这些推理参数:
以下示例代码片段从累积概率大于0.95(top_p=0.95)的前50个最可能的token中进行采样(top_k=50):
sample_outputs = model.generate( **model_inputs, max_new_tokens=40, do_sample=True, top_k=50, top_p=0.95, num_return_sequences=3,)
检索增强生成(Retrieval Augmented Generation,简称RAG),最初在论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》中提出,已被证明是一种有前景的解决方案,能够将外部知识集成进来,并在处理领域特定或专业查询时减少常见的LLM幻觉问题。RAG允许动态地从知识领域中提取相关信息,并且通常不涉及更新LLM参数的大规模训练,使其成为一种用于将通用LLM适配到特定领域的成本效益高的策略。
RAG系统可以分为检索和生成两个阶段。
检索过程的目标是通过对外部知识进行切块、创建嵌入、索引和相似性搜索,找到与用户查询密切相关的知识库内容。
RAG系统的生成过程则将检索到的信息与用户查询结合,形成增强的查询,并将其传递给LLM,以生成丰富上下文的响应。
以下代码片段首先指定LLM和嵌入模型,然后执行步骤将外部知识库文档切块为文档集合。接着从文档创建索引,基于索引定义查询引擎,并使用用户提示查询查询引擎。
from llama_index.llms.openai import OpenAIfrom llama_index.embeddings.openai import OpenAIEmbeddingfrom llama_index.core import VectorStoreIndexSettings.llm = OpenAI(model="gpt-3.5-turbo")Settings.embed_model="BAAI/bge-small-en-v1.5"document = Document(text="\\n\\n".join([doc.text for doc in documents]))index = VectorStoreIndex.from_documents([document]) query_engine = index.as_query_engine()response = query_engine.query( "Tell me about LLM customization strategies.")
上述示例展示了一个简单的RAG系统。基于此,改进后的高级RAG引入了预检索和后检索策略,以减少检索和生成过程之间的协同作用有限等问题。例如,重新排序技术使用能够理解双向上下文的模型对检索到的信息进行重新排序,并与知识图谱集成,用于高级查询路由。更多技巧可以参考《高阶RAG技巧:探索提升RAG系统性能的不同技巧》。
LLM Agent是2024年的热门话题,并且可能在2025年继续成为生成AI领域的主要关注点。
推荐阅读:
《如何构建与未来并肩的Agentic AI:从基础到高级应用的全景指南》
《从AI Agent到Agentic Workflow:技术焦点的转变与未来发展》
《2025如何学习Agent?谷歌重磅发布Agent白皮书》
《免费,中文!微软推出面向初学者的AI Agent课程啦》
与RAG相比,Agent在创建查询路径和规划基于LLM的工作流方面表现更为出色,具有以下优势:
可以通过Agent框架实现如CoT、ReAct这几种上下文学习技术,我们将详细讨论ReAct。ReAct代表Synergizing Reasoning and Acting in Language Models(在语言模型中协同推理与行动),由三个关键元素组成——行动、思考和观察。
这个框架由Google Research在普林斯顿大学提出,基于思维链(Chain of Thought)构建,将推理步骤与一个行动空间结合,使得工具使用和函数调用成为可能。此外,ReAct框架强调根据环境观察来确定下一个最佳行动。
以下是原始论文中的一个示例,展示了ReAct的内部工作过程,其中LLM生成第一个思考并通过调用“Search [Apple Remote]”函数进行行动,然后观察其第一次输出的反馈。第二个思考基于先前的观察,从而引导到不同的行动“Search [Front Row]”。这个过程会反复进行,直到达到目标。研究表明,ReAct通过与简单的Wikipedia API交互,克服了在链式推理中常见的幻觉和错误传播问题。此外,通过决策痕迹的实施,ReAct框架还增强了模型的可解释性、可信度和诊断能力。
下面使用llamaindex展示了一个基于ReAct的Agent实现。首先,它定义了两个函数(multiply和add)。其次,这两个函数被封装为FunctionTool,形成了Agent的行动空间,并根据其推理执行。
from llama_index.core.agent import ReActAgentfrom llama_index.core.tools import FunctionTool# 创建基本的函数工具def multiply(a: float, b: float) -> float: return a * bmultiply_tool = FunctionTool.from_defaults(fn=multiply)def add(a: float, b: float) -> float: return a + badd_tool = FunctionTool.from_defaults(fn=add)agent = ReActAgent.from_tools([multiply_tool, add_tool], llm=llm, verbose=True)
当结合自我反思或自我修正时,Agent工作流的优势更加显著。这是一个日益增长的领域,目前正在探索各种Agent架构。
推荐阅读:
《亚马逊开源Multi-Agent Orchestrator:打造无缝智能对话体验》
《HuggingFace smolagents:仅1000行代码的轻量级Agent框架,赠书》
《传统 RAG vs. Agentic RAG:动态图示清晰解析》
《2025年这7种用于构建Agentic RAG系统的架构不可或缺》
微调(Fine-tuning)是向LLM输入特定的领域和专业数据集,以修改模型,使其更好地与某一目标对齐的过程。它不同于提示工程和RAG,因为它允许更新LLM的权重和参数。完全微调指的是通过反向传播更新预训练LLM的所有权重,这需要大量的内存来存储所有权重和参数,并可能导致模型在其他任务上的能力显著下降(即灾难性遗忘)。
因此,PEFT(Parameter Efficient Fine Tuning,参数高效微调)被更广泛地应用,以减轻这些问题,同时节省模型训练的时间和成本。PEFT方法主要分为三类:
微调过程与深度学习训练过程类似,需要以下输入:
以下是使用transformers Trainer实现微调的示例:
from transformers import TrainingArguments, Trainertraining_args = TrainingArguments( output_dir=output_dir, learning_rate=1e-5, eval_strategy="epoch")trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, compute_metrics=compute_metrics,)trainer.train()
微调有广泛的应用场景。例如,指令微调(instruction fine-tuning)通过在prompt-completion(提示-完成)对上进行训练,优化LLM进行对话和遵循指令的能力。另一个例子是领域适应(domain adaptation),这是一种无监督的微调方法,帮助LLM在特定的知识领域中专门化。
RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)是一种强化学习技术,通过基于人类偏好的方式来微调LLM。RLHF的工作原理是通过人类反馈训练一个奖励模型,并将该模型用作奖励函数,通过PPO(Proximal Policy Optimization,近端策略优化)优化强化学习策略。这个过程需要两组训练数据:一组用于训练奖励模型的偏好数据集,和一组用于强化学习循环中的提示数据集。
让我们将其分解成几个步骤:
开源库 Trlx 被广泛应用于实现RLHF,它提供了一个模板代码,展示了RLHF的基本设置:
# trl: Transformer Reinforcement Learning libraryfrom trl import PPOTrainer, PPOConfig, AutoModelForSeq2SeqLMWithValueHeadfrom trl import create_reference_modelfrom trl.core import LengthSampler# 初始化预训练的模型和分词器model = AutoModelForCausalLMWithValueHead.from_pretrained(config.model_name)tokenizer = AutoTokenizer.from_pretrained(config.model_name)# 定义PPO算法的超参数config = PPOConfig( model_name=model_name, learning_rate=learning_rate, ppo_epochs=max_ppo_epochs, mini_batch_size=mini_batch_size, batch_size=batch_size)# 使用模型初始化PPO训练器ppo_trainer = PPOTrainer( config=config, model=ppo_model, tokenizer=tokenizer, dataset=dataset["train"], data_collator=collator) # 通过奖励逐步更新ppo_trainerppo_trainer.step(query_tensors, response_tensors, rewards)
RLHF广泛应用于使模型的回答与人类偏好对齐。常见的使用场景包括减少回答的有害性和模型的幻觉现象。然而,它的缺点是需要大量人工标注的数据,并且与策略优化相关的计算成本较高。因此,为了缓解这些限制,提出了如 AI反馈强化学习(Reinforcement Learning from AI feedback)和 直接偏好优化(Direct Preference Optimization,DPO)等替代方法。
https://towardsdatascience.com/6-common-llm-customization-strategies-briefly-explained/
DeepSeek资料下载方式
关注后私信发送:DeepSeek,即可领取完整版资料
本文,完。觉得本篇文章不错的,记得随手点个赞、收藏和转发三连,大家感兴趣的可以关注下,后续我再研究点新东西分享给大家⭐~
相关文章
您好:这款游戏是可以开挂的,软件加微信【添加图中微信】确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到其他人...
2025-06-28 0
您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-06-28 0
现在人们打棋牌麻将谁不想赢?手机微乐麻将必赢神器但是手机棋牌麻将是这么好赢的吗?在手机上打棋牌麻将想赢,不仅需要运气,也需要技巧。掌握的棋牌麻将技巧就...
2025-06-28 0
您好:这款游戏可以开挂,确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好,总是好牌,而且好像能看到-人的牌一样。所以很多小伙伴就怀疑这...
2025-06-28 0
发表评论