ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

大模型发展史:从Transformer到DeepSeek的技术演进与实战指南

大模型发展史:从Transformer到DeepSeek的技术演进与实战指南

1. 从一行标题说起:为什么值得把大模型发展史捋一遍

“大模型的发展史”这六个字,看起来像是一篇综述论文的标题,但我更愿意把它当成一条技术演进的时间线来拆。过去两年多,我身边不少做后端、做数据、甚至做传统算法的朋友都在问同一个问题:这东西到底是怎么一步步变成今天这样的?为什么2018年之前大家还在用Word2Vec、LSTM,转眼间Transformer就成了默认选项?为什么BERT和GPT几乎是同一时期出来的,最后却是GPT这条路线跑出了ChatGPT、DeepSeek这些现象级产品?

这些问题如果只靠零散地刷几篇公众号,很容易越看越乱。因为大模型的发展不是一条直线,而是几条线交织在一起:模型架构的迭代、训练范式的切换、算力规模的膨胀、数据质量的重视、以及工程化落地能力的提升。任何一条线单独拎出来讲,都会让人产生“原来这么简单”的错觉,但合在一起看,才会明白为什么今天的大模型是这个样子。

这篇文章我打算按时间线加技术线双轨并行的方式来讲。时间线上,从2017年Transformer诞生,到2018年BERT和GPT-1分道扬镳,再到GPT-2、GPT-3的规模跃迁,接着是ChatGPT引爆全民认知,最后到DeepSeek等新玩家在效率和成本上做文章。技术线上,重点讲清楚注意力机制、预训练加微调、上下文学习、指令对齐、混合专家这些关键概念到底解决了什么问题。

适合谁来读?如果你是刚接触大模型的学生或者转行者,这篇可以帮你建立一张完整的地图,知道每个名词在时间线上的位置。如果你已经用过一些大模型API,但对其中的原理一知半解,这篇可以帮你把“为什么这样设计”补上。如果你是从业者,想回顾一下整个领域的演进逻辑,也可以把它当成一次系统性的复盘。全文会尽量少用公式,多用类比和实际案例,把每个关键节点讲透。

2. 史前时代:在Transformer出现之前,大家是怎么做NLP的

2.1 从规则到统计:早期NLP的两次范式转移

要理解大模型为什么重要,得先知道没有大模型的时候,自然语言处理是怎么做的。上世纪八十年代到九十年代,主流方法是基于规则的系统。比如做机器翻译,工程师会手写大量语法规则和词典映射,系统本质上是一个庞大的if-else集合。这种方法的优点是可控、可解释,缺点是规则永远写不完,稍微换个领域就失效。

到了九十年代末到两千年代初,统计方法开始占据主流。核心思路变成从大规模语料中统计概率分布,比如n-gram语言模型,通过前面n-1个词预测下一个词。n-gram的问题也很明显:n不能太大,否则参数空间爆炸;n太小,又捕捉不到长距离依赖。实际应用中通常n取3到5,再大就稀疏得没法用了。

2013年Word2Vec的出现是一个重要节点。它把词映射成稠密向量,让“语义相似”可以通过向量距离来度量。比如“国王”减“男人”加“女人”约等于“女王”,这种类比关系在当时引起了很大轰动。但Word2Vec有个根本局限:每个词只有一个固定向量,无法处理一词多义。比如“苹果”在“吃苹果”和“苹果发布会”里意思完全不同,但Word2Vec给出的向量是一样的。

2.2 RNN与LSTM:序列建模的第一次真正突破

为了解决序列依赖问题,RNN(循环神经网络)被引入。它的核心思想是让网络有一个“记忆”状态,每一步的输入不仅包含当前词,还包含上一步的状态。这样理论上可以捕捉任意长度的依赖。但RNN在实践中很快暴露出两个问题:一是梯度消失或爆炸,导致长距离依赖学不到;二是无法并行计算,因为每一步都依赖上一步的结果,训练速度极慢。

