一百万字一次喂进去,又贵又差

上下文窗口都做到百万字了,分块处理还有必要吗?我的答案:有。这不是感觉,是算出来的。

先算钱。一百万字一次喂进去,和一万段、每段一百字分开喂,哪个便宜?直觉说一次便宜——分开喂要多附一万份提示词,不就贵了?这里有个物理事实兜底:只要前缀一致,提示词就命中 KV 缓存,命中的部分基本不要钱。我当时的估计:百分之几都不到。后来真拿现价重算:0.83%,确实不到 1%。岔子也出过:旧价目表算出来的账看着吓人,那不过是几年的降价没折进去;拿现价重走一遍,结论不变:分开喂,不比一次喂贵多少。

再算质量,这才是大账。一百万字一下子输进去,注意力会越来越稀疏。不是忘了,是权重被摊薄——越靠前的内容,对当前输出的影响越小。更麻烦的是互相干扰:红楼梦跟水浒传不相干,一起扔进大模型,就算装得下那个上下文,也会互相串味,输出不准。

所以这笔账两头算下来:一次塞一百万字,省了钱——其实也没省多少——丢了质量;分开喂一万段,成本差不多,每一段拿到模型百分之百的注意力,互不干扰。

这不是所有任务的通则。要在一整本书里找前后呼应的伏笔,长上下文有长上下文的用处。我说的是批量处理:一万个独立任务,就别让它们挤在同一个房间里互相打听。

窗口的大小是模型的事。怎么把东西喂进去,是你的事。

Fengyu WANG
Fengyu WANG

市场 × 投资 × 工程——一个人,一套底层逻辑。