从历史脉络学大模型:从word2vec到ChatGPT的完整演进
1. 为什么我决定从历史脉络开始学大模型先交代一下背景。我是在大模型被大众熟知之后才决定系统去学的一开始也想直接上手做项目结果发现教程越看越懵——一会儿说要会微调一会儿说要懂RAG一会儿又冒出个Agent。每个词单独查都能懂但连起来就不知道它们之间是什么关系也不知道为什么要在某个环节做某件事。后来我换了个思路干脆先不碰那些工具把大模型从2013年神经网络语言模型萌芽到2023年多模态与智能体爆发的整个发展过程捋一遍。这个决定被证明是效率最高的学习路径。为什么因为大模型领域的技术演进有一个很罕见的特征大多是单线推进加少数几次关键分叉每个核心概念——注意力机制、预训练、微调、对齐、涌现能力、上下文窗口、MoE——都是在具体的历史节点上为了解决某个具体问题而被提出的。你按时间线走一遍所有概念就有了因果关系而不是一堆孤立术语的堆砌。这篇笔记就是我梳理过程中的完整记录。它不是那种官方编年史式的罗列而是一个普通学习者从零开始沿着时间线把每个关键节点的来龙去脉、模型之间的关系、技术路线的分叉与合流一点点搞明白的过程。适合刚接触大模型、想要建立系统认知框架的人也适合已经会用一些工具但总觉得基础不牢、想补历史课的人。我会把每个阶段的关键模型、核心论文、技术原理和个人理解都展开讲也会说明哪些坑是我后来做项目时才意识到当初学漏了的。2. 前Transformer时代统计语言模型和神经网络怎么一步步铺垫到爆发点2.1 从n-gram到word2vec语言模型的第一场革命大模型的源头不在2017年甚至不在深度学习时代而在自然语言处理NLP刚起步时就要解决的一个最基本问题怎么让机器理解一句话里词和词的关系。早期最主流的方案是n-gram统计语言模型。它的核心思想很简单一句话的概率可以用相邻词的条件概率相乘来近似。比如我今天中午吃了牛肉面n-gram模型会看牛肉后面跟面的概率有多大。这个方法在搜索引擎、输入法里效果还行但它有两个硬伤一是数据稀疏很多合理搭配根本没在语料里出现过概率直接算成零二是完全没有语义理解它只知道某个词后面经常跟另一个词但完全不知道牛肉面和牛肉拉面语义上高度相关。2013年Mikolov等人提出了word2vec这是我认为的第一个真正意义上的转折点。它的核心贡献是分布式表示——用一堆浮点数组成的向量来表示一个词的语义语义相近的词向量在空间里也靠近。国王-男人女人女王这个经典例子就是那时传开的。word2vec用的是一个很聪明的思路先用大量文本让模型做预测任务CBOW是用上下文预测中间词Skip-gram是用中间词预测上下文预测任务本身不重要重要的是训练完之后的副产品——词向量。这个思路后来成了预训练思想的最早雏形先在一个大任务上训练把有用信息沉淀在参数里再拿去完成别的任务。2.2 RNN和LSTM的困境长距离依赖与并行之殇有了词向量接下来问题是怎么让模型理解一个句子里不同位置的词之间的相互作用当时的主流方案是循环神经网络RNN它按顺序一个词一个词地读入句子每个时刻把前一个时刻的隐状态传下来相当于用一条链子把所有词串起来。长短期记忆网络LSTM在RNN基础上加了门控机制解决了梯度消失问题让信息能传播得更远。但RNN家族有一个技术上的死穴串行计算。你想让模型看完第10个词就必然先看完第9个词没法并行训练效率极低。其次是长距离依赖仍然处理不好实际超过30个词性能就断崖下跌。我后来读代码的时候才真正理解这个痛点——GPU的威力恰恰体现在大规模并行上而RNN把并行度砍掉了等于让几百块显卡大部分时间都在摸鱼。2.3 注意力机制最初是作为补丁出现的2014年Bahdanau等人在神经机器翻译中提出注意力机制这是整条历史线里最值得注意的一次偶然。当时的机器翻译模型是seq2seq架构——一个编码器把整句话读成一个固定长度的向量解码器从这个向量生成翻译。这个设计的致命缺陷是信息瓶颈不管句子有多长最终都被压缩成一个向量长句子信息大量丢失。注意力机制的思路很朴素解码器生成每个词时不再只依赖那个唯一向量而是回到编码器的每个位置去查资料按相关性加权求和相当于生成每个词时都能动态地看一遍原文的相关部分。我当时学到这里有个很深的感触注意力机制在2014年是作为一个打补丁的方案出现的它的提出是为了解决翻译的瓶颈而不是为了取代RNN。没有哪篇论文在2014年就宣布未来一切模型都将基于注意力但三年后Transformer把注意力机制从配角变成了唯一主角。3. Transformer之后的双线演进GPT和BERT走出的两条路3.1 《Attention Is All You Need》到底改变了什么2017年6月Google Brain发表《Attention Is All You Need》这篇论文我读了三遍每一遍都有不同的理解。第一遍以为它是一个新的架构第二遍意识到它重新定义了整个领域的问题框架第三遍才真正理解它为什么能成功。Transformer的核心是把注意力机制从辅助模块升级为唯一模块砍掉了全部RNN结构。它的设计有几个关键点自注意力序列里任意两个词直接建立联系一步到位路径长度为1彻底解决长距离依赖。多头注意力把信息空间切成多个子空间每个头关注不同维度的关系——有的头关注语法有的头关注指代有的头关注语义关联。位置编码自注意力本身不感知位置因为它是同时计算的没有顺序概念所以需要加上位置信息。并行化没有串行依赖所有词一次性算完训练效率碾压RNN。我后来做项目时才真正理解位置编码这件事有多重要。你拿Transformer算我喜欢猫它很可爱这句不带位置编码的话我和它在模型看来没有任何顺序差别指代关系完全错乱。所以位置编码不是锦上添花是整个结构成立的前提。Transformer还有一个容易被忽略的贡献它的架构天然模块化。编码器由6层后来模型用更多层相同的模块堆叠每层包含自注意力和前馈网络解码器则在中间插入一层交叉注意力。这种堆叠方式后来被大规模放大——GPT-3实际上就是把这个结构复制了96层参数量达到1750亿。3.2 预训练微调范式确立GPT和BERT的路线之争Transformer发布后不到一年学界就分裂成两条路线这也是我第一次意识到技术路线选择对行业格局的影响有多大。第一条是OpenAI的GPT路线。2018年6月GPT-1发布参数量1.17亿。它的选择是只用Transformer的解码器部分做从左到右的自回归语言建模——给定前面的词预测下一个词。这个选择意味着所有词都依赖它左边的词不能看到未来的词。第二条是Google的BERT路线。2018年10月BERT发布参数量3.4亿。它的选择是用Transformer的编码器部分做双向理解——每个词同时看到左右两边的上下文训练任务也变成了两个预测句子中被mask掉的词以及判断两个句子是否相邻。两条路线背后的哲学分歧很有意思。GPT的哲学是语言就是预测我只需要学会接下一句万事万物都可以归约成这件事BERT的哲学是语言就是理解先把每个词在语境中的意义榨干然后拿去下游任务调一调。GPT更像是全能型的通才培养BERT更像是专业基础扎实后定向就业。当时大部分研究者的判断是BERT更正确——大量榜单被BERT霸榜而GPT-1的论文影响力远不如BERT。我有段时间也这么认为后来才意识到这个判断之所以错了是因为大家用下游任务微调的表现来衡量模型却没有考虑一个关键维度当模型规模扩大到一定程度时自回归方式天然更有利于继续扩大训练。3.3 为什么最终GPT的decoder-only路线笑到最后2019年GPT-2发布参数量15亿比BERT大4倍。它在未经过微调的情况下就能生成极为连贯的文本这让很多研究者第一次意识到可能不是因为BERT更聪明而是因为GPT的路子更能吃下更多数据。到了2020年GPT-3发布1750亿参数decoder-only路线的优势就彻底压不住了。为什么decoder-only能笑到最后我在学习过程中总结了几个技术层面的原因第一训练目标的统一性。自回归语言建模无论数据规模多大永远只有一个目标函数预测下一个词。这让训练变得极其简单稳定——你不需要设计mask预测、句子配对这类辅助任务只要源源不断地喂网页文本就行。数据可以无限扩充目标函数不会变复杂。第二decoder-only更简洁。它没有编码器和解码器之间的交叉注意力没有额外的复杂度。这个区别在模型小时无所谓但当你把模型放大到几十亿几百亿参数时架构每多一个组件稳定性和显存的压力都会翻倍。工程上去掉冗余变成了一种明确优势。第三自回归天然适配零样本/少样本学习。因为模型学的是接下一句话所以从训练第一天起它的终极任务就是生成。而BERT的双向编码是为了理解真正做生成时还要另外加一个解码器相当于两套体系拼接。我个人的理解是BERT做的是阅读理解题GPT做的是无穷无尽的下一句接龙而下一句接龙这件事恰恰是所有的自然语言交互——对话、写作、翻译、摘要——共通的底层逻辑。一个能完美接下一句的模型理论上就能完成一切语言任务。所以最终是正统的语言建模路线赢了。4. 从GPT-3到ChatGPT规模法则、涌现能力与对齐技术的全面解锁4.1 GPT-3和scaling law大模型的宣言2020年5月GPT-3横空出世1750亿参数、570GB训练数据、4600亿个token人类历史上第一个能让你觉得这不是一个工具而是一个类人智能体的语言模型。GPT-3最具震撼力的不是参数规模本身而是它展现了一种全新的能力形态少样本学习few-shot learning。你不用告诉它怎么做翻译只要在输入里给出几个法语→英语的示例它就能自动学会翻译。这种能力在GPT-2里若有若无到GPT-3规模时变得极为明显。同一年OpenAI发表了一篇被业内视为大模型宣言的论文《Scaling Laws for Neural Language Models》提出了规模法则模型性能与参数量、数据集大小、计算量之间存在稳定的幂律关系在合理范围内你把三个数中的任何一个加倍模型损失都会按规律下降很难出现瓶颈。这个发现的影响是OpenAI开始极度坚定地走大算力大数据大模型的路线因为每一条scaling law曲线都在告诉你砸钱是有效且可预测的。我当时读到这个论文时最惊叹的点不是更多参数更好这个直觉而是它居然在数学上给出了精确的预测公式。这意味着团队可以提前算好要达到某个性能目标需要多少数据和计算量预算要准备多少。这是一把开启工业化造大模型的钥匙。4.2 指令微调与RLHFChatGPT真正引爆全球的临门一脚但有一个问题困扰了OpenAI很长一段时间GPT-3虽然能生成漂亮文本却不听话。你让它回答问题它可能跟你闲聊你让它翻译它可能自己编一段你让它给出简洁的答案它写了一页论文。能力很强但不可控。这就要说到2022年3月OpenAI发布的一篇关键论文——InstructGPT。论文的思路非常直接我需要把模型接下一句话这个目标转化为模型帮人类完成指令这个目标。这个转化过程叫做对齐核心是两个阶段阶段一指令微调Instruction Tuning / SFT。雇佣标注员写大量指令-正确回答对让模型学。模型在这里不是学知识而是学行为规范——原来你叫我续写现在我叫你回答问题你得按指令来。阶段二RLHF基于人类反馈的强化学习。这步更精巧让一个奖励模型学着打分评估哪个回答更符合人类偏好然后用强化学习PPO算法让主模型不断输出高分回答。相当于把人类偏好做成了一个优化目标让模型接受排练。当时我看到InstructGPT论文里一个最震撼的数据一个只有13亿参数的InstructGPT在人类评估上全面胜过了1750亿参数的GPT-3。这意味着你不需要更大的模型只需要用更好的训练方法就能让一个小得多的模型干得更好。这也直接解释了后来发布的ChatGPT为什么能引爆全球——它没有使用一个全新的、更大的底座而是把一个已有的超大模型完美地对齐到人类习惯上。ChatGPT于2022年11月30日发布两个月内MAU破亿成为人类历史上增长最快的消费级应用。这件事给我的最大启示是技术世界里有两类进步一类是能力天花板进步一类是可用性进步后者往往更容易被低估但它的引爆力常常不亚于前者。4.3 涌现能力、上下文窗口与In-Context Learning规模到了一定程度之后出现了一批小模型无论如何也出不来、只有大模型才有的能力。学界的术语叫涌现能力。几个经典的案例GPT-3在参数量达到某个阈值之前做三位数加法基本是乱猜但跨过阈值后准确率以接近跳变的方式升高思维链推理让模型一步一步思考也是在小模型上几乎无效、大模型上突然灵验。这些现象背后机械论的解释到现在还有争议但对工程实践的指导意义是确定的如果一个能力是小模型做不到的你不能靠调参把它变出来要么换更大的模型要么换训练方法。很多人在落地大模型应用时遇到的我换个小模型怎么效果差这么多根因往往就在这里。同一个时期另一样东西也在悄悄演进那就是上下文窗口。GPT-3的上下文窗口是2048个token大约1500个英文单词到GPT-4就扩展到32KChatGPT后来开放到128K约10万英文单词Google的Gemini系列做到了1M能一次读完三体三部曲。上下文窗口的意义在于它把模型要提前把所有知识塞进参数里的任务部分转化成了临场读资料的任务。这也催生了一个重要应用——RAG检索增强生成与其让模型硬记你的企业文档不如在提问时把相关文档片段拼进上下文让模型现场阅读后回答。这个思路后来成了企业落地大模型成本最低的方式。5. 开源浪潮与实用化Llama、微调生态与本地部署5.1 Llama开源引发的生态爆发在GPT-4之前顶级大模型的能力只在少数公司和学术机构手里世界上大部分团队连门都摸不到。2023年2月Meta发布LLaMA系列模型参数从7B到65B不等虽然原版论文说仅限研究使用但开源社区在几周之内就把权重和各种工具铺满了GitHub。随后Llama 2正式开放商业使用2023年年中开始一个完整的开源大模型生态在几个月内成形。Llama的深远意义不只是开源了一个模型而是它证明了顶级能力不一定只来自顶级科技公司开放社区的集体智慧和工程能力也可以快速追平甚至反超。学术社区、小公司、个人开发者都获得了顶级底座各种优化技术进入了发展快车道。与此同时国内和全球其他玩家也陆续开源了有竞争力的模型大家的技术路线开始收敛公开权重开放商用社区共建。开源生态和闭源前沿的差距从最初的18-24个月缩小到3-6个月这是过去一年里整个行业最大的结构变化。5.2 微调技术的演进从全参微调到LoRA拿到了开源底座模型如果开箱即用效果不够好怎么办这就要讲微调。微调的本质是拿更高质量的数据把模型再训练一轮让它适应你的领域。早期的主流方案是全参微调把模型在领域数据上继续训练几个epoch。这在7B模型上是可以接受的但到了70B级别全参微调的GPU需求基本是企业级算力中心量级个人开发者想都别想。2021年斯坦福的HuggingFace团队和微软等机构陆续提出、并在2022年后大热的**LoRA低秩适配**成为真正的转折点。LoRA的核心思想非常优雅训练时冻结原模型参数不动只额外训练一小部分低秩矩阵作为旁路。因为研究者发现在大模型微调中权重的变化量天然具有低秩特性你可以用特别小的参数量近似模拟全套更新。实际效果如何可训练参数量缩小到原来的0.1%-1%即70B模型微调时实际只训练约70M参数显存需求直接降了一个数量级。之后QLoRA更是把量化技术结合起来让单张24GB显卡微调70B模型成为可能。我当时实验的时候第一次体会到了这个差距用单卡微调7B模型全参微调需要80GB显存LoRA只需要24GB训练时间也缩短了将近十倍效果几乎没差别。从那以后我再也没做过全参微调。微调适用的场景也比较清楚想让模型学会特定格式输出、想注入特定领域的深度知识、想让模型学习企业内部的专属术语和规则。但如果只是想让模型回答问题时翻出某份文档里的内容微调通常不是最优解先用RAG效果不够再上微调。5.3 量化、推理加速与本地私有化部署与大模型工程化最相关的技术我单独拎出来说因为这个领域的发展速度和实用价值超出绝大多数人的预期。大模型部署的第一个门槛是显存。以70B模型为例fp16精度下光模型权重就要占140GB一块A100 80GB都不够。让模型跑起来的核心手段是量化——把权重从fp16压到int8或int4。int4量化后70B模型权重约35GB一张80GB显卡可以完整装下7B模型int4量化后仅需约4-6GB现在老款消费级显卡、甚至Apple Silicon的M系列芯片统一内存上都能跑得动。与之配套的推理工具也一路进化。llama.cpp是第一个让大模型跑在MacBook和个人电脑上的项目它的创新在于用纯C实现了多种量化格式和CPU推理优化Ollama则把本地部署做成了一条命令搞定的傻瓜式体验底层基于llama.cpp支持免费API接口可以对接各种第三方应用。在企业级场景下vLLM通过PagedAttention优化推理吞吐FastAPI风格的服务化部署是目前私有化部署的主流选择。到了这一阶段大模型的应用门槛已经降到什么程度个人开发者用一台M系列Mac或者一张24GB显卡就能本地跑一个效果不错的70B量化模型企业把私有化部署到内网数据的隐私性、可控性都有了保障。2023年被吐槽最多的上不了生产问题很大程度上已经被工程化进步所消解。6. 大模型的下一步多模态、长上下文与AI智能体6.1 多模态融合从只会写到能看懂会生成语言模型天生是纯文本的但人类的输入模态有多样性——图片、音频、视频、扫描件。让大模型理解非文本信息成了下一阶段的核心命题。2023年3月GPT-4发布首次展现了强大的多模态理解能力输入一张手绘的网页草图它能生成对应的HTML代码输入一张论文里的复杂图表它能读懂并回答问题。2023年末到2024年Google Gemini原生多模态做到底层架构统一Claude 3系列加入视觉理解能力。国内的开源模型也都快速跟进。多模态理解的核心原理不复杂可以概括为把图像切成patch编码成和文本token同质的嵌入向量序列送给语言模型当上下文。这样语言模型就可以像读文字一样读图片。视觉之外语音模态也是重点方向。GPT-4o在2024年5月发布的实时语音演示展示了端到端语音对话的潜力它不仅识别语音还能感知语气、情绪和语调的变化。对我个人来说这个方向的代表意义甚至超过视觉本身因为它意味着对话这一最自然的交互方式能够得到真正的强化。6.2 上下文工程长文本与内存的扩展如果说多模态是扩展模型的眼睛和耳朵那超长上下文就是扩展模型的工作记忆。这是一个极容易被低估的方向。早期模型的上下文只有几K token对话稍长一点就开始失忆这个失忆是因为早期内容的token被挤出窗口而不是因为模型变笨了。从2048到128K是主流模型一年内做到的事。2024年1月开源社区还出现过让模型对1M token的上下文窗口重新训练的案例2024年下半年不少前沿模型和开源模型开始支持百万级上下文。这个变化给工程带来的影响是深远的。以前需要做RAG、做知识库切分的事现在可以直接塞入全量文档让模型处理以前没法处理的代码仓库级问题现在可以喂进整个仓库让它定位Bug。尤其想提一下DeepSeek尝试过的原生稀疏注意力Native Sparse Attention类创新方向——在百万token上让注意力机制做选择性计算这个思路有可能成为长上下文最本质的解法。工程上如果上下文长度不再是瓶颈那很多现有架构会被重写。6.3 AI智能体从回答问题到自主干活再往后走一步单纯的问答对话逐步演化为智能体Agent。智能体的核心特征是能自主决策并调用外部工具完成多步任务而不只是根据给定上下文生成一段文字。大模型要完成这种能力关键技术的转变是模型不再只是一个文本生成器而是一个决策者。它需要理解自己有哪些工具比如搜索引擎、代码执行器、数据库查询接口然后决定用哪个工具、在什么时机用、拿到结果之后下一步干什么。这些技术点对应的实际工具是Function Calling函数调用和MCPModel Context Protocol模型上下文协议一个让大模型可以标准化接入各种外部服务协议。有了工具调用能力大模型就从会聊天升级成了会干活。我自己的体会是Agent的形态变化可能比底层模型本身的能力进化更值得关注。底层模型也许每年只能涨几个点的能力但Agent可以组合工具、并行执行、多轮循环解决的实际问题半年就能上一个台阶。2024年开始出现的一些实际应用案例——自动写代码跑测试修bug、自动分析数据生成报告、多Agent协作开发——已经在回答一个更重要的问题当大模型不再是玩具真正的产品形态会是什么样7. 给自学者的路线建议从入门到能干活7.1 我踩过的学习弯路这部分讲讲自学者最容易掉的几个坑。首先是教程把跳知识断层。很多AI教程直接把Transformer拿来就开讲自注意力但完全不讲为什么需要自注意力、在它之前人们用什么、遇到了什么问题。结果就是你根本记不住因为知识的钩子没挂上。我的建议是哪怕只花三天也把从word2vec到Transformer的脉络过一遍至少要知道每一步解决什么问题后面再看任何教程都会觉得顺畅很多。第二个坑是重原理轻实践。我早期有一段时间只看论文和书自认为理论功底不错结果去微调一个7B模型的时候连显存都算不明白。后来才知道大模型这个领域没有看会这回事必须亲自在GPU上跑几轮训练、试几次推理才会真正理解显存优化、量化、批处理这些概念在实践中的分量。第三个坑是追新不追底。今天跟着一个最新的论文复现一遍明天跟着一个新框架跑个demo看起来很勤奋但知识体系完全碎片化。更好的策略是将主线的知识框架建立起来之后再定期去看新进展把每次的新知识挂到已有框架上你就有了锚点。7.2 一条可执行的实践路径给你一条我验证过、也持续推荐的路径按阶段推进阶段一搭知识骨架1-2周。按这篇笔记的时间线走一遍重点搞懂几个概念预训练、微调、对齐、上下文窗口、tokenization、embedding。每个概念都去找一个实际的例子来看不求精通但求知道是什么和为什么存在。阶段二跑通推理1周。用Ollama在本地部署一个小模型建议选7B或8B级别的量化版比如Qwen系列把API接进FastGPT或Dify这类开源框架体验一下完整的模型服务应用链路。这个阶段的目标是建立大模型应用是什么感觉的体感。阶段三动手微调2-4周。用LoRA/QLoRA在自己领域的数据上微调一个7B模型。自己准备1000条高质量的指令-回答对就够起步重点不是数据量而是完整体验一遍从数据准备、训练到部署的闭环。工具上建议先用HuggingFace的transformers/peft库理解每一步在干什么。阶段四做完整项目持续。尝试做一个完整的应用例如基于RAG的企业知识库问答、带Function Calling的客服机器人、或多Agent协作的自动报告系统。这个阶段的重点是你自己定义需求、自己做评估、自己发现问题再迭代修复。做项目时如果遇到效果不满意的困惑再回头补微调或换模型的理论效率和针对性远超盲目刷教程。7.3 关于免费API与本地部署我的实际取舍最后说一个实操层面的高频问题用免费API还是本地部署我的习惯分三种情况学习初期、数据无敏感性问题直接用免费API省算力省时间把精力放在任务设计和效果调优上。ChatGPT免费版、Google Gemini免费额度、国内各家云厂商的新用户免费额度都能满足。效果调优期、实验探索期用API跑一大批实验快速验证哪些数据格式、prompt策略有效。API并发高、推理快这是本地单卡比不了的。数据敏感或需要长期稳定私有推理上本地部署用Ollama作为最简单起点vLLM作为生产级方案。如果算力有限优先选int4量化后的7B-14B模型很多场景效果足够了。个人体会一句话总结用好API解决能力从哪来用本地部署解决能力归谁管两者并不冲突大部分阶段可以并行使用。最后再分享一个我自己的小习惯每学到一个新概念、新模型就去复述一遍它相对于此前方案到底解决了什么老问题、又带来了什么新问题。大模型的历史不是一个又一个孤立模型的堆叠而是一条发现问题→提出方案→方案带来新问题→再提出新方案的长链。沿着这条链走你会学的比大多数人都扎实。