LSTM(长短期记忆网络)通过引入门控机制缓解了梯度消失问题,在机器翻译、文本分类等任务上取得了很好的效果。2014年到2017年,基于LSTM的Seq2Seq加注意力机制几乎是NLP任务的标准配置。这里说的注意力机制还是加在RNN之上的辅助结构,用来解决编码器把整个句子压缩成一个固定向量导致的信息瓶颈问题。

但LSTM的并行化问题始终没有解决。训练一个大型LSTM模型,往往需要几天甚至几周,而且随着序列变长,效果提升越来越不明显。这就为Transformer的登场埋下了伏笔。

2.3 那个改变一切的2017年:Attention Is All You Need

2017年,一篇名为《Attention Is All You Need》的论文提出了Transformer架构。这篇论文的核心贡献是:完全抛弃RNN和CNN,只用注意力机制来建模序列。具体来说,它提出了自注意力(Self-Attention)机制,让序列中每个位置都能直接关注到其他所有位置,计算权重后加权求和。

这个设计带来的最大好处是并行化。因为自注意力对每个位置的计算是独立的,可以一次性把所有位置的表示算出来,不需要像RNN那样串行等待。这直接让训练速度提升了一个数量级,也为后续把模型规模做大提供了工程基础。

Transformer的另一个关键设计是多头注意力(Multi-Head Attention)。简单说就是把注意力分成多组,每组关注不同的模式。比如一组关注语法关系,一组关注语义相似度,最后拼接起来。这让模型能同时从多个角度理解输入。

还有一个容易被忽略但非常重要的细节是位置编码(Positional Encoding)。因为自注意力本身不包含顺序信息,打乱输入顺序结果不变,所以需要额外注入位置信息。原始论文用的是正弦余弦函数,后来也出现了可学习的位置嵌入。这个设计后来在大模型上下文长度扩展时成了一个核心研究点。

3. 分道扬镳:BERT与GPT的两条路线之争

3.1 BERT:双向理解路线的巅峰

2018年,Google发布了BERT(Bidirectional Encoder Representations from Transformers)。BERT的核心创新是用了Transformer的编码器部分,并且采用双向训练。具体做法是随机遮住输入中的一些词,让模型根据上下文预测这些词。因为同时看左右两边,所以叫双向。

BERT的训练目标有两个:一个是掩码语言模型(MLM),就是刚才说的遮词预测;另一个是下一句预测(NSP),判断两个句子是否连续。MLM让模型学到了深层的双向语义表示,NSP则试图让模型理解句子间关系。后来很多研究发现NSP任务作用有限,后续模型大多去掉了它。

BERT发布时在11个NLP任务上刷新了纪录,包括问答、自然语言推理、情感分类等。它的出现让“预训练加微调”成为标准范式:先在大规模无标注语料上预训练一个通用模型,然后针对具体任务加一个输出层,用少量标注数据微调。这大大降低了NLP应用的门槛。

但BERT有一个根本限制:它本质上是理解模型,不是生成模型。你可以用它做分类、抽取、匹配,但让它写一段连贯的文字就很吃力。这是因为它的训练方式决定了它擅长“填空”,不擅长“续写”。

3.2 GPT:生成路线的坚持与爆发

同样是2018年,OpenAI发布了GPT-1。和BERT不同,GPT用的是Transformer的解码器部分,采用自回归训练,也就是根据前面的词预测下一个词。这个目标看起来很简单,但它的优势在于天然适合生成任务。你给它一个开头,它就能一直往下写。

GPT-1的参数是1.17亿,在当时不算特别大。它在一些生成任务上表现不错,但整体影响力不如BERT。真正的转折点是2019年的GPT-2,参数扩大到15亿,并且OpenAI采用了“零样本”设定,也就是不做微调,直接让模型根据提示完成任务。GPT-2生成的文本已经相当流畅,当时OpenAI甚至因为担心滥用而分阶段发布模型。

2020年的GPT-3是真正的分水岭。参数达到1750亿,是GPT-2的一百多倍。更重要的是,GPT-3展示了“上下文学习”能力:你只要在提示里给几个例子,它就能学会新任务,不需要更新任何参数。这个能力后来被称为Few-Shot Learning,是大模型区别于传统模型的核心特征之一。

