AI Pulse
📡 X 信号

@NullableX: 周末不开市, 闲聊下, 聊聊为什么 LLM 模型进步这么快吧. 只是聊一下从投资

周末不开市, 闲聊下, 聊聊为什么 LLM 模型进步这么快吧。只是聊一下从投资的角度看的话我们可能需要的一点背景知识, 不一定细节准确。如果我们去开源模型的发布网站 hugging face 里面下载一个开源的 LLM 大模型, 这个下载的包里面有很多组件, 但是核心的模型组件其实就三个。

第一个是叫 tokenizer 的分词器, 它负责把我们输入的 prompt 切成一个一个的"token“, 所以一个token 并不是一个字节 byte, 不同语言, 不同tokenizer 切出来的”token“最小长度其实是不一样的, 但是基本意思是表达语义的最小单位, 中文的翻译”词元“其实是一个挺准确的翻译。token 是训练和推理里面的最小单位。然后就是模型的大脑”模型权重矩阵“, 它说穿了其实就是很多张巨大的”小数“矩阵, 里面的每个最小计算单元就是一个小数, 计算机科学领域里面我们叫 ”浮点数“, 然后就是一个 config 文件, 里面说明了这个 ”大脑矩阵“ 的正确组织结构是怎么样的。

所以我们聊 ”大模型“ 的时候, 其实是在聊那张巨大的, 里面的小数个数以 Billion 为单位的”矩阵“. 为什么这些”小数“组合在一起就产生了神奇的”智能“? 大模型的推理过程大体是: 我们输入一长串 prompt text => 后台服务添加系统 prompt, 包括把我们的一些对话历史一起输入组成 context window => tokenizer 切割这些 text, 变成一个一个词元 => 词元用一张叫 embedings 的矩阵映射成一串的小数, 所以我的输入变成了机器可以识别和计算的一个一个的小数 => 这个小数数组开始顺着神经网络矩阵向下流动, 计算。=> 最后一层输出一个新的小数数组, 这些原始小数叫 logits, 经过一些数学工具处理, 组成 token 的概率分布, 再对”词表“里面的 token 进行映射, 可以算出来下一个应该出现在回答中的 token 的”候选 token pool“ => 根据系统的设定, 选一个当作答案 attach 到当前的 context text 后面, 最简单的当然就是选概率最大的, 这个就是之前能调整模型参数时候的 ”temperature“ 参数调整的地方, 只不过实际应用里面每次选概率最大的效果不一定是最好的。然后继续循环生产下一个 token. => 循环到工程师设定的停止条件, 结束, 返回完整的 text 给你或者给 agent 的 harness 系统执行 tool call. 大体上就是这个流程, 所以我们使用 chatgpt, claude 的时候经常会出现2个差不多的回答让我们选哪个更好, 其实这个过程是我们在提供反馈帮后台服务优化正确 token 出现的概率。

理解了这个推理过程我们大体也知道为什么说当下的 AI 模型只是一个能力放大器, 它可以把你具有的能力作为索引, 不断给你呈现埋藏在它的大脑矩阵里面的隐藏知识, 而这些”知识“是整个人类互联网的海量知识, 但是前提是我们能正确管理我们的context window, 把这些知识”算“出来。这个是我们消费模型时候的”推理“过程。而训练过程的最终目的就是我们怎么把这个”矩阵大脑“生产出来。

生产的过程现在和3年前, 在工程上有很多不同, 但是大体流程上, 和推理的过程差不多, 和推理过程不同的地方就是训练过程中这张矩阵里面的权重小数是会被不断修改的, 当最后输出结果后, 根据实际的数据正确与否, 会进行反向传播, 调整这个矩阵里面的”小数数值“. 比如先输入: ”2025年美联储主席是“, 遮住答案让矩阵猜测后面的应该是什么, 如果猜错了, 矩阵算出来是”西瓜“, 把答案拿出告诉模型错了, 计算 loss, 然后反向传播根据正确答案调整整个巨大矩阵里面的相关部分小数。每个 token 在矩阵里面都对应着一行小数, 这一行小数有多少列我们可以理解为在一个高维的”语义世界“有多少个维度, 这些维度里面的小数, 定义了当前 token 在这个模型代表的”语义世界“里面的起始坐标。我们的现实世界只有3个维度, 但是在 LLM 模型生存的这个”语义世界“, 维度取决于模型的矩阵大小。

而整个训练过程就是不断通过试错, 反馈, 调整矩阵参数将每个 token ”推向“正确的”语义坐标“. 举个例子, 中文的 token ”北京“, 它可以说是一个地理名字, 代表一座城市, 也可以是一个政治名词, 代表”中国首都“, 那它用”语义坐标“理解, 就是”北京“这个token 的小数数组表示的坐标在”语义世界“里面和”中国", “首都”, “北平”, “燕京”等等其他 token 从初始语义坐标经过 transformer 坐标变化后, 计算出来的最终“语义坐标”距离都应该很近, 尤其是当我们添加更多的相关 tokens 在context 里面, 帮助定位“语义坐标”后, 那么模型找到下一个 token 的正确坐标就是 “北京” 的概率会越来越高。而北京的“坐标”不是开始就在那儿的, 是通过训练过程一点一点被正确的数据“推”到了这个正确的, 距离其他相关 token 都���近的位置。我们自然可以看到, 3年前, 2年前, 我们训练模型只能写爬虫程序, 从互联网爬下来海量的 text 文档, 然后喂给模型, 把每个 token 推向正确的“语义坐标”, 但是现在呢?

显然我可以直接下载一个已经训练好的开源模型, 它已经有了自己理解的“语义世界”的坐标, 我基于已有的坐标, 重新根据自己的需要和自己的新技术调整, 当然是事半功倍。几年前, 我还要写爬虫程序爬训练数据, 现在既然模型已经这么强大了, 我为什么不能让模型自己生成问题和答案, 输出自己的思考过程, 做成训练数据来当老师教其他“学生”模型呢?直接从已经训练好的模型的“矩阵大脑”里面隐藏的知识汲取出来“正确的语义坐标”训练我自己的模型的大脑, 毕竟我们最后需要的, 不过是每个 token 最后在矩阵里面拥有的“正确语义坐标”. 到这里我们基本就能理解为什么只要 LLM 的底层架构还是基于 transformer + deepseek 公开的蒸馏方法, 中美之间的模型差距很难说会被拉开多大差距, 现在有差距, 也不过是硬件上的算力缺口, 而这个缺口并不是无法被填平的, 因为后面负责学习的“新一代模型”并不是从头开始学习“正确语义坐标”. 现在的情况就是模型越强, 训练模型的工程师增幅越强, 下一代模型的训练基础越高, 然后形成循环, 训练出来的下一代模型又会更强, 只要开始左脚踩右脚了, 那这个增长曲线就不会是线性的了。

“三体”里面的技术爆炸可以说是非常形象的比喻了。而增长到尽头, 应该就是榨干 transformer 这个基础架构的能力了。

查看 X 原帖

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新