模型迁移这十年变化大到有点反常识。2015年我还在为一个只有几千张图片的小任务发愁当时的常规操作是从某个在大规模图像数据集上训练好的网络里抠出一层特征再训练一个浅层分类器这已经是圈内公认的“高端玩法”到了2025年同样一个业务问题我会先问自己是选提示工程配一个检索库做低秩适配还是干脆蒸馏一个端侧小模型。这个差异不只是工具变多了而是“迁移”这个词本身的内涵发生了根本变化——它从一项需要专门技术栈支撑的算法工程变成了几乎每个AI应用都在做的事。这篇文章想把2015到2025年这段演进拆开来看。不是说空泛地讲历史而是以四个阶段的实际工程视角讲清楚每个时期主流的迁移方式是什么、为什么会出现那种方式、最容易被忽略的问题在哪里。适合正在做AI落地的人读也适合想搞清楚“为什么现在大家都在聊提示词和检索”的学习者。就算你现在一个深度模型都没训过顺着这条时间线走一遍也能明白这一行的底层玩法到底是怎么换代的。1. 从“加载预训练权重”到“模型成为商品”十年变化的本质1.1 2015年的“模型迁移”和今天的理解差在哪如果你翻看2015年前后的技术博客会发现“迁移学习”这个词在当时的含义非常具体你有一个源域一个目标域两个域的数据分布不一样但上有某种关联你想把在源域上学到的知识用到目标域上。典型例子是用自然图像训练的模型去处理医学影像或者用一个语料充足的领域去辅助一个标注稀少的新领域。学术圈里的主流讨论是域自适应、多任务学习、特征对齐这些东西。但在工程一线大多数人所理解的“迁移”要朴素得多——下载一个在大型图像分类数据集上训练好的深度网络去掉最后的分类层把倒数第二层的输出当作特征拿去训练一个逻辑回归或者SVM。这个操作在当时被叫做“用预训练模型提特征”。你不需要理解源域和目标域的数学定义你只需要知道一件事直接用这个特征比你在小数据上从头训练一个深层网络效果好得多。为什么效果更好因为那个预训练模型的中间层已经把“边缘→纹理→部件→物体”这种视觉层级结构编码进去了。你在小数据上学不到这种通用结构但别人在大数据上已经帮你学完了。这就好比一个刚从培训班出来的新人和他那个在大厂做了五年、见过无数项目的老师傅面对一个陌生需求时前者只能凭直觉瞎试后者能直接挑出该用的套路。你让他俩同时上手一个小任务区别是肉眼可见的。1.2 为什么这个时间跨度值得单独梳理2015到2025这十年恰好覆盖了深度学习从“在视觉任务上刚刚证明自己”到“几乎包揽所有模态理解”的完整周期。2015年前后大家还在认真讨论要用什么样的网络结构、多大的数据集、多少块GPU才能在一个新任务上取得好结果2025年一个只有一块消费级显卡的个人开发者也能用开源基座模型做出一个相当可用的业务原型。把时间线拉开来看这中间的每一次“迁移方式”改变背后都对应着一次底层能力供给的变化。我倾向于把这段历史分成四个阶段2015到2017特征搬运为主预训练网络被当作“特征仓库”2018到2020预训练加微调成为标准动作表示学习全面接管2021到2023大模型的提示能力与参数高效微调并行迁移变成“编排”2024到2025多模态底座与Agent化迁移发生在任务运行和知识注入层面。这四个阶段之间不是简单的替代关系。后一种方式出现并不意味着前一种方式消失。直到今天在某些数据量极小、任务边界清晰的场景里“提取特征训练浅层模型”依然是可行方案。关键区别在于每个阶段的默认起点和成本约束完全不同了。1.3 贯穿十年的主线迁移成本在持续下降把四个阶段连起来看能看到一条清晰的主线完成一次有效迁移所需要的成本从“重新训练一个可用模型”一路降到了“写一段合适的提示词”。成本包含很多维度。早期是数据标注成本后来是GPU训练成本再后来是存储和推理成本。每一次迁移方式的迭代本质都是把某种成本从“不可接受”压到“可以接受”。2018年之前想要让一个模型在特定领域表现好你必须拥有足够多的目标域标注数据2023年之后某些任务只需要十几个示例就能在提示层面完成适配。这种变化不是修修补补而是整个技术栈的重心发生了位移。理解这条主线之后再看具体的技术细节就不会迷路。接下来按时间顺序逐个阶段拆开来看。2. 2015–2017把预训练网络当“特征仓库”2.1 为什么突然可以“拿来即用”了2012年深度卷积网络在大规模图像分类上取得突破之后视觉领域的整体气氛是“结构越来越深、数据越来越大、效果越来越好”。但真正让迁移这件小事变得可操作的是2014到2015年出现的那批更深、更稳的卷积结构以及配套的训练经验。这批网络的中间层特征有一个很重要的性质它们的通用性相当高。无论你输入的是猫、狗、汽车还是家具网络的前几层学到的都是边缘、纹理、颜色块这类低层视觉元素这些元素几乎适用于所有图像任务只有靠近末端的高层特征才会明显偏向训练数据本身的类别分布。这给了工程师一个操作空间我可以把网络的前面一大截当作一个“通用特征提取器”先用起来只在尾部训练一个适配当前任务的分类层。实际操作大概是这样你拿一个训练好的模型去掉它最后的全连接分类头把前一层输出的向量保存下来。这一步做完一张图片就变成了一个几千维的向量。然后在这个向量上训练逻辑回归或者SVM就完成了一次典型的“迁移”。整个过程不需要重新训练卷积层连梯度反传都不需要所以对硬件的要求低得多一台普通工作站就能跑。后来大家发现直接把中间层特征保存成文件再训练虽然算起来省事但灵活性不够。因为当你想尝试不同的中间层、不同的输入预处理方式时就要重新跑一遍所有图片的前向计算磁盘占用也不小。所以更多人开始在深度学习框架里直接写“冻结底层、训练顶层”的脚本把前面若干层设置为不可更新只让最后一层分类头参与训练。这就是后来所有人都在说的“微调”的雏形。2.2 冻结还是微调工程师的经典抉择在2015到2017年那段时间圈内争论最多的一个问题是把预训练网络拿来之后是只训练分类头还是让网络的所有层都跟着继续更新这其实是一个典型的偏差方差权衡问题。如果你的目标域数据足够多多到可以支持全网络继续训练那么让高层特征朝目标域偏移通常是有利的这就是“全量微调”但如果你的数据很少全量微调很容易把预训练网络里那些宝贵的通用特征“冲掉”。打个比方你花五年积累的工作习惯是好的但到了新单位只待了两天就把原来的习惯全部推翻重学一套新规则——大概率会学歪。比较稳妥的做法是分情况处理。目标域和源域视觉差异大比如从自然图像换到医学影像就多放开一些层参与微调差异小比如都是从自然图像里分不同类别就只训练分类头或者微调最后几层。样本量也是一个维度我当时常用的经验值是一万样本以下尽量只微调末尾五万以上再考虑全量微调。还有一个细节在当年经常被人忽略批量归一化层的行为。批量归一化在训练阶段会用到当前批次样本的统计量推理阶段则使用训练期间累积的全局统计量。如果你冻结了某些层但没有正确设置归一化层的运行状态训练和推理时的统计量就对不上结果就是你在验证集上测出来效果不错一上线就崩。这个问题直到今天都还有人踩特别在做跨域迁移的时候。2.3 “域差距”压倒了“模型结构”那三年里最大的拦路虎其实不是网络结构不够深也不是GPU不够多而是“源域和目标域之间那道看不见的差距”。举个例子你用自然图像预训练模型去提取医学影像的特征前几层的边缘纹理特征照常有效但到高层模型关注的语义概念和医学影像里的语义概念完全不是一回事。即便你硬把它们映射到同一个特征空间靠一层浅层分类器也很难划分清楚。这也是为什么当年学术圈里大量研究都集中在“域自适应”上想办法在特征空间里把源域和目标域的距离拉近一些不管是用最大均值差异这种统计量来约束还是用一个额外的判别网络来逼着特征分布对齐。站在今天回看这个阶段的迁移方式虽然原始但它确立了一个非常重要的工程认知迁移效果好坏的判断标准不是“模型参数是否从源域复制到了目标域”而是“目标域上的真实表现是否让人满意”。这个认知在后来的每一个阶段都保留了下来。3. 2018–2020预训练微调成为标准工艺3.1 NLP最先翻篇从静态词向量到上下文表示2018年前后自然语言处理领域发生了一次影响深远的范式更替。此前几年NLP项目最常用的迁移手段是“词向量”——在大型通用文本上训练好每个词对应的向量然后把它当作下游模型的输入表示。词向量之间确实携带了一定的语义相似性比如“苹果”和“香蕉”的向量会比较靠近但它有一个致命短板同一个词在不同上下文里的含义是完全一样的。这就导致迁移的上限很低。你迁移过来的知识是“词典级别的静态语义”而不是“句子级别的理解能力”。2018年下半年开始一系列基于大规模语言模型预训练的方法陆续出现。这些方法的共同点是在超大规模、无标注的文本数据上通过“完形填空”或者“预测下一句”这类自监督任务把整个语言模型先训练一遍。这样得到的模型不再是给每个词配一个固定向量而是能够根据具体上下文动态计算词的表示。这种能力一出现NLP的迁移就彻底变样了。你不需要再针对每一个下游任务从零训练一个复杂模型而是拿一个预训练语言模型在下游任务的标注数据上做几轮微调效果就能超过之前精心设计的各种任务专属模型。更关键的突破是微调所需的目标域数据量大幅下降。过去动辄需要数万条标注数据才能训练一个像样的文本分类器现在几千条数据就能让预训练模型“适应”一个新任务。3.2 微调成了“工艺活”那些必须掌握的细节2018到2020年做NLP的人几乎人手一套“微调三板斧”的经验清单虽然这些经验在今天已经被自动化工具消化得差不多了但底层逻辑仍然值得理解。第一是学习率的设置。微调预训练模型时学习率通常要比从零训练小一个量级以上常见区间在2e-5到5e-5。因为预训练模型已经在一个很大的空间里找到一个不错的局部最优区域你只是想让它在目标域上略微偏移而不是把它一脚踢出原来的盆地。学习率过大的结果很快就能看到训练集损失下降得飞快验证集却一路恶化这是典型的灾难性遗忘。第二是warmup。微调开始的前几千步先用一个很小的学习率让模型“预热”再稳步升到目标学习率。这个做法的直觉是预训练模型对目标域的“语气”还不太适应刚接触新数据时梯度方向往往不太可靠如果一上来就大步走模型可能被早期几个噪声较大的batch带偏。warmup相当于先小步试探步子稳了再正常走。第三是层解冻策略。全量微调固然上限高但很多团队在资源和数据都不够的情况下会选择冻结大部分底层网络只微调靠近输出端的最后几层。底层网络在预训练时已经学到了充分的语法和语义基础能力这些能力在不同任务之间是通用的顶层网络则更接近任务特定的决策边界需要更多的任务适配。这种“底层共享、顶层分化”的思想后来在参数高效微调方法中又被捡起来发扬光大。3.3 CV的追赶无标注预训练打破标注壁垒NLP这边靠自监督预训练把迁移玩得风生水起视觉领域自然不甘落后。但在2019年之前视觉预训练基本还是绑定在带标签的大型图像数据集上。也就是说你想得到一个强预训练模型就得先有一个巨大的标注数据集而标注本身就是一笔昂贵开销。2020年前后对比学习这类自监督方法带来了转折。它的核心思路非常简洁同一张图片做两次不同增强比如裁剪、旋转、色彩抖动得到两个不同的视图模型的训练目标是让这两个视图的表示尽量相似同时让不同图片的表示尽量疏远。整个训练过程完全不需要人工标签。这个突破对迁移的直接影响是视觉模型也可以从无标注的海量图片里获得通用表示能力并且在下游任务上微调后效果不输给有监督预训练模型。过去那种“你先得有千万级标注数据做预训练才能把模型迁到小任务上”的门槛被拆掉了。自监督预训练成了视觉迁移的新底座。3.4 这场范式的底层逻辑表示学习的胜利从2018到2020年迁移能够全面开花底层原因就一句话迁移的对象从“特征答案”变成了“表示方式”。2015到2017年你迁移的是网络某层的输出特征相当于把别人做好的“半成品”拿过来直接盖楼2018到2020年你迁移的是一套能对任意输入生成良好表示的机制相当于把别人掌握的“语言表达能力”学了过来再到新任务上重新组织。正因如此迁移的适用范围变得更广了。一个在通用文本上预训练的语言模型可以迁到法律文书、医疗记录、客服对话等完全不同的垂直领域一个用自然图像自监督训练过的视觉模型也可以迁到卫星影像、工业质检、街景理解等场景。表示质量越高下游适配需要的数据和算力就越少。但这场范式也埋下了两个隐患在下一阶段集中爆发。第一全量微调的成本会随模型规模一起膨胀第二模型参数本身所承载的知识开始变得难以与具体任务一一对应。这两个隐患成了2021年之后技术演进的主要推动力。4. 2021–2023提示、检索、低秩适配——迁移从“训练”走向“编排”4.1 大模型的少样本能力改变了迁移的“入口”2020年到2022年间大规模语言模型的能力曲线让人不得不重新思考一个问题既然把任务描述清楚、再给几个示例模型就能照做那“迁移”是不是就不需要那么多训练了这确实是个有颠覆意味的变化。2018到2020年的标准做法是微调哪怕你已经有一个很强的预训练基座也仍然要在下游任务上做反向传播更新参数。但大规模语言模型展示出的“上下文学习”能力允许你通过提示词来指定任务规则、通过示例来示范输出格式完全不动模型参数就完成一次任务适配。这在实际项目里很快就体现出了价值。比如要做一篇长文档的摘要传统办法需要准备几千条“原文-摘要”的训练数据训练一个专门的摘要模型到了大模型时代你可以直接告诉模型“你是一个擅长技术文档摘要的助手请按照以下结构输出”在提示词里给出三五个例子调一次就能达到相当可用的水平。当然“不动参数就能迁移”不等于“所有任务都能这么干”。模型规模越大少样本能力越强模型规模不足提示方法的效果就明显打折。而且单纯靠提示词实现的任务适配在面对高度专业、格式要求严格的场景时仍然容易出现不稳定输出。所以在实际工程中提示常常只是第一步不是全部。4.2 参数高效微调为什么在那两年集中爆发大模型时代全量微调遇到了一个很现实的问题模型已经有几十亿甚至上千亿的参数如果每个任务都微调一份全量权重光是存储开销就让绝大多数团队承受不起。更麻烦的是多个任务的微调权重之间互相干扰你很难在一个基座模型上同时服务十个业务场景。参数高效微调方法就是在这样的背景下被推到了前台。它们共同的思想是冻结基座模型的所有参数只训练一小部分“附加参数”用它来记录目标任务特有的适配信息。比较典型的做法有两类。一类是适配器模块在Transformer的某个层之间插入一个小型的前馈网络训练时只更新这些新增的小模块推理时把它和主干模型拼起来一起用。另一类是低秩适配假设“模型权重在适配任务时的变化量”是低秩的就可以把要学习的增量分解成两个小的低秩矩阵训练时基座参与前向计算但不再更新只有那两个小矩阵在更新。最后保存的往往只有几百MB甚至更小。这个方案的工程价值非常大。同一个基座模型可以同时挂好几个领域的适配器业务需要哪个领域就加载哪个适配器切换成本几乎为零。它把“每个领域一个完整模型”变成了“每个领域一个轻量插件”本质上是用极小的存储代价获得了和全量微调接近的效果。需要泼一盆冷水的是参数高效微调并不是万能的。如果目标任务和基座模型原本的能力差距太大比如基座在代码方面很弱而你的任务是生成特定语法风格的专业代码那么轻量适配的收益就会明显低于全量微调。任何迁移方案在选择时都要先做小规模对比而不是看别人说好就无脑用。4.3 检索增强让“知识迁移”独立于“参数”2021年到2023年“迁移”这个词又扩展出了一个新的面向既然模型参数里存储的知识有截止时间、也可能包含事实错误那能不能在推理的时候从外部知识库里临时“搬”一段相关知识进来这个思路就是检索增强生成RAG。做法并不复杂把私有文档切块、向量化、建索引用户提问时先在知识库里召回最相关的若干片段再把“用户问题检索片段”打包塞给语言模型让它基于这些片段作答。模型本身的参数没有变化但它的回答范围已经被外部知识库“框住”了。这种迁移方式带来的价值非常直接。企业内部的知识库随时在更新如果每一次知识更新都要重新微调模型成本和时效都跟不上而检索库更新只需要重新索引新增文档几分钟就能完成。更重要的是它可以让模型在回答时给出“依据”用户能回溯到具体文档这在很多行业场景里是硬性要求。当然RAG也把风险前移了你说出去的话准不准很大程度取决于检索到的资料准不准。经常出现的情况是问答系统单独测模型时效果很好接上检索库之后被几篇低质量的过期文档带偏回答反而变差了。所以在工程上检索质量评估和知识库治理往往比模型调优更值得花时间。4.4 这一阶段迁移的重心从“模型训练”转向“方案规划”总结2021到2023年的变化最贴切的一个词是“编排”。做一次迁移不再等于跑一轮训练脚本而是要做一系列选择选一个合适的基座模型看它的规模、上下文长度、支持语言和工具调用能力决定任务适配方式是用提示词直接约束还是需要参数高效微调判断是否需要接入外部知识库以及知识库的切分和检索策略怎么设计搭一套评测集用来对比不同迁移方案的实际效果。这个决策链路的复杂度比前两个阶段高了不止一个量级。但高复杂度也有对应回报迁移不再是一件“要么花大钱训练、要么凑合用”的事而是可以根据数据量、预算、延迟要求灵活选择从轻到重的适配方案。5. 2024–2025多模态、Agent与“知识注入”的新范式5.1 多模态底座接管了一部分“跨域”问题进入2024年之后视觉语言模型逐渐成为新的默认选项。这类模型能同时理解图像和文本输入你给它一张图纸、一张产品照片、一段自然语言问题它能直接输出答案。过去那种“先别急着处理图像任务我们要先考虑图像特征迁移”的思路在很多场景里被一步到位的多模态理解取代了。这对迁移的影响是结构性的。以前做工业视觉质检一个典型的流程是用自然图像预训练模型提特征再针对疵点样本训练检测头中间还要处理光照、角度、纹理差异这些域适应问题。现在很多视觉语言模型已经内置了很强的通用视觉理解能力你可以在提示词里交代“这是某种工业产品表面图像请关注以下几类缺陷”模型也能直接输出判断。但这里必须强调一个边界模型“能看到”图像不等于它“懂得”你所在领域的专业知识。医学影像里的罕见病变、工业场景中的特殊缺陷模式这些信息在模型的通用训练数据里可能只出现过很少的次数单靠通用能力去处理出错概率依然不低。所以多模态底座真正吃掉的是“通用视觉理解”这一层领域专业知识的注入仍然要靠微调、检索或规则兜底来完成。5.2 Agent与RAG迁移发生在“任务运行时”2024到2025年最值得关注的一个趋势是把模型从“聊天机器人”升级为“任务执行器”。在这种被称为Agent的架构里模型可以通过一个循环不断接收任务、调用工具、观察结果、调整下一步策略直到完成目标。这带来的迁移方式变化非常微妙。过去你想让模型适配一个业务流程通常要训练或微调它的参数让它“记住”业务规则Agent架构则允许你把业务规则外置写成一套提示词和工具描述让模型在运行时按这套规则行事。比如把客户表单、库存系统、订单系统分别封装成几个API工具Agent拿到用户请求后自己决定调用哪个工具、怎么解析返回值。模型权重没有变但对这个业务场景而言它已经完成了一次“运行时迁移”。这种迁移方式尤其适合流程复杂、规则经常调整的场景——你可以只改提示词和工具定义不改模型本身。不过Agent化也把风险放大了。工具的调用准确性、多轮对话中的记忆一致性、遇到意外输入时的恢复能力都成为新的调试重点。很多团队反馈Agent跑通Demo很快但生产环境里“工具调用偶尔出错导致整条链路失败”的问题非常棘手。应对办法通常是一套严格的兜底机制任务失败时能明确感知、自动重试、必要时切换到人工处理。5.3 蒸馏成为新一代“搬运术”2024年起知识蒸馏这个老概念在新的背景下被赋予了新生命。以前蒸馏多用于把大模型压缩成小模型减少参数数量现在最流行的做法是用一个能力很强的通用模型来生成训练数据再拿这些数据去微调一个小尺寸的模型。背后的逻辑很务实强模型推理能力好但贵、慢、不适合大规模部署弱模型便宜、快但能力不够。于是“迁移”这两个字体现出一种更直接的含义把强模型的能力通过合成数据“搬运”到弱模型身上去。具体做法包括让大模型生成一批指令和标准答案作为小模型的训练集或者让大模型给候选回答打分排序用排序结果作为奖励信号来优化小模型甚至可以让大模型抽出时间对错误的推理步骤做解释小模型拿着这些解释再学习一遍。这种“大模型出题、小模型做题、大模型批改”的循环正在成为很多团队训练端侧和边缘设备模型的标准路径。5.4 一张决策表2025年做迁移时先对号入座到了2025年迁移已有多种并行手段可选。我经常用一张表帮助自己和团队在项目开始时快速收敛方向。迁移方式适用场景主要风险成本量级提示工程任务边界清晰、规则可文字描述复杂场景输出不稳定极低检索增强私有知识、动态知识、需要来源可溯检索质量直接影响回答质量低参数高效微调任务风格或领域相对稳定、需要稳定可控输出对基座短板无能为力中全量微调领域差异大、对指标上限要求高成本高、易遗忘、维护成本大高蒸馏部署端侧或低延迟场景、需要小模型数据准备周期长、效果有损中高选择逻辑其实不复杂先看对实时性和部署位置的要求云端还是端侧再看可用的标注数据有多少最后结合预算做对比实验。不要一上来就想微调先试试提示和检索能不能解决问题也不要因为提示词效果不够好就否定所有轻量方案很多时候正是检索或示例策略没设计对。6. 十年沉淀下来的几条实用经验6.1 迁移目标变了从“拿到一个模型”到“建立一套注入知识的机制”2015年做迁移目标非常单一让目标域的模型效果好起来。到2025年做迁移目标变成了“如何让通用基座在特定业务里稳定、可信、可控地发挥作用”。前者是一次性投入后者是一个持续迭代的系统工程。我在实际项目里越来越确信一件事大部分“迁移失败”不是模型能力不够而是注入知识的环节出了问题。要么是数据没有清洗干净要么是评测集和真实场景偏差太大要么是知识库里的旧文档把模型带偏了。把“迁移”当作一套机制来建设而不是一次训练任务来执行这个心态转变是过去十年给我最大的一课。6.2 成本结构变了关注点也要跟着变早期我们精打细算的是GPU时数和标注人力2021年后开始关注推理成本和存储开销到了2025年实际项目里最常讨论的变成了数据治理、评测闭环、迭代周期和异常兜底。做技术选型的时候别再只盯着“训练一次要花多少钱”。一个看起来不贵的轻量方案如果上线后每天都出边界错误需要人肉兜底维护总成本反而会高出很多。正确做法是把迁移方案纳入整个系统的全生命周期成本里去评估。6.3 给正在规划下一个项目的你三个落地动作第一先把评测集搭起来再谈迁移。没有评测集你分不清一次调整到底是变好了还是变坏了有了评测集你才能在提示、检索、微调、蒸馏之间做出有依据的对比。第二从最轻的迁移方案开始验证。绝大多数业务问题在提示层和检索层就已经解决了大半不需要一上来就上重武器。第三基座一升级所有下游适配都可能是风险点。建议给每个业务场景都留一套回归测试脚本基座更新后跑一遍确认无损再切换。这十年技术变化快但解决实际问题的方式始终是那三板斧理解任务边界选对迁移层次建立评测闭环。老方法没有被彻底抛弃新方法也没有解决所有问题。真正让一个项目立住的永远是你对“模型能力从哪来、注入到哪里、如何核实效果”这一连串问题的回答。