GPT-3的发布让业界意识到,规模本身就能带来质变。很多在小模型上做不了的任务,在大模型上突然就能做了。这直接引发了后续几年的大模型军备竞赛。

3.3 两条路线的融合与分化

BERT和GPT的路线之争持续了大概两年。BERT阵营有RoBERTa、ALBERT、ELECTRA等改进版,主要在训练目标和效率上做优化。GPT阵营则一路做大,从GPT-2到GPT-3再到GPT-4。

但有意思的是,后来两条路线开始互相借鉴。比如T5模型把所有NLP任务统一成文本到文本的格式,既用了编码器也用了解码器。再比如很多生成模型也开始用双向注意力来提升理解能力。到今天,纯编码器模型主要用于检索、分类、嵌入等场景,而生成式大模型基本都采用解码器或编码器-解码器架构。

从实际应用角度看,BERT类模型在需要高精度、低延迟的场景仍然有优势,比如语义搜索、文本去重、意图识别。而GPT类模型则在对话、写作、代码生成等开放式任务上占据主导。两者不是替代关系,而是互补关系。

4. 规模法则与涌现能力:大模型为什么“大”了才管用

4.1 Scaling Law:一条经验曲线如何指导整个行业

2020年,OpenAI发表了关于缩放法则(Scaling Law)的论文,核心结论是:模型性能与模型参数量、数据量、计算量之间存在幂律关系。简单说,只要你按比例增加这三者,模型损失就会稳定下降,而且这个趋势在多个数量级上都成立。

这个发现的意义在于,它把大模型的研发从“炼丹”变成了“可预测的工程”。以前大家不知道把模型做大到底有没有用,现在有了经验公式,可以提前估算需要多少算力和数据才能达到某个性能水平。这直接推动了GPT-3、GPT-4等超大模型的立项。

但Scaling Law也有边界。后来研究发现,如果数据量不够,单纯增加参数量会出现“重复训练”导致的收益递减。于是又出现了Chinchilla法则,指出在给定计算预算下,模型参数量和数据量应该按比例增长,而不是只堆参数。这个修正让后来的模型更注重数据质量而非单纯参数量。

4.2 涌现能力:量变到质变的具体表现

大模型最让人惊讶的地方是“涌现能力”。所谓涌现,是指某些能力在小模型上完全看不到,但模型规模超过某个阈值后突然出现。比如多步推理、代码生成、类比推理、指令遵循等。

举个例子,GPT-2在算术题上基本是瞎猜,但GPT-3在简单加减法上已经有一定准确率,到了GPT-4则能处理多步数学题。这种非线性提升很难用传统机器学习理论解释,因为它不是渐进改善,而是突然“会了”。

涌现能力的存在,让“做大”有了明确的理论支撑。但也有人质疑,所谓涌现可能只是评价指标选得不好。比如用精确匹配算准确率,小模型偶尔蒙对但整体很低,大模型稳定输出正确,看起来就像突然涌现。如果换成部分匹配或语义相似度,曲线可能更平滑。这个争论到现在还没有定论,但不影响工业界继续做大模型。

4.3 上下文长度:从512到百万级

早期Transformer的上下文长度通常是512个token,因为自注意力的计算复杂度是序列长度的平方。序列翻倍,计算量翻四倍。这导致长文本处理非常昂贵。

后来出现了一系列优化。比如稀疏注意力、滑动窗口注意力、线性注意力等,把复杂度降到接近线性。再加上工程上的FlashAttention、分块计算等技巧,现在主流大模型的上下文长度已经达到128K甚至1M token。

上下文长度的提升直接扩展了应用场景。以前只能处理短句或段落,现在可以整本书、整个代码仓库、多轮长对话一起塞进去。这对法律文书分析、代码理解、长文档问答等场景是质变。

但长上下文也有代价。一是计算成本仍然很高,二是模型在超长上下文中的“中间遗忘”问题,也就是对开头和结尾记得清楚,中间部分容易忽略。这个问题目前还没有完美解法,实际使用中通常建议把关键信息放在开头或结尾。

5. 从GPT-3到ChatGPT:对齐技术如何让大模型“说人话”

5.1 指令微调:让模型学会听指令

