GPT 的跃进:PreTraining 改变一切
CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化
本页解决的问题
先给结论「GPT 的跃进:PreTraining 改变一切」要解决的关键问题是什么?
CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化
让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。
写下一个问题:试完这个方法后,你能用什么证据回答它?
结论听起来很完整,却没有检查最关键的假设。
GPT 的出现,是一次跃进
GPT 反过来了:先用海量语料做预训练,再适配任务。
模型被迫学会了语法、常识、事实、逻辑、风格…
这一切都只是预测下一个词的副产品。
GPT:预训练一次,能力迁移到任意任务
这就是 Foundation Model(基础模型)的核心思路
「哥哥」和句首「紫霞」的关系?CNN 无法在一步内捕捉。
「大模型发展史」里的算法代价曲线
「CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化」真正训练的不是背诵步骤,而是识别重复工作:输入变大时,程序到底多做了多少次比较、移动或递归。
先找重复工作,再谈快慢
「CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化」可以拆成输入规模、每轮做什么、以及是否能缩小下一轮范围三个问题。Big-O 是描述增长趋势的语言,不是对每台机器的精确计时;常数、内存和真实数据分布也会影响最终结果。
别把理论最优当成无条件最优
面对 AI 写出的算法,先用小输入手算一遍,再用逐渐放大的数据做基准测试。这样才能把「CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化」从一句结论变成可检查的性能判断。
从「大模型发展史」走到「算法交互体验:亲手感受四代模型的差异」
「大模型发展史」先把问题落在「在 GPT 之前,大家都在做 任务专用模型 。 GPT 的出现,是一次跃进 CNN、RNN、BERT,都是先确定任务再训练模型。 GPT 反过来了: 先用海量语料做预训练,再适配任务。 之前 CNN / RNN / BERT → 跃进 GPT(PreTraining) PreTraining 的本质 用互联网上 几乎所有的文字 做 Token 预测训练, 模型被迫学会了语法、常识、事实、逻辑、风格… 这一切都只是预测…」上;到了「算法交互体验:亲手感受四代模型的差异」,讨论继续推进到「CNN 滑动窗口 RNN 记忆衰减 BERT 双向注意力 GPT 因果生成 窗口大小 3 ← 向左 向右 → CNN 的局限: 只能看窗口内的词,窗口外的关系完全看不到。 「哥哥」和句首「紫霞」的关系?CNN 无法在一步内捕捉。 各词残留记忆强度(当 RNN 处理到当前词时) ← 越早的词,记忆越弱;当前处理词 = 100% RNN 的局限: 隐状态每步被新词覆盖,越早的词记忆越模糊。处理长文本时「梯度消失」:开头的…」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。
把这条判断带到下一个场景
算法题换成真实任务后,先找出重复工作,再问输入规模如何变化,最后用一个小基准验证理论判断。这样不会把复杂度记成脱离场景的标签。
- 「大模型发展史」:在 GPT 之前,大家都在做 任务专用模型 。 GPT 的出现,是一次跃进 CNN、RNN、BERT,都是先确定任务再训练模型。 GPT 反过来了: 先用海量语料做预训练,再适配任务。 之前 CNN / RNN / BERT → 跃进 GPT(PreTraining) PreTraining 的本质 用互联网上 几乎所有的文字 做 Token 预测训练, 模型被迫学会了语法、常识、事实、逻辑、风格… 这一切都只是预测…
- 「算法交互体验:亲手感受四代模型的差异」:CNN 滑动窗口 RNN 记忆衰减 BERT 双向注意力 GPT 因果生成 窗口大小 3 ← 向左 向右 → CNN 的局限: 只能看窗口内的词,窗口外的关系完全看不到。 「哥哥」和句首「紫霞」的关系?CNN 无法在一步内捕捉。 各词残留记忆强度(当 RNN 处理到当前词时) ← 越早的词,记忆越弱;当前处理词 = 100% RNN 的局限: 隐状态每步被新词覆盖,越早的词记忆越模糊。处理长文本时「梯度消失」:开头的…
最后的「最后把结论落到实践」把讨论落到「CNN / RNN / BERT / GPT 四种算法可交互对比,记忆衰减可视化」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。
我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。
读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。
如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。
还没有这篇文章的讨论。