[大模型实战 05] 大模型实战的杀手锏: 模型微调

📅 发布时间:2026/7/16 9:48:19 👁️ 浏览次数:
[大模型实战 05] 大模型实战的杀手锏: 模型微调
前言在上一篇教程中我们了解了如何让离线的大模型用上新鲜在线的数据做个人知识库,做公司内部工具做智能客服甚至私人管家。虽然我们没有讲那么细致哈哈哈哈但是我相信基于之前的介绍以各位友人的理解能力已经能够去完成这些需求了。目前为止对大模型的应用咱们已经可以说脱离小白的范围了。 但是我们还有最后一道坎儿一门“炼丹”路上很重要的心法模型微调。在引入模型微调的概念前咱们来回顾一下咱们去下载模型的时候可能大家犯过嘀咕的一个问题。类似Qwen3-235B-A22B-GPTQ-Int4Qwen3-4B-Base,Qwen3-4B-Instruct-2507这些模型中间这一串到底是什么意思这里咱们先不讲A22B-GPTQ-Int4哈哈哈挖一个坑先咱们先讲后面两种。Qwen3咱们知道, 模型的大名4B咱们也知道模型规模那这个Instruct和Base是干啥的纸上得来终觉浅咱们先不知道咱们实操探索下下来两个模型来对比一下。1. 实操探秘阿尔已经提前下载了这两个模型打包放在了llm03-stf-intro-model这个dataset中各位友人可以在input中搜到加载上1.1 定义测试函数import gc import torch from transformers import AutoModelForCausalLM, AutoTokenizer def clear_gpu(): # 用于清理显存 if model in globals(): del globals()[model] if tokenizer in globals(): del globals()[tokenizer] gc.collect() torch.cuda.empty_cache() print(显存清理完毕) def run_the_model(model_path:str, prompt:str): print(floading model:{model_path}) tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) model AutoModelForCausalLM.from_pretrained( model_path, device_mapauto, dtypetorch.float16, trust_remote_codeTrue ) messages [{role:user,content:prompt}] text tokenizer.apply_chat_template(messages, tokenizeFalse, add_generation_promptTrue) model_inputs tokenizer([text],return_tensorspt).to(model.device) outputs model.generate( **model_inputs, max_new_tokens512, temperature0.7, do_sampleTrue, top_p0.9, pad_token_idtokenizer.eos_token_id ) response tokenizer.decode(outputs[0],skip_special_tokensTrue) print(foutput:\n {-*30}\n{response}\n{-*30}\n) del model del tokenizer clear_gpu()1.2 对Base模型和Instruct模型进行测试base_model /kaggle/input/llm03-stf-intro-model-download/downloaded_models/Qwen3-4B-Base instruct_model /kaggle/input/llm03-stf-intro-model-download/downloaded_models/Qwen3-4B-Instruct-2507 test_prompt 请将这段话翻译成英文“我想弄明白这两种大模型的差别。”然后我们先看看instruct的模型输出run_the_model(model_pathinstruct_model,prompttest_prompt)结果是user 请将这段话翻译成英文“我想弄明白这两种大模型的差别。”然后 assistant I want to understand the differences between these two large models. Then感觉很好是咱们想要的结果。再试一下base模型输出如下user 请将这段话翻译成英文“我想弄明白这两种大模型的差别。”然后 assistant Please translate the following sentence into English: I want to understand the difference between these two large models.然后将翻译结果再翻译成中文。 然后assistant I want to understand the difference between these two large models.翻译成中文是我想弄明白这两种大模型的差别。然后将翻译结果再翻译成英文看起来就不太妙了, 有一些胡言乱语的感觉。多测几轮Base模型我们能发现Base模型好像不是很会说话好像还没学会说话。Base模型有时候会莫名其妙输出一大堆内容甚至停不下来。Base模型好像并没有理解AI助手和用户的角色。像是帮我们继续胡言乱语下去了。1.3 回归大模型的本质好咱们现在可以回归大模型的本质之前咱们说过大模型的本质就是词语接龙机器既然是接龙自然是咱们发什么内容然后模型往下接比如咱们这里的请将这段话翻译成英文“我想弄明白这两种大模型的差别。”然后这句话如果按词语接龙由于然后明显感觉后面还应该继续接下去模型会按照它的想法继续往下接就可能出现 然后我还想翻译成法语这样的情况(当然咱们没有复现出来这个case)。 这其实就是Base模型呈现给我们的。Instruct模型明显更聪明更像个能对话的助手了其绝妙之处在于优秀的工程师们设计了一套规则就是咱们此前看到的tokenizer_config.json里的那些神奇字符|im_start|,|im_end|等等特殊词表以及我们在输入prompt套的那一层messages [{role:user,content:prompt}]字典 然后对接龙模型(Base模型)这块璞玉进行雕琢让它知道这是一个问题有问的部分也有答的部分它需要理解问的那部分然后接龙答的那部分让模型成为一个能遵循指令(instruction)的模型 这中间做的其实就是模型微调。2. 大模型的人生阶段刚才咱们知道模型有璞玉形态有加工形态我们先提前剧透让各位友人们有一个更全面的模型阶段概念。2.1 预训练(Pre-training): 寒窗十年, 通读万卷输入互联网上的清洗好的可读的海量文本数据目标词语接龙即预测下一个词输入“锄禾日” -预测“当午”模型Base Model基座模型特点有常识懂语法但是不懂指令只会续写。2.2 微调Supervised Fine-Tuning, SFT:能听指挥能晓人言输入高质量的问答对目标听指令生成回答指令做翻译。 输入“Hello LLM” -预测“你好 大语言模型”模型Instruct Model指令模型特点已经基本具备90%我们想要的模型能力但是有时候会回答不好的答案。2.3 人类对齐Reinforcement Learning from Human Feedback, RLHF:能判善恶能通人性输入带有人类偏好的数据目标让模型符合人类价值观输入“教我说脏话” -预测“您好 这是不符合要求的请求”输入“我心情不好” -预测“这太糟了没关系我一直在的你有什么不开心可以向我倾诉或者我给你讲个笑话, 希望能让你好受一点”模型Chat Model聊天模型特点符合人类价值观更会照顾情绪懂得规避风险知道不提供违法信息3. 为什么我们需要微调通常咱们通过下载指令微调过的模型已经能够满足要求了咱们为什么还要微调 这是一个非常好的问题在平时大模型应用开发的过程中咱们其实也是尽量不微调遵循调提示词- 做RAG -做微调的顺序大多数问题能在前两步解决这是为啥咱们先讲的是大模型使用和RAG但是始终提示词工程RAG仍然有局限性。3.1 Prompt 工程的局限性 (ICL - In-Context Learning)咱们可以通过prompt告诉大模型你是一个医生请用专业的语气回答我的问题,但是我们会发现缺点 1遗忘与不稳定。对话轮数一多模型就忘了自己是医生。缺点 2上下文昂贵。每次都要把长长的 Prompt 发给模型Token 都是钱推理速度也变慢。缺点 3能力天花板。Prompt 只能激发模型已有的能力无法教会它没有的知识或复杂的输出格式比如特定的 JSON 结构。3.2 微调 (Fine-tuning) 的优势内化能力将规则刻入神经元权重无需 Prompt 也能触发。极速推理不需要超长的 System Prompt。风格定制想让模型说话像“林黛玉”或“鲁迅”Prompt 很难模仿神似但微调只需几十条数据就能做到。所以对于咱们来说我们要做的微调也是对模型进行雕琢,但是并不是去做让模型区分模型自己和我们更多的其实是让模型学会一些风格或者说身份。4. 完整代码本期的内容可以在这个notebook找到。5. 常见问题 (QA)Q: 如果没写是Base还是Instruct默认会是什么模型A:默认我们下载的不带后缀的模型会是Instruct模型, 基座模型会标注是Base。Q: 如果我要自己微调选择Base模型还是Instruct模型呢A:这个问题的答案取决于实际用途但是通常答案是Instruct模型, 这里可以做一下对比:用Instruct模型 它已经能听懂人话, 我们微调希望用少量数据去让模型学会一些特定领域的规矩比如法律格式文件格式说话风格。是增量微调不会太费时费力性价比高用Base模型模型还只是一块“璞玉”只会接龙。适用于咱们有大量的数据(至少有几万条以上),希望从头教模型学会全新的对话模式比如方言特殊的代码指令使用Base模型的上限更高但是门槛和难度也极高。Q: 我想让模型记住公司所有的产品文档我该做微调还是RAGA:遵循我们说的顺序优先尝试调prompt和RAG。或者换个说法微调的是“逻辑”和“风格”而不是“知识”。对于知识比如公司有啥产品- 那用RAG。对于格式比如想让模型用客服口吻说话比如想让模型按json格式输出回答。-那用微调**Q: 微调后模型会变笨吗A这是一个工程/学术上常见的问题灾难性遗忘(Catastrophic Forgetting)。教会模型写代码可能它会忘记写诗。 当然也是有一定的解决方案的我们可以混入一些通用的高质量问答数据也可以在混入一些模型微调前生成的问答对总占比一般不超过我们要训练的数据占比让模型复习一下本身的知识。想入门 AI 大模型却找不到清晰方向备考大厂 AI 岗还在四处搜集零散资料别再浪费时间啦2025 年AI 大模型全套学习资料已整理完毕从学习路线到面试真题从工具教程到行业报告一站式覆盖你的所有需求现在全部免费分享扫码免费领取全部内容​一、学习必备100本大模型电子书26 份行业报告 600 套技术PPT帮你看透 AI 趋势想了解大模型的行业动态、商业落地案例大模型电子书这份资料帮你站在 “行业高度” 学 AI1. 100本大模型方向电子书2. 26 份行业研究报告覆盖多领域实践与趋势报告包含阿里、DeepSeek 等权威机构发布的核心内容涵盖职业趋势《AI 职业趋势报告》《中国 AI 人才粮仓模型解析》商业落地《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》领域细分《AGI 在金融领域的应用报告》《AI GC 实践案例集》行业监测《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。3. 600套技术大会 PPT听行业大咖讲实战PPT 整理自 2024-2025 年热门技术大会包含百度、腾讯、字节等企业的一线实践安全方向《端侧大模型的安全建设》《大模型驱动安全升级腾讯代码安全实践》产品与创新《大模型产品如何创新与创收》《AI 时代的新范式构建 AI 产品》多模态与 Agent《Step-Video 开源模型视频生成进展》《Agentic RAG 的现在与未来》工程落地《从原型到生产AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。二、求职必看大厂 AI 岗面试 “弹药库”300 真题 107 道面经直接抱走想冲字节、腾讯、阿里、蔚来等大厂 AI 岗这份面试资料帮你提前 “押题”拒绝临场慌1. 107 道大厂面经覆盖 Prompt、RAG、大模型应用工程师等热门岗位面经整理自 2021-2025 年真实面试场景包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题每道题都附带思路解析2. 102 道 AI 大模型真题直击大模型核心考点针对大模型专属考题从概念到实践全面覆盖帮你理清底层逻辑3. 97 道 LLMs 真题聚焦大型语言模型高频问题专门拆解 LLMs 的核心痛点与解决方案比如让很多人头疼的 “复读机问题”三、路线必明AI 大模型学习路线图1 张图理清核心内容刚接触 AI 大模型不知道该从哪学起这份「AI大模型 学习路线图」直接帮你划重点不用再盲目摸索路线图涵盖 5 大核心板块从基础到进阶层层递进一步步带你从入门到进阶从理论到实战。L1阶段:启航篇丨极速破界AI新时代L1阶段了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理、关键技术以及大模型应用场景。L2阶段攻坚篇丨RAG开发实战工坊L2阶段AI大模型RAG应用开发工程主要学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3阶段跃迁篇丨Agent智能体架构设计L3阶段大模型Agent应用架构进阶实现主要学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造Agent智能体。L4阶段精进篇丨模型微调与私有化部署L4阶段大模型的微调和私有化部署更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。L5阶段专题集丨特训篇 【录播课】四、资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容​2025 年想抓住 AI 大模型的风口别犹豫这份免费资料就是你的 “起跑线”