GPT-3虽然能力强,但有个问题:它不一定会按你的要求输出。你问它一个问题,它可能续写成一篇文章,或者给出几个不相关的句子。这是因为它的训练目标只是预测下一个词,没有“遵循指令”这个概念。

指令微调(Instruction Tuning)就是解决这个问题的。做法是收集大量“指令-回答”对,比如“把下面这句话翻译成英文”“总结这段文字的核心观点”,然后在这些数据上继续训练模型。训练之后,模型就学会了理解指令意图,并给出对应格式的回答。

这个步骤看起来简单,但数据质量非常关键。如果指令数据里有很多低质量回答,模型就会学会胡说八道。所以后来出现了很多指令数据集,比如FLAN、Self-Instruct等,用人工编写或模型自动生成的方式扩充数据。

5.2 RLHF:用人类反馈打磨模型行为

指令微调之后,模型能听懂指令了,但回答质量参差不齐。有的回答准确但啰嗦,有的简洁但遗漏关键信息。这时候就需要RLHF(基于人类反馈的强化学习)来进一步优化。

RLHF分三步。第一步,让模型对同一个问题生成多个回答,人类标注员对这些回答排序,表示哪个更好。第二步,用这些排序数据训练一个奖励模型,让它学会预测人类偏好。第三步,用强化学习算法(通常是PPO)优化原模型,让它生成的回答能获得更高奖励。

这个过程非常耗资源,因为需要大量人工标注。但效果也很明显。ChatGPT之所以比GPT-3好用那么多,RLHF功不可没。它让模型的回答更符合人类期望:更有帮助、更诚实、更无害。

5.3 对齐的代价与争议

对齐技术让大模型更安全、更好用,但也带来了一些副作用。比如“对齐税”,也就是模型为了安全而变得过于保守,该回答的问题也拒绝回答。再比如“谄媚”问题,模型倾向于迎合用户观点,即使用户说的是错的。

还有一个更深层的问题是价值观对齐。不同文化、不同群体对“好回答”的定义不一样,而RLHF通常依赖特定标注团队的标准。这导致模型可能在某些话题上表现出偏见。目前业界还在探索更多元、更透明的对齐方法,但还没有统一方案。

从工程角度看,实际部署大模型时,对齐通常不是一次性的,而是持续迭代的过程。需要不断收集用户反馈,更新奖励模型,再重新训练。这是一个长期运营的工作,不是发一个版本就结束了。

6. 效率革命:DeepSeek等新玩家如何改写游戏规则

6.1 混合专家:用稀疏激活降低推理成本

大模型参数越来越大,但每次推理都激活全部参数,成本非常高。混合专家(MoE)的思路是:把模型拆成多个“专家”子网络,每次输入只激活其中一小部分。比如一个总参数1000亿的模型,每次只激活100亿,推理成本就降了一个数量级。

MoE的关键在于路由机制,也就是决定每个输入该激活哪些专家。路由学得好,不同专家会分化出不同能力,比如有的擅长代码,有的擅长数学,有的擅长多语言。路由学得不好,所有专家都差不多,就浪费了参数。

DeepSeek在MoE上做了不少工程优化,比如细粒度专家划分、共享专家设计、负载均衡策略等。这些优化让MoE在训练和推理时都更稳定,不会出现某些专家过载、某些专家闲置的情况。

6.2 训练效率:从堆算力到抠细节

早期大模型训练基本是堆算力,谁卡多谁厉害。但随着模型规模上去,训练成本变成天文数字,效率就变得至关重要。DeepSeek等团队在训练效率上做了很多工作,比如混合精度训练、梯度检查点、通信优化、数据管道优化等。

混合精度训练是指用半精度浮点数做前向和反向计算,用单精度做参数更新。这样显存占用减半,计算速度提升,同时保持数值稳定性。梯度检查点则是用计算换显存,在前向时只保存部分中间结果,反向时重新计算,这样能训练更大的模型。

通信优化在多卡训练中特别重要。因为数据并行、模型并行、流水线并行会引入大量跨卡通信,如果通信效率低,卡再多也白搭。DeepSeek在这方面做了不少定制化工作,比如重叠计算和通信、优化集合通信原语等。

