生物学启发视角下的大模型
生物学启发视角下的大模型
笔者对生物学知之较少,所述之处若有不严谨的地方还请斧正
笔者最近阅读了有关 vLLM 中解析 工具调用(ToolCall) 和 思考强度(ThinkingEffort) 的实现,对大模型的认知有了一些新的理解,于是便想着把自己这些年对大模型断断续续的思考写一篇有意思的文章。
个人写文章的契机也是因为在AI时代下,被看见的能力变得非常重要,于是也只能拾起生涩的笔头,让自己试着去做一些长篇输出,同样也作为个人的思考整合。
“大模型表现出若干与生物系统同构的组织原则”
相信你会疑惑,生物和科技两个看起来风马牛不相及的领域是如何具有同构性的。
首先,我们可以查看维基百科里有关生命的定义:
- 恒定性:能够调节体内环境以维持身体处于一个相对恒定的状态,例如恒温动物能发汗来降低过热的体温,也能靠发抖来产生额外的热量以保持体温。
- 组织性:由一个或以上的生物基本单位──细胞所组成。
- 新陈代谢:能够转换非生物为细胞成分(组成代谢)以及分解有机物(分解代谢)来获取和转化能量。生物体需要能量来维持体内平衡及产生其他生命现象。
- 生长:使组成代谢的速率高于分解代谢的速率来让细胞体积增大,并在细胞分裂后使细胞成长。一个生长中的有机体增加其细胞的数量和体积,而不止是将得到的物质积存起来。某些物种的个体可以长得很巨大,例如蓝鲸。
- 适应:对环境变化作出反应的能力,与生物当前的身体构造、生活习性及遗传有关。这种能力对生存是很重要的。生物可以通过进化适应环境。
- 感应:反应可以以很多方式进行,从单细胞变形虫被触碰时的收缩到高等生物在不同情况下的复杂反射。最常见的反应是运动,例如植物的叶片转向太阳以及动物追捕其猎物。
- 繁殖:能够产生新的个体。包括只需一个亲本的无性生殖和需要至少两个亲本的有性生殖。
好复杂的定义!不过别慌,我们慢慢来。
我们先假设大模型是一个「赛博生物」——暂时把有关的哲学辩论抛去,而是纯粹从生物学的角度出发去看待大模型的发展。
生命有七个特征,但恒定性、组织性、新陈代谢这三个特征在生物领域和大模型领域的映射,笔者没有能力去讲好。因此本文只聚焦笔者能说得清的:生长、适应、感应、繁殖。
同时,如果有同学当前仍在坚持手敲代码的话,那么如果你研究过当前使用的编程语言的话,大概率会遇到「鸭子类型」这个概念,我们这里也摘出来使用,其不严谨的概念表述如下:
“When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.”
— Commonly attributed to James Whitcomb Riley (1849–1916)
也就是说,当一只鸟它在各种程度上都表现出来鸭子的特征时,我们这时便可将其视作一只鸭子。
PS:有一个有意思的论文也用到这个概念《AI Wellbeing: Measuring and Improving the Functional Pleasure and Pain of AIs》
换句话说,如果我们能论证大模型拥有生长、适应、感应和繁殖这四个特点时,那么我们就能说大模型在表现形式上是「赛博生物」
繁殖这个特点有点特殊,毕竟大模型没有物理层面上的父母,但大模型是存在遗传的,它通过蒸馏的方式能达成某种意义上的遗传
笔者将在下面的章节对大模型如何具有这四个特点进行不严谨的类比以及其特点衍生出的一些大模型有意思的特性,帮助大家对当前的大模型有更深入的一层理解,以及夹带笔者个人对大模型的思考。
生长
对于康威生命游戏来说,基本单位是细胞(Cell) ,在简单的规则下,细胞(Cell) 能在2D平面上做到某种意义上的生长与演化。
反之,对于大模型而言,基本单位是 Token,大模型能够生产 Token,且能将其生产的 Token 重新置入大模型的上下文中,从而让其基于此前输入的 Token 生产新的 Token。
因此,大模型能够在 Token 作为最小单位的意义之上存在某种生长关系,虽然这种生长指的是 Token 上的生长,而非大模型的生长,于大模型而言应该更像是新陈代谢。
适应
当前所有适应能力,可以说是大模型自回归推理过程中的伴生现象。
大模型永远是在根据已有上下文,预测下一个 Token 的概率分布:
$$ P(t_{n+1} \mid \mathbf{t}_{1:n}, \boldsymbol{\theta}) = \text{softmax}\left(\frac{\mathbf{W}_o \cdot \text{Transformer}(\mathbf{t}_{1:n})}{\tau}\right) $$但当我们把上下文构造成「若干示例 + 待解决任务」的格式,模型进而能在逐字预测下一个 Token 的过程中,隐式地完成了对当前任务的贝叶斯推断:
$$ P(\text{task} \mid \mathbf{t}_{1:n}) \propto P(\mathbf{t}_{1:n} \mid \text{task}) \cdot P(\text{task}) $$上下文中的示例序列 $\mathbf{t}_{1:n}$ 充当了观测数据,模型通过 Attention 机制计算不同任务假设与这些数据的匹配程度,并在输出中体现为对特定 Token 分布的偏向。
换句话说,模型并没有一个独立的"适应模块",它只是在继续预测下一个 Token;但预测的对象恰好是"在当前任务下最可能出现的 Token",于是"适应"作为这一过程的伴生现象浮现了出来。
正如《Attention Is All You Need》所述,模型“完全依赖于注意力机制来捕捉输入与输出之间的全局依赖关系”。
"… the Transformer, a model architecture based solely on an attention mechanism to draw global dependencies between input and output, dispensing with recurrence and convolutions entirely."
— Vaswani et al., Attention Is All You Need (2017)
提示词充当查询(Query),决定了哪些键值对(Key-Value)被赋予更高权重。根据提示词的不同,激活了不同的神经网络,并返回对应的结果。
大模型所有的拓展性/适应性都依靠就在于这个伴生现象上,依赖于当前的提示词能够激活哪一个领域的知识。
感应
对于「感应」而言,容易与「适应」二字做混淆,不过它们的区别还是很显著的。
适应是仙人掌在沙漠缺水的环境下演化出庞大的根系,以便其生存。
感应是仙人掌感受到土壤湿度到变化,根毛细胞开始快速吸水并激活生长。
巴普洛夫的狗
巴甫洛夫的狗是一个经典条件反射实验。
实验内容就是,摇铃然后再给予食物,反复多次后,狗就会认为摇铃就代表开饭的信号,之后再摇铃就会让狗触发唾液分泌。
人也是如此,如果有人在你面前提起一些酸酸的食物,你将不由自主的开始分泌唾液。
接下来我们将从两个角度去看待大模型的「感应」或是「反射」。
思考强度
在 OpenAI 的 responses API 下存在 reasoning 这个字段 ,它用来代表模型在这一轮回话下的思考强度。
response = client.responses.create(
model="gpt-5.6",
reasoning={"effort": "xhigh", "mode": "pro"},
input=prompt,
)
而现在,我们必须得先明确的一点是,对于大模型而言,只有文本的输入和输出,而 reasoning 这个字段,是如何被传入大模型里的呢?
还记得我们上面说巴普洛夫的狗的实验吗?巴普洛夫为狗建立了一套摇铃即进食的反射。
而我们也可以为大模型建立一套这样的映射,当我们的前缀携带特定的提示词(Prompt) 时,则代表大模型需要根据该思考强度更深层次或是更简单的去思考事情。
deepseek-v4-flash-0731 的思考强度及其提示词前缀表格
| 请求参数 (reasoning_effort) | 对应的提示词前缀 |
|---|---|
| low | Nil |
| high | “Reasoning Effort: Absolute maximum” |
| max | “Reasoning Effort: Beyond maximum” |
工具调用
工具调用与上述思考强度同理,在大模型刚刚起步的时候,工具调用是纯提示词下的产物,这时的大模型生成的调用工具的文本非常容易出错,因为大模型没有对调用工具这个行为做任何的训练。
随后的发展就是将工具调用本身作为语料,进入大模型中训练学习。
因此 OpenAI 的每个 GPT 旗舰模型模型都存在一个 codex 后缀的版本。该版本代表它将 Codex 里面的所有 Tool 都放入了模型中进行训练,对使用 Codex 这件事更加熟悉。
不同的模型的内部 ToolCall 内部表示文本都不一样。
比如说 deepseek-v4-flash-0731 使用的表示方法是一个叫 DSML 的标记语言,有些模型则直接使用 XML 作为 ToolCall。这些文本都会由 vLLM 这类引擎去做解析,这样就会变成我们熟悉的 API 样式。
DSML的内部形态
<|DSML|tool_calls>
<|DSML|invoke name="weather_query">
<|DSML|parameter name="location" string="true">Beijing</|DSML|parameter>
<|DSML|parameter name="unit" string="true">celsius</|DSML|parameter>
</|DSML|invoke>
</|DSML|tool_calls>
遗传
对于每个在关注大模型发展的人们而言,DeepSeek R1的发布绝对是一个里程碑式的事件。 具体的事件我们不多聊,我们关注 DeepSeek R1 论文中提到的两个字「蒸馏」
其中的蒸馏方法能够让大模型的部分能力能够迁移到小模型,效果本身可能比直接训练小模型要好得多。
这在我们这个章节的看法而言,这就是一种知识/数据的遗传。因为蒸馏方法本身并不局限于大模型迁移至小模型,R1的蒸馏为数据蒸馏,因此我们还可以跨模型蒸馏。
这其实已经构成了一种遗传现象,从当前模型那些好的语料/会话中截取,以此蒸馏新的模型。从其他模型的语料/会话中提炼,蒸馏出新的模型….
洞视未来
笔者抱着浅薄的认知,通过上述的数千字和数年使用AI的经历,大胆的预测一下未来的一些趋势
- 社会化的能力训练,人是社会动物,大模型也得是。
- 目前对于模型与模型之间的交流是一个未被探索的领域,因此 Raft 这类 MultiAgent App 里的 Agent 会存在一种 Agent 都在侃侃而谈,但也许这些交流是不必要的。模型与人之间的交流也许需要更多试验。
- 持续感知的能力
- 具体的分工,大家都在训练一个更大的单细胞,而非分化的功能细胞,不过这个问题应该在社会化之后会解决。
- 白熊效应在大模型上凸显,白熊效应:试着给自己设定这样一个任务:不要去想象一只北极熊。然后你会看到,这个该死的东西每分钟都会出现在你的脑海里。
- 学会遗忘。对于人类而言记忆是一件痛苦的事情,对于大模型而言怎样去遗忘反而成为了关注的焦点。
- 长时间运行导致的人格解离,上下文压缩的次数越多越可能出现,具体表现为思考的语无伦次。
- 上下文利用率,上下文对大模型而言具体的效用如何?大模型真实的上下文使用率能到达多少?
- 自我反思的频率与必要性,当前的 Harness 工程似乎很少看到会让 Agent 进行自我反思?对于人类而言,实现某个方案会经常性的对方案进行评估与反思,对当前的实施状况也会存在一种反思,进而熟悉项目和让方案落地后更加优秀。