分享一个从底层逻辑理解LLM的视角
很多时候我们用Claude Code写代码、用ChatGPT做调研,习惯了把它们当成“智能体”,但如果想真正压榨出大模型的性能,得搞清楚它们在底层是怎么运作的。最近把Andrej Karpathy那个关于LLM深潜的分享刷完了,有些关于模型演进的逻辑对我触动挺大,分享给同样爱钻研的朋友。
另外,关于模型迭代和算力的几个细节也值得注意:
还有一个很有意思的槽点:模型其实并不擅长数数或拼写。因为它们处理的是token而非单个字符,这导致了一些反直觉的低级错误(比如数不清一个单词里有几个r)。
下一篇
我的KDE面板上多了四个圆环:一个AI额度监控HUD →
最核心的认知偏差在于“基座模型(Base Model)”和“指令模型(Instruct/Chat Model)”的区别。很多人以为模型天生就是个助手,其实基座模型本质上只是一个极其强大的“互联网文本自动补全引擎”,它没有自我意识,也不懂怎么对话。
要让它变成我们现在用的ChatGPT或Claude,必须经过后训练(Post-training):
- 对齐过程: 通过喂入大量人类对话样本,教会模型如何以“助手”的身份回答问题,而不是简单地预测下一个token。
- 知识与形式的分离: 基座模型拥有海量知识,而指令微调则是给这些知识套上一个“对话外壳”。
另外,关于模型迭代和算力的几个细节也值得注意:
- Loss值的意义: 训练过程中Loss越低,模型对下一个token的预测就越准。这解释了为什么算力堆砌能带来能力提升,因为更低Loss意味着更强的预测能力。
- GPU的必然性: CPU处理不过来那种海量的并行数学运算,只有GPU(以及TPU)能支撑起这种规模的张量运算。
- 开源 vs 闭源: 开源模型给的是前向传播代码和那几十亿个参数(权重数字),而闭源模型则把这些封在API后面。
还有一个很有意思的槽点:模型其实并不擅长数数或拼写。因为它们处理的是token而非单个字符,这导致了一些反直觉的低级错误(比如数不清一个单词里有几个r)。
理解了这些,在写提示词或构建工作流时会更理性。当你发现模型在某个任务上表现不稳定时,可能正是触碰到了它作为“概率预测机”的底层局限。