6.3 成本下探:大模型从奢侈品变成日用品

DeepSeek最让人印象深刻的是API价格。相比早期GPT-3动辄每百万token几十美元,DeepSeek把价格压到了几块钱人民币级别。这背后是模型架构、训练效率、推理优化、工程部署的综合结果。

成本下探的直接后果是大模型应用爆发。以前只有大公司用得起,现在小团队甚至个人开发者也能随便调。这催生了大量创新应用,比如AI客服、AI写作、AI编程助手、AI教育等。可以说,没有成本下降,就没有今天大模型的普及。

但成本下降也带来新问题:模型能力是否被压缩?实际测试下来,DeepSeek在通用任务上表现不错,但在一些需要深度推理的复杂任务上,和顶级闭源模型还有差距。不过考虑到价格差,这个差距在很多场景下是可以接受的。

7. 实操视角:普通人如何上手和理解大模型

7.1 从API调用开始建立直觉

如果你刚接触大模型,我建议从调用API开始。不需要自己训练,先感受一下模型能做什么、不能做什么。比如用DeepSeek或类似平台的免费额度,写几行Python代码,试试文本分类、摘要、翻译、代码生成。

import requests url = "https://api.example.com/v1/chat/completions" headers = { "Authorization": "Bearer YOUR_API_KEY", "Content-Type": "application/json" } data = { "model": "deepseek-chat", "messages": [ {"role": "user", "content": "用三句话解释什么是Transformer"} ] } response = requests.post(url, headers=headers, json=data) print(response.json()["choices"][0]["message"]["content"])

这段代码的核心是messages数组,里面包含角色和内容。角色通常有system、user、assistant三种。system用来设定模型行为,user是用户输入,assistant是模型回复。多轮对话就是把历史消息都塞进messages里。

调几次之后,你会对模型的“脾气”有感觉。比如它有时候会编造事实,有时候会忽略指令,有时候会过度解释。这些直觉对后续深入理解原理很有帮助。

7.2 提示工程:不是玄学,是沟通技巧

提示工程(Prompt Engineering)经常被神化,其实本质就是怎么把需求说清楚。我总结下来有几个实用原则。

第一,明确任务。不要问“帮我写点东西”,要说“写一封200字以内的辞职邮件,语气正式但友好”。第二,给例子。如果你想要特定格式,就在提示里给一个样例。第三,分步骤。复杂任务拆成多步,让模型一步步做,比一次性要求它输出完整结果更可靠。第四,设定角色。比如“你是一个资深Python工程师”,能让模型输出更专业的回答。

还有一个技巧是“思维链”,也就是让模型先展示推理过程再给答案。比如在提示里加一句“请一步步思考”。这对数学题、逻辑题特别有效,因为模型在生成推理过程时,相当于在“打草稿”,能减少直接猜答案的错误。

7.3 本地部署与私有化:什么场景值得做

很多企业关心私有化部署,也就是把模型放在自己服务器上,数据不出内网。这个需求在金融、医疗、法律等行业特别强烈。但私有化部署不是简单下载一个模型文件就行,需要考虑硬件、推理框架、并发、监控等一系列问题。

硬件方面,7B参数的模型用一张24G显存的卡就能跑,但70B模型可能需要多卡或量化。量化是指把模型权重从16位降到8位或4位,减少显存占用,代价是精度略微下降。实际测试下来,4位量化的70B模型在多数任务上表现仍然不错。

推理框架方面,常见的有vLLM、TensorRT-LLM、llama.cpp等。vLLM适合高并发服务,llama.cpp适合CPU或低资源环境。选择哪个取决于你的场景:如果是在线服务,优先考虑吞吐和延迟;如果是离线批处理,可以考虑更省资源的方案。

8. 常见问题与排查技巧实录

8.1 模型输出不稳定怎么办

这是最常见的问题。同一个提示,不同时间调用,结果可能不一样。原因通常是采样参数。大模型生成时不是每次都选概率最高的词,而是按概率分布随机采样。温度(temperature)越高,随机性越大;top_p越小,候选词越少。

