# [大模型实战 05] 大模型实战的杀手锏: 模型微调
[大模型实战 05] 大模型实战的杀手锏 模型微调核心摘要 (TL;DR)实操验证通过 Kaggle 代码亲自运行对比揭示 Base 模型“续写怪”与 Instruct 模型“对话助手”的本质差异。原理揭秘图解大模型从“预训练(Pre-training)”到“指令微调(SFT)”再到“人类对齐(RLHF)”的三段进化史。决策指南RAG 负责“注知识”微调负责“塑性格”。本文将帮你彻底理清 Prompt 工程、RAG 与微调的技术边界与选型策略。前言在上一篇教程中我们了解了如何让离线的大模型用上新鲜在线的数据做个人知识库,做公司内部工具做智能客服甚至私人管家。虽然我们没有讲那么细致哈哈哈哈但是我相信基于之前的介绍以各位友人的理解能力已经能够去完成这些需求了。目前为止对大模型的应用咱们已经可以说脱离小白的范围了。 但是我们还有最后一道坎儿一门“炼丹”路上很重要的心法模型微调。在引入模型微调的概念前咱们来回顾一下咱们去下载模型的时候可能大家犯过嘀咕的一个问题。类似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 定义测试函数/* by 01130.hk - online tools website : 01130.hk/zh/txtcount.html */ 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模型进行测试/* by 01130.hk - online tools website : 01130.hk/zh/txtcount.html */ 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)。教会模型写代码可能它会忘记写诗。 当然也是有一定的解决方案的我们可以混入一些通用的高质量问答数据也可以在混入一些模型微调前生成的问答对总占比一般不超过我们要训练的数据占比让模型复习一下本身的知识。本文作者Algieba本文链接https://blog.algieba12.cn/llm05-fine-tune-model/版权声明本博客所有文章除特别声明外均采用 BY-NC-SA 许可协议。转载请注明出处

相关新闻

学霸同款 10个 AI论文网站测评:本科生毕业论文写作必备工具推荐

学霸同款 10个 AI论文网站测评:本科生毕业论文写作必备工具推荐

随着高校毕业论文写作任务的日益繁重,越来越多的本科生开始关注高效、专业的写作辅助工具。2026年的学术写作环境对效率和质量提出了更高要求,而AI技术的成熟为这一领域带来了新的可能。为了帮助广大学生更科学地选择适合自己的论文写作工具,…

2026/7/5 13:11:34 阅读更多 →
导师又让重写?千笔·专业降AI率智能体 VS 云笔AI,专科生专属降AI率网站!

导师又让重写?千笔·专业降AI率智能体 VS 云笔AI,专科生专属降AI率网站!

在AI技术迅速发展的今天,越来越多的学生开始借助AI工具辅助论文写作,以提升效率和内容质量。然而,随着学术审查标准的不断提高,AI生成内容的痕迹越来越容易被检测出来,导致论文AI率超标成为不少学生面临的棘手问题。尤…

2026/7/5 8:10:53 阅读更多 →
构建生产级 AI 服务:基于 CANN `inference-server` 的高性能推理引擎实战

构建生产级 AI 服务:基于 CANN `inference-server` 的高性能推理引擎实战

当然继续!在前六篇文章中,我们已系统性地覆盖了 CANN 开源生态的核心能力栈: 构建生产级 AI 服务:基于 CANN inference-server 的高性能推理引擎实战 cann组织链接:https://atomgit.com/cann ops-nn仓库链接&#xf…

2026/7/4 23:11:56 阅读更多 →

最新新闻

最简洁yolov8 C++配置教程

最简洁yolov8 C++配置教程

最简洁yolov8 C配置教程ubuntu22.04 安装Cuda TensorRT Cudnn Miniconda1 .Cuda TensorRT Cudnn配置步骤2. Miniconda的安装 在之前的安装完毕且成功的情况下yolov8的C使用1. github上有个大神开源了yolov8的使用,非常好用,[链接](https://github.com/tr…

2026/7/5 20:30:23 阅读更多 →
基于YOLO的计算机视觉项目实战:从数据标注到边缘部署全流程解析

基于YOLO的计算机视觉项目实战:从数据标注到边缘部署全流程解析

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 这类项目最值得关注的不是“智能麻将机器人”这个听起来很酷的标题,而是它背后完整的 计算机视觉项目从开发到落地的全流…

2026/7/5 20:28:20 阅读更多 →
如何在无网络环境下快速提取图片文字?Umi-OCR离线文字识别终极指南

如何在无网络环境下快速提取图片文字?Umi-OCR离线文字识别终极指南

如何在无网络环境下快速提取图片文字?Umi-OCR离线文字识别终极指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/7/5 20:28:20 阅读更多 →
如何让2008年的老款MacBook Pro也能流畅运行macOS Sonoma:OpenCore Legacy Patcher实战指南

如何让2008年的老款MacBook Pro也能流畅运行macOS Sonoma:OpenCore Legacy Patcher实战指南

如何让2008年的老款MacBook Pro也能流畅运行macOS Sonoma:OpenCore Legacy Patcher实战指南 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还记得…

2026/7/5 20:28:20 阅读更多 →
重塑音频创作边界:Audacity 开源音频编辑器的技术革新与实践指南

重塑音频创作边界:Audacity 开源音频编辑器的技术革新与实践指南

重塑音频创作边界:Audacity 开源音频编辑器的技术革新与实践指南 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 你是否曾为音频编辑软件的复杂操作界面和昂贵许可费用而却步?是否渴望拥有…

2026/7/5 20:26:20 阅读更多 →
3种方法解放Windows任务栏:RBTray系统托盘最小化终极指南

3种方法解放Windows任务栏:RBTray系统托盘最小化终极指南

3种方法解放Windows任务栏:RBTray系统托盘最小化终极指南 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否曾为Windows任务栏上堆积如山的窗口图标而烦恼…

2026/7/5 20:26:20 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