江鋆晨
KV Cache 有 3 层理解。第一层理解是,KV Cache 是一种可以存储下来的黑盒数据,很多工业界的公司都在做。
第二层理解是,工业界现在做得很少,但是学术界已经做了很多:KV Cache 是有语义信息的,而不是把 KV Cache 看成一个黑盒。你可以去改动它的内容。
第三层是说,你可以继续改它的语义。学术界已经开始有人做了,但是工业界很少有人理解到这一层。
我们为什么做这个公司的原因之一,是在学术界里面,可能大家已经走得很远,但是你需要影响工业界的话,就必须得做一场大浪。可能 KV Cache moment 比我想象的要来得早,有可能。有可能在今年年底前就会有很多。
曹卿云
鋆晨,欢迎你来到《硅谷坐标》。今天在谈 TensorMesh 之前,我想请你帮我们建立一个认知的坐标:在现在整个 AI 推理的环节里,主要的瓶颈在哪里?卡在哪些环节?
1. AI 推理瓶颈正在转移
首先,AI 已经不是 2 年前的 AI 了,它的 workload 比以前涨了很多很多。但同时,这个 workload 当中的 prompt pattern 和以前也非常不一样。
以前大家可能就是说一些对话性质的东西,现在 use case 多了,有很多 agentic use case,会有长文本。同一个 query,它的文本一长,输入越长,就会对 GPU 的计算能力有很大的要求;同时,它会对 GPU 内部的存储有非常大的要求,因为你算得越多,存的数据也需要越多。
同时,它有 model 的记忆。因为 model 如果把长文本梳理完了之后,会有很多内部的记忆,这个记忆以后也得存下来。所以现在的瓶颈,说到底就是资源跟 workload 可能有不对等。不仅是通过改模型、等更好的 GPU,同时也需要软件层面的创新,让这么大的 workload 在有限的资源上可以跑得好。
曹卿云
那 TensorMesh 在这里面解决的是哪一个环节的瓶颈呢?
2. TensorMesh 管理模型记忆
TensorMesh 是一家做软件创新的 startup。在软件这个层面,我们做的主要就是大模型的记忆管理。
为什么说是记忆管理呢?其实大模型每次看到很多文本之后,它自己可以有一个内部的理解,管它叫 KV Cache。KV Cache 其实是一大堆浮点数,这些 tensors 存储了模型自己的记忆,也就是模型自己对于长文本或者任何 token 的理解。
这个记忆在 TensorMesh 做这些软件之前,经常会被 GPU 丢掉,也会被模型丢掉。因为模型一旦看过一次、做过一次输出之后,它是 stateless 的,不会记这些记忆,而是直接把这些记忆丢掉。
但是 TensorMesh 和我们的开源项目可以把这些记忆留存下来。任何时候,model 如果再看到类似的场景、类似的 input,或者同样的 context,模型就可以把存下来的记忆复用起来。
这件事情,TensorMesh 现在估计是业界做得最好的几家公司之一。同时,我们的技术也有不少领先,所以我觉得我们在解决现在最卡脖子的问题之一。
曹卿云
所以我理解,在模型输入的 prefill 阶段和 decode output 阶段,你们解决的主要是 prefill 这个阶段发生的事情。
对,暂时是这样。Decoding 也有一定的用途。如果你的输出太长,GPU memory 也存不下了,那你在输出期间也有可能会需要一些远端设备来帮你维护,或者一个分开的设备来帮你存 KV Cache。
但是,我们主要做的还是帮你省去输入端不停读取同样文本时产生的 overhead。
曹卿云
讲到这一点,大家会有一个感觉:输入端的 input token 价格很便宜,可能只有 output 的几分之一。听起来好像并不是一个能够创造很多价值的创业方向。
3. Prefill 成本并不便宜
其实如果你看真正的计算成本,不去看它的定价,而是去看背后的计算成本,你处理一个 input token 和生成一个 output token,代价其实是差不多的。
它并不是说你处理 100 个 token 的 input,就要生成 100 个 output token,所以 input 就便宜很多。它其实计算的量是差不多的。
为什么会有这样一个印象,说 input 比 output 便宜呢?毕竟大家在用 chatbot 这种 application,或者说用 LLM 的时候,多数时候是在等 output,多数时间花在看它的 output 慢慢生成出来。大家会下意识地忽略:它 input 好像处理了几秒钟,就直接开始生成 output 了。
但其实在预处理,也就是 prefill input 的期间,有很多很多计算需要做。甚至它会做比 output 那 1,000 个 token 还要多的计算,因为很多时候模型在处理 input 的时候,可以大规模并行化。但并行化不代表计算量很小,它其实做了很多很多计算。
如果算 FLOPS,也就是 GPU 的计算单元的话,其实 input 和 output 在每个 token 上的计算成本是差不多的。甚至在很多真实的 use case 下,input 的长度比 output 的长度还要长。
我给你举一个具体的例子:input 是几万个 token,output 可能是几千个 token,那 input 确实比 output 长十几倍。但如果看时间,用户盯着屏幕看的时候,多少时间是在等 input 的处理,多少时间是在等 output 的生成?
input 其实只占十分之一左右,90% 的时间都在 output。所以大家确实会有个印象:output 非常贵,是因为它比较慢,provider 需要花很多精力把 output 做出来。
但其实 output 只是处理得线性化,它没有并行而已。因为它是线性化的、没有并行,所以占用 GPU 的时间比较多。
这样的话,从 provider 的角度来说,它确实看起来更贵一点,并且它也有更好的理由去说它很贵。但如果算真正的成本,prefill 的成本跟 output 的成本在每个 token 上是一样的,甚至整体的 prefill 成本会更高。
曹卿云
所以 prefill 的 input token 价格便宜,但它的数量级其实是 output 的好几倍。
对。因为模型是 stateless,没有状态。如果是 agent application 或者长对话,随着时间推移,或者说你跟模型交互得越多,这个模型就需要你每次都告诉它更多的 context。
所以模型的 input 只会越来越长,但是每次的 output 不会相应变长。很多时候,agent application 和 chatbot application 的输入,过一段时间之后就会比输出长很多。
回到你刚刚说的,为什么大家看 pricing 的时候会有这个印象?我觉得很大程度上是这些 inference provider 在说它们怎么平衡这个 cost。并不是说 input 便宜、output 贵,就真的反映了它真实的成本。
曹卿云
大模型的定价里面,除了 input token、output token,还有一个 cached token。Cached token 相对于这两者来说是白菜价。感觉大模型已经在做同样的 cache 事情了,这跟你们做的事情有什么不一样?
4. Prompt Caching 只是第一步
首先,prompt caching,就是你刚刚说的一些 token 被 cache 下来,然后在账单上也会体现为一个更低的价格。这是很多大模型推理服务商现在会提供的一种服务。
但是在我们的开源项目和所有使用我们开源项目的公司里面,所谓 cache 下来一个 token,它的应用场景是非常有限的。因为第一,它 cache 的 token 只是在 CPU 里面存下来。如果你要把它放到 remote storage,放到更便宜的存储系统里面,性能会差很多。这也是我们经常观察到的事情。
我们公司的目标不仅是要优化 KV Cache 存储的效率,同时要做一套可以让所有人使用,并且有很多大家现在根本想不到的 KV Cache 相关优化。
在我们看来,KV Cache 是未来的大数据。为什么这么说呢?因为 KV Cache 本身并不只是一个存下来以后可以复用的东西,它里面还有非常有用的语义信息。
这些语义信息,是现在所谓把它 cache 下来的人不会去看的。如果把这些语义信息挖掘出来一些有用的东西,它可以让你把 KV Cache 存得更多、存得更好、存得更快,甚至可以改变 model 的行为。
这些大模型推理服务商在 cache token 这件事情上,确实是一个非常好的 validation,证明我们做的东西有价值。他们现在提供的这个服务,只不过是我们整个 vision 里面最开始、最小的一步。
曹卿云
所以你们的 vision 是什么?你对于 KV Cache 的本质是怎么理解的?
5. KV Cache 的三层理解
我们看 KV Cache 有 3 层理解。
第一层理解是,KV Cache 是一种可以存储下来的黑盒数据,它是一个 cacheable compute state。这个状态可以被存下来,但是在这层理解里面,大家觉得这个状态就是一个黑盒,不能改。因为存下来之后只能 as is,存什么就用什么。
这个层面其实很多公司都在做,很多工业界的公司都在做,因为大家这是最基本的一层理解:把它记起来以后可以复用。
第二层理解,工业界现在做得很少,但是学术界已经做了很多。KV Cache 是有语义信息的,代表模型自己的注意力信息,也就是 attention。
所以,如果把 KV Cache 的值稍微改一改,只要不改变它的注意力、不改变它的语义信息,KV Cache 一样可以复用,而且可以复用得很好。
到了这层理解,大家就不会再把 KV Cache 看成一个黑盒,而是把 KV Cache 看成一个白盒,你可以去改动它的内容。你可以让它变得小一点,可以做压缩,也就是 lossy compression;或者说,你可以对 KV Cache 做一些 update,使得它在文本复用时,在任何地方都可以复用。
甚至,KV Cache 可以在文本不同的时候复用。对应的文本不同,但是语义可能差不多,那这样你还可以复用它的 KV Cache。我们有些技术可以让 KV Cache 在不同模型之间复用。
这些都是第二层理解:理解到 KV Cache 不仅是个黑盒,它是一个有语义信息的东西。你去改变它的数字,只要不改变它的语义,就有很多优化可以做。这些学术界做了很多,但是工业界现在很少做。
第三层理解,我觉得是最有意思的理解。大家想象一下,其实模型在生成结果的时候,取决于两个东西:一方面取决于模型的 weights,也就是权重;另一方面取决于 KV Cache。
你可以想象,模型的输出其实就是模型的权重和模型生成的 KV Cache 当中做一些操作,最后生成结果。所以,只要你可以把 KV Cache 内部做一些改变,就可以改变模型的输出,也可以改变模型的 attention。
第二层只不过是说,可以通过改 KV Cache,但不改变它的语义。第三层是说,你可以继续改它的语义。你可以告诉模型:“Pay more attention to this, pay less attention to that。”你可以去改它的注意力。
做这种操作,甚至可以让模型输出的准确性更高、质量更高。这些事情,学术界已经开始有人做了,但是工业界很少有人理解到这一层。
那我们为什么做这个公司?原因之一就在于,学术界里面可能大家已经走了很远,但是你需要影响工业界的话,就必须得作为这样的 startup。
曹卿云
我很好奇,感觉 KV Cache 应该是工业界每天都在接触的东西,但是最后这块创新的前沿却是学术界在做,这是为什么呢?
6. 工业界为何停在黑盒
首先大家看一个数据,可能对它的理解层次不一样。工业界的工程师看到系统里面产生的数字时,第一反应是不去改它,而是把它存起来,把它当作黑盒看待。
学术界看待这种数据问题时,会想:这个数据里面有什么语义信息?类似的事情在当年大数据的时候发生过,现在在 AI 时代也会发生。
AI 时代里面最重要、最有意思的数据就是 KV Cache。我们公司一直说 KV Cache 是未来的大数据,其实就是这个数据本身有价值,而不是把这个数据存下来、复用一下的价值。Way beyond that。
曹卿云
你觉得工业界现在只是理解到第一层,第二层和第三层对他们来说,如果他们也想做,你们的优势在哪里?
工业界很快就能有更多资源、更多人力把这个事情做掉,完全有可能。我甚至觉得,这件事情我们本来以为有可能会明年、后年再发生,但是现在有可能今年年底之前就会发生。
KV Cache 的关注度越来越高了,自然而然会有人说:“我能拿 KV Cache 做什么更有意思的事情?”
但是我一直有信心说,这件事情对做 startup 来说是非常好的机遇。因为要对 KV Cache 的 3 层都有理解,是非常非常难的事情。
能做第一层、能做 KV Cache 黑盒操作的人,必须得是非常好的 engineer,必须得是 infra、backend engineer,能接触到 GPU 的 engineer,才能看得到这个数据。
但是这些人能做第一层,做不了第二层,因为他不知道这个数据里面到底有什么含义。你必须得是做 ML 的人,才能理解这个数据的含义,才能做第二层,甚至第三层。
但是做第二层和第三层的人是谁?是 researchers。这些 researchers 并没有工程方面的 insight,无法接触到真正的 KV Cache system。所以能做第二层、第三层 research 的人,做不了第二层、第三层 engineering,因为他必须得有第一层 engineering 的实力。
精简一点说,就是做这些不同层的人,背景不一样。在大公司里面,可能一个公司有做这 3 层的人,但很难把他们放在一起,去做一整套能够把这 3 层全部打通的系统。
曹卿云
所以看起来你们的优势是跨学科、跨专业。跟大厂比起来,在 CS 这个领域里面,可能是跨 topics 的。大厂组织这些资源会更困难。
一方面是,他们现在还没有这个 vision,让他们有这种魄力去真正做这件事情。
有很多公司内部要做类似的东西时,他们会说:“TensorMesh 融了那么多钱,就干这个,是吧?我们也应该做这个事情。”
其实我并不是特别担心这件事让大公司知道,他们会立刻 act that fast。我不知道你听没听 Sam Altman 说过这件事。他以前有个观点:小公司做 startup,你有再好的 vision,去到大公司的 CEO 面前跟他说“你应该做这个”,他们也不一定做得了。
不是因为他们没有这个实力,而是因为人的 attention 分散在太多地方。我们是专注做这一件事情,大公司有很多很多 priorities。他们可能有一个组在做这个,但是可能过两个月就做别的了。
所以我们现在有个机会:我们是非常少数的 startup 或者开源项目,直接只做这一层,只做这一个 vision。
但是这个 vision,过两三年之后会变成非常非常大的一件事情。等大家都意识到第二层、第三层有多少优化空间的时候,到那个时候,KV Cache 就会真的变成 big data。
你想想看,当年 big data 有多少公司,对吧?
曹卿云
讲到市场空间,我很好奇,你们解决的这个问题,都是一些 query 可能有更多重复调用的公司。都是什么样的客户?什么样的场景会是你们最好的 customer?
7. 企业客户需要共享记忆
这是个好问题。其实首先,我们是不能看到客户到底在用什么的,就连他们在用这个 library 做什么,我们也不知道。甚至对于开源项目,我们都不知道谁在用这个东西。
我们只知道用的人很多很多,因为我们去问很多公司:“你们要不要试试看 LMCache?”他们会说:“我们一直在用啊。”所以确实很难知道这家公司到底 exactly 怎么在用。
但是从我们和他们交流的经验来看,大企业有很多场景,包括 coding agent、公司内部的 enterprise chatbot,以及内部的 financial services、legal services。它们有很多所谓的 shared knowledge。
公司内部可能有一个 codebase,需要被所有 agent、所有 coding agent 使用;有一套 policy documents,需要给所有 chatbot 使用;有一些 legal documents,需要给所有 legal chatbot 使用。
所以,有很多所谓 shared knowledge 需要在不同 use case 里面使用。但是这个时候,你要每次都让 LLM 不停地读这些 shared knowledge 吗?这肯定很浪费。
所以现在一种非常 common 的 use case,就是 across multiple applications,包括 coding、chat、RAG,还有 multimodal 这种应用。Across many applications,它都有 shared knowledge 作为模型输入的 context。
这种场景对 LLM cache 和 TensorMesh 技术来说是最有利的场景。
曹卿云
我可以理解成,企业端有一些私有部署的需求,希望能够把控自己的 KV Cache,并且 workflow 有很多重复调用。比如法律、金融,甚至还有客户服务。
对。有些 best practice,或者一个 agent 的效果好不好,很取决于你怎么给它描述这件事情。
很多 best practice 确实可以用文本的形式存下来,以 human-readable 的方式存下来。但是,如果可以把它用模型 readable、model-native 的方式存下来,模型就可以直接读。这样的话,它不用每次再处理。
曹卿云
这很有意思。所以你觉得,agentic workflow 越来越多,其实对于你们是更利好的,因为 prefill 阶段重复理解问题的情况会越来越多。
因为 agent 说到底是一个和环境以迭代方式交互的逻辑。你迭代得越多,交互得越多;交互得越多,它产生的 history 就越多;history 越多,模型每次看起来就是 long context,越来越长的 context。
曹卿云
除了降本这个角度之外,agent 因为有了缓存,会不会让最后任务的效果也变得更好?
会,当然会。这不一定是我们现在产品里面已经实现的事情,但在我们现在的 vision 里面一定会做。
因为模型把记忆存到我们这里之后,首先我们觉得需要明确一件事情:模型是怎么生成 KV Cache 的?模型是把你给它的内容读一遍,读完一遍之后,开始生成 KV Cache。
它其实是 one-directional、unidirectional 的,就是读了一遍,第一次生成出来的 KV Cache,经常会有所谓的 lost in the middle。概念就是,如果文本太长、input 太长,这个时候你让模型找出文本里面的某些特定信息,模型通常会在信息位于开头或结尾时找得比较好。
但是如果信息在中间,模型就找得不太好。其实跟人一样,人如果读一本很长的书,只读一遍,肯定很多信息都会被漏掉。
我们的 vision 之一就是把 key-value 存下来,同时在存储的地方对它做优化。你可以让模型把文本中重要的地方再读一读,把 attention 再提高一点。
这样的话,它可以把 KV Cache 的内容变得更好。下次这个 KV Cache memory 再被复用的时候,模型就可以更好、更精确地输出。
曹卿云
如果看整个你们服务的市场空间,你觉得这个 total addressable market 会有多大?增速会是什么样?
我觉得 total addressable market 是个 misleading word,因为 addressable 的前提是大家现在在想这个事情。绝大多数人现在都没有在想这个事情,因为大家还没有意识到它有这样的潜力。
现在在企业里面做 AI 的人,基本有两类:要不然你是做 model 的人,要不然你是写 agent application 的人。能提高一个 agent quality 或者提高 agent accuracy 的人,基本就是这两类人。
你大不了要不然改模型,要不然改 prompt。在模型已经确定、prompt 也已经确定的前提下,怎么让这个模型更好地理解这个 prompt?这件事情是提高 quality 的第三条路。
这条路现在其实关注的人并不多,说实话是很少很少,所以大家根本没有意识到这有这样一个 market。
曹卿云
能做这件事情的人,既要懂 system,也要懂 machine learning。
对。因为你要打通从第一层存储一直到最后的优化,需要一个团队既有 system 的能力,又有非常强的 system 能力,同时也要有非常强的 ML 能力。
说实话,这种人才是有的。这种人才确实很少,因为我从学校里面出来的,有很多 CS PhD,或者做 ML 的人有很强的 system 能力,或者做 system 出身但是有很强的 ML 能力。
但这些学生一般去了工业界,现在都拿很高的工资去纯粹做 model training 了。
曹卿云
现在行业里好像做 KV Cache 优化的公司也很多。TensorMesh 跟其他那些公司有什么不一样?
我们做这个事情比所有人都早。我们是第一个开始做这方面 research 的,也就是做 KV Cache 系统优化的 research;我们是第一个做开源的,同时现在也是最早有 commercial product 出来的。
我觉得如果从开源生态角度来说,LMCache 这个项目估计是类似 effort 里面,包括学术界和工业界在内,ecosystem support 最好的。当然,LMCache 这个项目现在已经不仅仅是我们公司在维护,也有很多很多公司在维护。
如果问我技术上、系统技术上,也就是做 KV Cache 存储这件事情,我们做的东西确实跟别人没有太大区别。但是你要说,我有一套真正的系统、真正的 artifact,把这件事情做好,并且让很多人都可以顺利地用起来,还有很多公司以开源的形式做贡献,我有信心说,没有其他公司可以做得那么好。
另外一方面,我们跟别人不一样的地方是,绝大多数做 KV Cache 优化的公司,所谓优化就是把它存起来,最多再做做压缩,也就做到这个程度了。
很难有公司有能力把系统和我刚刚说的那些优化全部打通。这种公司现在我们还没看到。但是像我说的,可能 KV Cache moment 比我想象的要来得早,有可能在今年年底前就会有很多。
说实话,我听过投资人问我:“这个公司融钱要干的事情好像跟你们差不多。”我说:“确实差不多,good luck。”
曹卿云
你刚刚说到其他优化。我觉得 compression 是一个比较特殊的优化,因为它是大家非常容易理解的。毕竟 video 有 compression,各种各样的东西都可以压缩,东西一大,大家第一想到的就是 compression。
但是有很多只在 KV Cache 上 make sense 的优化,比如刚才说的 attention,就是你可能改 model attention。
我给你举另外一个例子,像 CacheBlend。CacheBlend 是我们估计独有的技术,它是做什么呢?
8. CacheBlend 打开复用边界
传统上,KV Cache 只能在前缀上做复用。如果它复用的 text 不在前缀上,而是在一个 input 的中间,那 KV Cache 不能复用,因为 KV Cache 里面不包含它和当时前缀之间的关系。
这是一个非常技术性的问题:KV Cache 需要被 update 一下,需要被改一下之后才能复用。这个修改的过程需要计算。
所以,KV Cache storage 不仅仅是 storage,它是一个 service,里面有 smart intelligence。你要把里面存的内容改一小下,才能让它复用起来,才能让 GPU 去复用。
这样的话,在这个 storage system 里面就需要有计算能力。所以它不仅仅是存储的问题,也是计算的问题。这里面就牵扯到很多事情,你真的需要懂 system,也需要懂 ML。
曹卿云 Qingyun Cao
好像以前听到的都是对于前缀的修改,没有听说过对于后缀,或者说非前缀的修改。你说的中间也是非前缀,对吧?
江鋆晨
也是非前缀,对。
曹卿云 Qingyun Cao
我们知道,未来 context window 会继续增大,agent 的需求也会增多。特别是现在我们还只是在讲 language model,之后还有 image 和 video。那 KV Cache 该怎么存?有没有更加 scalable 的解决方案?
江鋆晨
这是个很有意思的问题。大家现在说长文本,说的都是文字,包括 code 其实也是文字。Multimodal 可以处理图像,model 可以处理视频,甚至是 3D video。
很多人没有在说的一件事情是,图像和视频作为输入时,对于 model 来看其实还是 tokens,但是是 much longer sequence of tokens。
比如几十秒钟的视频,它生成的 token 数可能相当于一本大部头书里面的文字 token 数。几十秒钟的视频,里面的 token 数量是非常非常庞大的。
有了多媒体,也就是 multimodal input,包括 video、image 之后,它们本身带有很多冗余的语义信息,所以这种 input 有很大的压缩空间。这可能是个 research idea:你不需要把整个 video 作为 input,可以先把它转成文字,再作为 input。
当然,这样会丢掉一些细节。但是如果你知道这个模型要分析哪些东西,就可以先把它转成文字再给 model,肯定有很多这样的优化空间。
说到前缀复用,或者说 context 复用,在 video 和 image 里面,这个复用的定义可能非常不一样。
比如同一个 video,一个是 480p,一个是 1080p,同一个视频、两种不同的像素率和清晰度,算不算不同的 input?它应该是一个 input,但是你把它转成 token 之后,可能长得完全不一样,因为长度都不一样。所以这里面有很多优化空间。
曹卿云 Qingyun Cao
所以你觉得,存储硬件本身供给端的瓶颈不会影响未来,因为还会有更多优化技术出现?
江鋆晨
对,不会真的影响到实质性的效果。但是毕竟需求量会越来越大,所以对于资源的要求也会越来越高。
当然,像 NVIDIA、AMD、Intel 每年都会有新的硬件出来,对吧?
曹卿云 Qingyun Cao
我理解你们的商业本质,是建立在算太贵、存比较便宜,所以用存储来代替计算这样的逻辑基础上。存储的价格一直在涨,GPU 的价格也还在涨,我们怎么去算这个经济账呢?
江鋆晨
我们公司并不是做硬件采购生意的,我们是做硬件上面软件层的事情。但是我们的很多服务对象需要采购这些设备,他们需要采购 GPU、存储设备、CPU,以及这些一体机。
我觉得他们现在很多焦虑是,存储价格真的很贵。但大家其实也都知道,存储价格贵是因为供需不太平衡。只要产能上去了,这些 storage 都可以卖得出去,价格就会下来。
当然不会下得那么快,因为现在很多存储厂商的订单都已经订到 2 年之后了,所以价格也不会下得那么快。但是长期来看,它是会下来的。
其实经济账应该这样算:到底应该花多少钱在硬件上,多少钱在软件上?因为像我说的,很多优化发生在软件层面,你需要好的工程师帮你做这些优化,或者买好的服务来做这些优化。
与其花更多的钱买更多 GPU memory,或者买更多 storage、买更贵的 GPU,不如想想是不是可以有软件方法,让你用现在的 GPU 和现在的 memory 做到类似的事情。这里面其实有很大的期望空间。
曹卿云 Qingyun Cao
最终存储的供需平衡还是会有的。你觉得存储仍然是一个周期?这次的周期是不是有点不一样?
江鋆晨
当时做大数据的时候,云厂商在大数据出现之前,business model 可能想的是大家过来租一些机器。但后来有了大数据,存储和算力的需求就完全不一样了。
所以你确实可以说,价格会更平衡一点,供需也会更平衡一点。但是 AI 确实有一个新的 usage pattern,和当时的 cloud 不太一样,和大数据也不太一样。
这点我们现在还真看不出来未来会变成什么样。有可能存储会一直是一个头痛的大问题,也有可能模型会变得越来越多,一个 service 需要同时跑 30 个不同的模型。
比如 RL training 会把一个模型变成 30 个版本,那样 GPU 的用量反而会更高。所以这些都是 we have to see,不是现在可以直接预测出来的。
曹卿云 Qingyun Cao
如果 KV Cache 是 AI 记忆最核心的东西,那听起来这就是一个长期需要、周期很长的市场。
江鋆晨
对,很难看出来存储是不是以后的最大 bottleneck。因为我不希望让大家买很多存储设备之后才能使用我的服务,对吧?
KV Cache 是非常有价值的数据。并不是说存这些东西很贵,而是把它的 insight 挖掘出来,以及通过修改和存储 KV Cache 能得到的效果,空间非常大。
它可以帮你提速、降本,甚至提高 inference quality。
曹卿云 Qingyun Cao
我理解,你们主要是把大量的 KV Cache 存下来,然后把最容易复用的东西放在 HBM,也就是最热的存储层;把复用比较少、频率比较低的东西放在更冷的存储层。
这些数据存在越来越冷的层里面,每存到更冷一层,牺牲的是传输速度。那对整体的推理表现有什么影响?
江鋆晨
说到底它就是个 trade-off,是计算机系统非常经典的 trade-off,也就是计算和存储的 trade-off。
传统上,计算省得越多,存储就需要得越多,速度也会降低。
在大语言模型里面,其实很有意思的一件事情是,如果存储足够快,比如在 CPU 里面存,甚至存到 local SSD 或者 GDS,也就是 GPUDirect Storage 里面,这些 KV Cache 可以既让你省掉很多 GPU 计算、减少 GPU cost,同时把这些东西取到 GPU 里面复用的速度反而比重新计算更快。
这样既帮你降本,又帮你提速,在系统上看是非常非常好的事情。
当然,如果把 KV Cache 存到更冷、更远端的存储设备上,loading KV Cache 的时间会很长。所以在某个阶段,它确实会出现减少 cost,但是延迟有一定增加的 trade-off。
我们现在看到的很多情况是,因为 KV Cache 本身的 size 也会越来越小,它有 compression。所以一般来说,只要网速不要太慢,存储 KV Cache 通常都是有好处的,既可以减少 cost,也可以提高速度。
如果把 KV Cache 存在中国,而 GPU 跑在美国,那肯定会把整个系统拖得很慢。但是降本的 benefit 还是在的,因为毕竟让 GPU 少做了很多计算。
曹卿云 Qingyun Cao
如果未来 KV Cache 要存得更多,你觉得存在哪一层可能受益最多,增量最大?
江鋆晨
这是个好问题。这完全取决于每一层的价格有多高。
像现在 SSD,价格甚至有可能会接近 RAM。它虽然速度没有高很多,但可能比较稀缺,对吧?所以价格被推得很高。这样的话,存到 SSD 里面可能就不是那么经济。
但是,如果模型特别大,KV Cache 也特别大,那必须得存 SSD,SSD 肯定还是会有很大的好处。
对我们来说,我们的商业模式和技术跟存储技术是两个层面,并没有耦合的成分。只要你有更多 storage,我们都可以帮你把 KV Cache 存下来,而且是以最高效的方式存下来。
其实你刚刚提到了一件事情:如何保证热的 KV Cache 在快的地方,冷的 KV Cache 在慢的地方。这是个非常有意思的系统问题。
这个问题在学术界很难解决,在一个产品里面也很难解决。你必须把 KV Cache 存在哪的决定权交给真正的 operator,也就是实际使用这个系统的人,让他们去写:如何判断一个 KV Cache 到底是热的还是冷的?如何判断一个 KV Cache 下一秒会被用,还是下 10 分钟会被用?如何判断一个 KV Cache 今天用、明天也用、每天 8 点钟都用?
很多这种优化,产品本身很难自动完成。你必须得有一个 interface,有一个界面,让真正使用这个系统的人表达他的 domain knowledge,也就是他知道的这些 knowledge。
这也是我们公司的 vision 之一。我们并不希望做一套完全 transparent、透明的 KV Cache 系统给这些公司用,而是希望让公司里真正接触这个系统的人,把他们的知识也用在把产品做得更好的过程中。
曹卿云 Qingyun Cao
不知道用什么比喻,可以让大家更好地理解 KV Cache,包括它的存储和分发。
9. KV Cache 需要分发网络
江鋆晨
其实这是在 2000 年左右非常非常火的一个概念。当时 CDN 最早、最好的提供商之一叫 Akamai。Akamai 就是当年的 OpenAI,火到这种程度。
因特网刚开始的时候,CDN 是一个非常非常重要的组件。没有它,每个人看网页都得花 10 秒钟甚至更长时间,才能看到非常基本的网页。有了 Akamai,直接半秒钟就给你了。
Akamai 干的事情,就是把数据放在用户非常容易接触到、延迟非常低的地方。
所以我们一开始说 KV Cache 的时候,我就说,是不是应该想象一个 CDN,一个内容分发网络,也就是 Content Delivery Network?需要有一个 CDN for KV Cache。这样模型在需要 KV Cache 的时候,就可以把 KV Cache 从非常近的地方拿过来。
后来发现,现在模型还都是跑在同一个 data center 里面,那我们先做一个 data center 内部的 mini CDN,跟现在做 KV Cache Storage 差不多。
现在大家并没有把 KV Cache 分布在全世界不同的地方,AI 模型多数都是跑在同一个 data center 里面。所以我们就在一个 data center 里面做一个类似 mini CDN 的东西,这就是我们现在做的 KV Cache Storage。
曹卿云 Qingyun Cao
未来趋势不就是 data center 之间也要互相连接吗?其实越往大规模扩张,对你们越有利。
江鋆晨
对。我们可能 3 年前看到了 6 年后的东西。
有可能过两三年之后,inference service 会变得更加分布式,包括 edge 出来之后会更分布式。AGI 出来之后,也会更分布式。
更分布式之后,就会需要一套 Internet-scale distribution system。那可能就会回到我们两年前说的,knowledge delivery network 的感觉。
曹卿云 Qingyun Cao
为什么现在任务量都只是在一个 data center?什么样的场景可能需要跨数据中心?
江鋆晨
有,但是现在这种场景并不多。一般大家还是觉得,在数据中心里面部署 GPU 是对 cost 来说最省的方法。
同时,大家对延迟的要求还没有那么高。毕竟一开始大家做 AI 都是 chatbot,chat 的话,只要生成速度够人看就可以了,对吧?
但是现在是 agent。生成得越快,agent 跑得越快。Agent 是把生成的东西给自己读,当然越快它读得越快。
所以以后大家对 delay 的要求可能会越来越高。对 delay 要求高了之后,就不会把所有东西都跑在同一个地方。大家以后可能会希望把 AI 推理系统和这些硬件放到离终端用户更近的地方。
离终端用户越近,delay 越低,最后生成的结果就可以让 user 尽快看到,user 也可以更好地跟它互动。
等到那个时候,模型离用户越近,模型跟模型之间的距离,或者 engine 跟 engine 之间的距离、GPU 跟 GPU 之间的距离,就会越大。
你可以想象,现在所有人都在网络的周边,模型和它的硬件全在中间,所有人都跟中间这个东西交流。但是以后模型可能会离用户越来越近,那模型跟模型之间的距离就会越来越远。
到那个时候,就会有一种新的 CDN 出来。我们可能当时想得太乐观了,但是 3 年里面这件事没有发生,不代表 6 年不会发生,10 年不会发生。
曹卿云 Qingyun Cao
还有一个很有意思的问题。你们公司的顾问是 Ion Stoica,他是 Spark 和 Databricks 背后的人。你为什么选他做你的顾问?你们私下是怎么讨论的?
江鋆晨
我们有 2 个 advisor。一个叫张辉,张辉以前是 CMU 的教授,现在是 Conviva 的 CEO;另外一个是 Ion Stoica,他是 Berkeley 的教授、Databricks founder,也是 Anyscale founder,还是很多公司的 founder。
他们俩其实跟我都是同一个组的。以前我们合作很多。Ion Stoica 可能是张老师前几个学生之一,而我是张老师最后一个学生。
为什么找 Ion Stoica?因为我们一直觉得,我们做的事情并不是纯粹的 GPU 计算问题。我们很早就一直说,KV Cache 是 AI 的大数据,所以一直有一个 analogy:这个东西跟 Databricks 有什么关系?非常高层次上,可能是有相似性的。
他关注 AI inference,他的组是做 SGLang 和 vLLM 项目的组,所以他们对这方面非常懂。
我跟 Ion Stoica 谈 KV Cache 的时候,他一开始其实也没听懂我在说什么。但是我说得多了以后,他也意识到:这件事真的有意思,它是一个数据问题,跟 vLLM、SGLang 做的那些计算问题不是一回事。这是一个数据问题,是一家数据公司。
关于我们做的事情和 big data、大数据的关系,他其实也提了很多建议,也看得到其中的相似性。
当然,Databricks 做的东西跟我们做的东西还是两个世界。Databricks 做的是企业级用户数据,也就是 human-readable data。你可以这样说:我们做的是只有 model 才能看的 data。
如果有一个世界全是 AI model,那可能我们干的就是 Databricks 的事情。
曹卿云 Qingyun Cao
你怎么看最近的 token maxing?从 token maxing 到 token utilization efficiency,你觉得里面最大的机遇和挑战是什么?
10. Token 消耗正在失控
江鋆晨
我对 token maxing 的粗浅理解是,大家对于 AI model 的能力有很强的自信,所以把所有东西都放到 AI model 上。越来越复杂的任务放到 AI model 上去做,token 的消耗量就会越来越高。
有时候 AI 做了一个错误的决定,你还需要让 AI 去 fix。这样 token 量就越来越多。
现在已经有很多公司意识到,cost 并不能 justify 它的 benefit。这不代表技术不行,技术还是有用的,只不过你需要有更好的方法来利用这项技术。
这也是为什么很多现在的 agent 公司非常火。它们是以什么方式来解决这个问题呢?就是告诉你哪些 token 或者哪些 context 是真正有用的,如何发掘真正有用的 context,以及如何跟工程师提供更好的界面,让工程师更好地 express their intention,从而减少 token 的用量。
这些对于我们来说都是好事。就像我说的,这是 Jevons' paradox:一个东西的效率越高,大家的需求只会越多、越高。最后对于我们来说,结果就是 token consumption 的量只会越来越高。
最有意思的事情是,现在大家做 token maxing 的时候,都是以野蛮生长的方式去写这些 agent。
所谓野蛮生长,就是模型看过什么、生成什么,就直接放到 context 里面,下次继续让它读。相当于每次问模型,都告诉它:“这是你之前看到的所有东西,以及你之前说过的所有话,读一遍,然后回答新的问题。”
这真的是非常非常低效的方法。先不管 model quality 怎么样,这都会非常消耗 token。
所以有很多公司在做 compression,把以前的东西 compact 一下。但是毕竟很多时候东西是没法 compress 的,它只能让它复用。而复用也不需要复用所有东西,这就是我们做的技术有用的地方之一。
野蛮生长的时候,大家复用的都是前缀。但是聪明一点的时候,会有很多复用是非前缀的。这就回到刚刚说的 CacheBlend 这个技术。
现在有很多公司对 CacheBlend 这个技术特别感兴趣,就是因为它可以让它们做更有效率的 token mixing,不需要让模型一直去读以前所有东西,再看一遍。
曹卿云 Qingyun Cao
我想谈谈现在大模型公司的格局。你怎么看?你未来希望这些大模型公司是一家独大,还是百花齐放?哪一种对你们的发展更好?
江鋆晨
最后可能会有 2 种商业结局。
第一种商业结局,终局是像 search 一样,搜索由 Google 一家独大,对吧?其他公司的份额都很小,小到多数人都听不到,大公司也都用 Google。
第二种结果,是像视频一样。虽然 YouTube 是最好的、最大的这个网站,当然其次还有 Netflix,但是已经有很多叫得上名、也非常重要的视频网站,比如 HBO、MSNBC、BBC、Hulu,还有很多叫得上名的视频网站,很多人都离不开,对吧?这都是非常成功的商业模式。
我觉得大模型更像在线视频。会有少数公司非常非常大,发生 consolidation,但是也会有很多 service 需要自己独立的生存空间,并且也非常重要,它们有自己的生态。
有很多地方不能用第三方的闭源模型服务。比如主权 AI,或者客户信息、商业机密防护要求非常高的企业级用户,他们永远需要一套自己可以维护、自己可以控制的软件系统。
我猜最后的结果会更像 online video。
曹卿云 Qingyun Cao
中国最近的模型表现也挺好。不管是 2025 年的 DeepSeek,还是 2026 年最近的智谱 GLM,表现都很惊艳。你怎么看?
江鋆晨
首先,它们的 quality 越来越好,背后有很多原因,这里就不深入讲了。但是结果确实是,美国的大公司也都在用中国的开源模型,对吧?因为这些模型确实是开源模型里面效果最好的。
像 OpenAI 也开源过模型,Google 也开源过模型,但是这些模型或多或少都很难和中国的这些开源模型竞争。
所以我觉得,除非有很大的改变,不然在未来几年里面,开源模型可能还是得看国内的开源模型。
曹卿云 Qingyun Cao
TensorMesh 建立在可以产生 KV Cache 的 Transformer 架构上。如果以后换成新的架构,比如 Mamba,它产生的不一定是 KV Cache,这对你们的影响会怎么样?
江鋆晨
首先,我们一直说的 KV Cache 其实是一个暂时的名字。我们所谓的 KV Cache,概念是 model-native data、AI-native data。
这种 data 是什么呢?是模型在推理过程中,或者说运行过程中生成的中间状态,是模型生成的、它自己内部的理解。
这种数据其实在 Mamba 里面也有,在 diffusion model 里面也有,在以前的 convolutional neural network 里面也有。所有 model 都有,只不过在现在这个阶段,Transformer 是最 popular 的 architecture。
KV Cache 是 Transformer 的 AI-native data。所以我一直说,KV Cache 只是 KV Cache。
Mamba 确实跟 Transformer 有很大的不同。它所谓的 intermediate,也就是 AI-native data,是一个 linear state,是一个跟文本长度不直接相关的 size。
首先,Mamba 现在并没有被大量使用,只不过很多模型会用 Mamba 的架构替换掉中间的某些层。像 Qwen 3.5,它也是多数层使用 Mamba,但仍然有少数层,大概四分之一的 layers,还是用 full attention,也就是 Transformer。
所以现在业界的共识是,用一些 Mamba、一些 Transformer,把它们结合起来,也就是 hybrid model。
曹卿云 Qingyun Cao
最近 xAI 收购了 Cursor,你怎么看?
江鋆晨
xAI 收购 Cursor,其实反映了一个趋势:这些推理厂商,或者说从 inference、agent,到底层模型,再到 service provider,大家都在 consolidate。
这种 consolidation 肯定会发生,和当时做 cloud、container service 或者 big data 一样,一开始都是百花齐放,但很快大家都会 consolidate。
Cursor 对于 xAI 来说,本身有商业价值,但这只不过是现在很多收购和并购的例子之一。说实话,我对这个具体的例子并不是特别了解。
现在每个月都可以听到一个比较大的并购和收购,以后可能每个礼拜都会听到。
曹卿云 Qingyun Cao
最后一个问题。我们团队觉得,KV Cache 是 AI 时代的汽油。提炼石油的时候,汽油曾经是一个副产品,长期以来被当作废弃的燃料,直到内燃机出现,它才被重视,并且驱动了整个现代工业。
你觉得 KV Cache 未来会走上同样的道路吗?
江鋆晨
这个比喻非常好。确实,绝大多数人在看 KV Cache 的时候,觉得 KV Cache 就是模型运行过程中生成的一个 byproduct,在 GPU 内部存一会儿之后就丢了。
当然,对于做 ML 的人来说,他们知道 KV Cache 是非常有意思的信息,但是他们接触不到 KV Cache。所以现在的情况是,懂 KV Cache 的人接触不到它,接触得到 KV Cache 的人又不懂 KV Cache。
但是哪天真的有一个公司把这个价值挖掘出来了,它就会从废料变成宝,就跟汽油一样。
曹卿云 Qingyun Cao
你觉得未来这个内燃机时刻会是什么时候?
江鋆晨
取决于我们公司的发展。
曹卿云 Qingyun Cao
太好了,非常期待你们的 KV Cache moment,你们的内燃机 moment。感谢今天的时间。