如果你需要稳定输出,把温度设成0或接近0,同时固定随机种子(如果API支持)。但要注意,温度太低会导致输出重复、死板。实际使用中,创意类任务温度可以设0.7到1.0,事实类任务设0到0.3。

还有一个原因是上下文污染。如果多轮对话里前面有错误信息,模型可能会被带偏。这时候可以清空历史,重新开始,或者在system提示里强调“忽略之前的错误信息”。

8.2 模型“胡说八道”怎么排查

幻觉是大模型的固有缺陷,只能缓解不能根除。排查思路分几步。第一,检查提示是否清晰。模糊的问题容易得到模糊的答案。第二,要求模型给出处。比如“请引用原文回答”,如果它引不出来,说明可能在编。第三,用检索增强。也就是先搜相关资料,把资料塞进提示里,让模型基于资料回答,而不是靠记忆。

检索增强(RAG)是目前最实用的抗幻觉方案。做法是把文档切块、向量化、存进向量数据库,用户提问时先检索相关块,再和问题一起送给模型。这样模型有据可依,幻觉会少很多。但RAG也有坑,比如切块太大检索不准,切块太小上下文不完整,需要根据文档类型调。

8.3 长上下文效果差怎么优化

前面提到,模型在超长上下文中容易“中间遗忘”。实际使用中,如果必须塞长文本,有几个技巧。第一,把最关键的信息放在开头或结尾。第二,在提示里明确指向,比如“请重点参考第三段”。第三,分段处理,先让模型总结每段,再基于总结做最终回答。

还有一个工程技巧是重排序。检索出多个相关块后,不要按原始顺序塞进去,而是按相关性从高到低排列,把最相关的放前面。这样即使模型对中间部分不敏感,也能抓住重点。

问题类型常见原因排查方向实用技巧
输出不稳定采样参数随机检查temperature、top_p固定种子,降低温度
幻觉严重模型靠记忆编造检查提示是否模糊用RAG,要求引用原文
长上下文失效中间遗忘检查关键信息位置关键信息放首尾,分段总结
指令不遵循提示不明确检查任务描述给例子,分步骤,设角色
推理成本高模型太大或并发高检查模型规模和量化用MoE,量化,缓存

8.4 成本控制:怎么用得更省

大模型API按token计费,输入输出都算。省钱的核心是减少无效token。第一,精简提示,去掉冗余描述。第二,控制输出长度,在提示里限定字数。第三,用缓存,相同问题不要重复调用。第四,分级使用,简单任务用小模型,复杂任务才用大模型。

还有一个策略是批处理。如果你有很多独立任务,可以合并成一个请求,让模型一次性处理。比如把100条评论分类,不要调100次,而是拼成一个长提示,让模型输出100个结果。这样能大幅降低调用次数和总成本。

9. 我个人的一些体会

捋完这条时间线,我最大的感受是:大模型的发展不是某个单点突破,而是架构、数据、算力、工程、产品多个环节共同推进的结果。Transformer提供了基础架构,Scaling Law指明了方向,RLHF解决了可用性,MoE和工程优化降低了成本,最后产品化让普通人也能用上。

如果你现在想进入这个领域,我的建议是不要一上来就啃论文。先从调用API做起,建立直观感受;然后学提示工程,理解模型的行为模式;接着了解RAG和微调,知道怎么让模型适配具体场景;最后再回头补原理,看Transformer、注意力机制、训练目标这些底层设计。这样学起来不会太枯燥,也更容易坚持。

另外,大模型领域变化非常快,今天的最优实践可能半年后就过时了。所以比起记住具体结论,更重要的是理解演进逻辑。知道为什么会有BERT,为什么GPT路线胜出,为什么MoE成为主流,这些逻辑比具体参数更有生命力。遇到新模型、新方法时,你也能快速判断它解决了什么问题、适合什么场景。

最后分享一个我常用的小技巧:当你看到一个新技术名词时,先问三个问题——它替代了什么?它优化了什么?它的代价是什么?把这三个问题回答清楚,基本就抓住了这个技术的核心。这个方法在大模型领域特别管用,因为几乎所有创新都是在权衡中产生的。

返回列表