如何对大模型有效地微调增强?

本文介绍了LLM大模型的两种增强方式:RAG(检索增强生成)和Fine-tuning,特别是LoRA微调的应用。同时提供了免费直播,详细讲解大模型微调技术及知识图谱和学习路线,旨在帮助IT专业人士更好地理解和应用大模型技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

▼最近直播超级多,预约保你有收获

今晚直播:基于LoRA微调大模型应用实战

 1

如何对 LLM 大模型增强? 

对 LLM 大模型能力增强在企业级有两种实践路线:RAG 和 Fine-tuning。接下来我们详细剖析下这两种增强实现方式。

第一:检索增强生成 RAG(Retrieval Augmented Generation)实现方式

2020 年,Lewis et al. 的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》提出了一种更为灵活的技术:检索增强生成(RAG)。在这篇论文中,研究者将生成模型与一个检索模块组合到了一起;这个检索模块可以用一个更容易更新的外部知识源提供附加信息。

用大白话来讲:RAG 之于 LLM 就像开卷考试之于人类。在开卷考试时,学生可以携带教材和笔记等参考资料,他们可以从中查找用于答题的相关信息。开卷考试背后的思想是:这堂考试考核的重点是学生的推理能力,而不是记忆特定信息的能力。

类似地,事实知识与 LLM 大模型的推理能力是分开的,并且可以保存在可轻松访问和更新的外部知识源中:

  • 参数化知识:在训练期间学习到的知识,以隐含的方式储存在神经网络权重之中。

  • 非参数化知识:储存于外部知识源,比如向量数据库。

10b9b1ced91fdae682b359836abce26f.png

上图检索增强生成(RAG)的工作流程如下所示:

1、检索(Retrieval):将用户查询用于检索外部知识源中的相关上下文。为此,要使用一个嵌入模型将该用户查询嵌入到同一个向量空间中,使其作为该向量数据库中的附加上下文。这样一来,就可以执行相似性搜索,并返回该向量数据库中与用户查询最接近的 k 个数据对象。

2、增强(Augmented):然后将用户查询和检索到的附加上下文填充到一个 prompt 模板中。

3、生成(Generation):最后,将经过检索增强的 prompt 馈送给 LLM。

第二:微调(Fine-tuning) 实现方式

通过微调模型,可以让神经网络适应特定领域的或专有的信息。

c1e058224c413d0835813634688d53bc.png

微调技术按照参数量不同,分为全参数微调和局部参数微调,由于全参数微调周期比较长,微调成本和一次预训练成本差别不大,因此全参数微调在实际企业级生产环境中基本不使用,更有效的微调方式是少参数量微调,比如:基于 LoRA、Prompt tuning、Prefix tuning、Adapter、LLaMA-adapter、P-Tuning V2 等微调技术。

基于 LoRA 可以高效进行微调,通过把微调参数量减少为万分之一,达成同样的微调效果。

342db416c94f7b7d0dff2de6b9b4f2dd.png

微调技术是有效的,但其需要密集的计算,成本高,还需要技术专家的支持,因此需要对微调技术有一定的认知和掌握,才能做好微调。

2

免费超干货大模型微调技术实战直播

为了帮助同学们掌握好 LLM 大模型微调技术架构和应用案例实战,今晚20点,我会开一场直播和同学们深度聊聊 LLM 大模型高效微调技术架构、高效微调案例实战、 基于 Transformen 架构的高效微调核心技术请同学点击下方按钮预约直播,咱们今晚20点不见不散哦~~

近期直播:大模型Transformer架构剖析以及微调应用实践

 3

关于《LLM 大模型技术知识图谱和学习路线

最近很多同学在后台留言:“玄姐,大模型技术的知识图谱有没?”、“大模型技术有学习路线吗?”

我们倾心整理了大模型技术的知识图谱《最全大模型技术知识图谱》和学习路线《最佳大模型技术学习路线》快去领取吧!

LLM 大模型技术体系的确是相对比较复杂的,如何构建一条清晰的学习路径对每一个 IT 同学都是非常重要的,我们梳理了下 LLM 大模型的知识图谱,主要包括12项核心技能:大模型内核架构、大模型开发API、开发框架、向量数据库、AI 编程、AI Agent、缓存、算力、RAG、大模型微调、大模型预训练、LLMOps 等12项核心技能。

7ac0191dcde54de019465f5da26500fa.png

为了帮助每一个程序员掌握以上12项核心技能,我们准备了一系列免费直播干货扫码一键免费全部预约领取

ede68b0df8f17236acaad1d8bd45fea3.png

END

### 使用链式思维(CoT)方法对大型模型进行微调 在机器学习领域,特别是自然语言处理(NLP),链式思维(Chain-of-Thought, CoT)是一种有效的策略来增强预训练模型的能力。当涉及到对大型模型如LLaMA进行微调时,CoT方法通过引入逐步推理过程,使模型能够更有效地理解复杂指令并执行多步逻辑操作。 对于采用CoT方式进行微调的具体实践,可以参考斯坦福大学的研究人员是如何利用这一技术改进LLaMA模型的性能[^2]。研究人员收集了大约52K条指令数据集,并将其输入到`text-davinci-003`中获取响应输出;随后使用这些生成的结果进一步调整原始LLaMA-7B参数设置。整个流程不仅提高了模型遵循指示完成任务的质量,而且成本控制得非常好——仅需不到$500用于生成所需的数据集,而实际训练开销更是低于$100。 为了实现类似的基于CoT的微调方案: ```python from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "decapoda-research/llama-7b-hf" tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_prepared() def prepare_data_for_cot_finetuning(instruction_dataset_path): # 加载指令数据集 with open(instruction_dataset_path, 'r') as file: lines = file.readlines() prepared_instructions = [] for line in lines: instruction = json.loads(line.strip()) # 构建带有提示模板的问题表述形式 prompt_template = f"Question: {instruction['input']}\nAnswer:" tokenized_input = tokenizer(prompt_template, return_tensors="pt") generated_output = model.generate(**tokenized_input) decoded_answer = tokenizer.decode(generated_output[0], skip_special_tokens=True) formatted_entry = {"prompt": prompt_template, "answer": decoded_answer} prepared_instructions.append(formatted_entry) return prepared_instructions prepared_data = prepare_data_for_cot_finetuning('path_to_instruction_set.jsonl') ``` 上述代码片段展示了如何准备适用于CoT微调的数据集。这里假设有一个JSON Lines格式文件作为源材料,其中每行代表一条独立的任务描述或问题。程序读取该文件中的每一项内容,构建合适的上下文环境(即问题),并通过当前未经过优化的大规模语言模型获得初步解答。最终得到的是一个由精心设计过的问答配对组成的列表,可用于后续阶段的实际参数更新工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值