henry 发自 凹非寺

  量子位 | 公众号 QbitAI

  要我说,诺兰的《星际穿越》,还是拍保守了。

  电影里,两个平行时空的交汇,要靠摩斯密码。

  而今天,AI已经能“附”到任何物体或角色身上,让它们在另一个世界里开口、行动,和你实时视频通话。

  比如,这只小猫可以一边说着土味情话,一边弓背、摇尾巴、抬爪子,还能在自己的世界里来回走动(注意看,它脚下的影子也会随之变化)。

  

  重要的是,这些反应并不是提前编排好的。

  小猫会跟着你的声音即时变化:你说一句,它就根据新的输入作出新的动作和回应。

  而这只小猫背后,就是Vivix最新发布的实时交互多模态模型A1。

  A1让用户可以像打视频电话一样,与屏幕另一端的虚拟角色持续交流。

  

  相比传统数字人和视频生成模型,A1最大的不同在于——

  屏幕里的角色真正拥有了身体。它不再只是对着镜头说话,而是能够行动、转身、改变姿态,并与所在世界里的物体和环境持续互动。

  

  可以说,这种感觉,真的像在和另一个平行世界连线。

  与此同时,为了让角色背后的世界也变得更加丰富,Vivix还同步推出了W1。

  W1让用户不再只是站在屏幕外看故事,而是可以随时介入,改变人物的选择、行动,以及接下来的剧情走向。

  

  △ Vivix-W1展示实时导演能力

  看到这里你可能会想:这得多吃算力啊?

  但据Vivix官网技术博客介绍,A1虽然拥有近30B激活参数,却通过MJD、原生NVFP4训推策略和一套自研的通信-计算调度+mega-kernel推理基础设施,将部署门槛极致地压到了消费级GPU实时推理,近似画质下推理效率提升了近两个数量级。

  与此同时,其流式调度器响应新输入的时间最短为300毫秒,从用户发出输入,到画面首次出现可见反应,延迟平均0.6秒。

  也就是说,这边话音刚落,屏幕另一端的角色基本已经动起来了。

  官方现已开放内测,欢迎访问官网及API开放平台申请体验:https://vivix.ai/

  它究竟是怎么做到的?

  统一流式架构与原生交互建模

  这通平行世界的视频电话要真正接通,第一步不是让角色回答得多聪明,而是让它在持续生成过程中,始终还是同一个角色、身处同一个世界。

  Vivix将A1定位为全球首个在一套原生流式架构中,统一多模态参考、实时交互和流式生成的基础模型。

  拆开来看,A1在模型层面主要做了三件事:

  参考条件要持续生效,新的交互要随时插进来,音频和视频还得一直往下生成。

  统一多模态参考、交互与流式生成

  为了实现上面的效果,A1首先把多模态参考、实时交互和视频生成,统一进了一套原生流式架构。

  这听起来像是把几个模块接在一起,但真正困难的地方在于:

  模型既要随时响应用户的新输入,又要在不断向前生成的过程中,维持角色、物体和场景的长期一致性。

  传统clip-based视频模型通常一次生成一个完整片段,由于可以提前看到整个片段,它能够统筹前后的动作和画面,相对容易保证人物、场景和物体关系不发生明显变化。

  流式生成却没有这样的条件,它不知道几秒之后会发生什么,只能一边看着已经生成的画面,一边接收用户刚刚发来的指令,实时预测下一段内容。

  这就像一边铺铁轨,一边开火车。生成持续得越久,误差就越容易不断累积。角色的外形、位置和动作可能逐渐漂移,物体与场景之间的空间关系也可能被破坏。

  最简单的解决办法,自然是让角色少动一点,用僵硬换稳定。

  但一只不敢转身、不敢走动,甚至不能真正接触环境的猫,显然谈不上拥有身体。

  A1的做法,是把图片、视频、声音、交互历史和已经生成的内容共同写入持续状态,让它们在后续流式生成中反复生效。

  具体的,A1通过因果时序建模和流式状态维护,让相邻动作保持连续,并在更长时间范围内维持角色身份、场景和物体关系。

  其中,局部连续性先验负责让相邻动作自然接上,全局序列先验则看住更长时间里的角色身份、场景和物体关系。

  在此基础上,模型同时优化开放式指令遵循、时间连续性、角色一致性、物体一致性和运动动态,重点处理长期生成中的视觉漂移、误差累积和动作衰减。

  换句话说,A1既要保证角色一直是它自己,也不能因为怕出错,就让它站在原地一动不动。这是它与现有所有数字人相关模型产品最大的差别。

  不过,让角色和世界保持连续,只解决了“它还在不在”的问题。

  想要像视频通话一样互动,它还得听懂文字之外正在发生的一切。

  Speech、Audio、Gesture与Event统一建模

  今天的大多数数字人,本质上还是一条串起来的流水线:

  ASR先把语音转成文字,LLM根据文字生成回答,TTS再把回答变成声音,最后由Motion Model或Video Model补上口型和动作。

  这套方法可以工作,但链路每多一层,就会多一次等待和信息交接。

  更麻烦的是,很多信息根本没法被完整压缩成文字。

  一句话里的语气、停顿和情绪,环境里突然响起的雷声、风声,或者画面中出现的手势和动作,都可能在转写过程中被丢掉。

  A1没有把ASR文本当作唯一的交互中间表示,而是直接建模语言语义、声学特征、非语言声音、环境事件、手势和动态视觉信号。

  如上图所示,多模态上下文(包含音视频参考、系统prompt、历史帧等)会原生多模态地输入给A1模型,模型在最小时间片内(约300ms)就会推理出对上述上下文的最新响应token。这部分可以理解为模型的“快思考”。

  更上层的Director Agent则负责“慢思考”——推理、思考、tool use,并异步给出长时序的宏观行为控制。

  于是,角色不必只等一轮完整的文字转写结束后再行动。

  用户的语气发生变化,环境里突然出现新的声音,或者画面中有人做出新的动作,都可以成为新的触发信号,继续改变尚未生成的内容。

  这就是A1所强调的持续聆听和事件触发响应。

  感知、规划、行为控制和音视频生成,不再是几个各自排队的离线任务,而是进入了同一条实时链路。

  到了这里,角色已经能够听懂用户,也知道接下来该做什么。

  但如果下一帧要等上几秒,这通视频电话依然打不起来。

  MJD把8-Step压缩到2-Step

  实时性的下一道瓶颈,来自视频扩散本身。

  视频扩散的不同采样步骤承担着不同任务:有的先搭出语义结构和运动方向,有的补充局部细节,还有的负责维持前后画面的连续性。

  因此,直接减少采样步数,往往会同时损失动作幅度、画面细节和长时稳定性。

  为此,Vivix提出MJD(Multidimensional Joint Distillation,多维联合蒸馏),以8-Step版本作为质量基线,把不同去噪阶段承担的能力共同压缩进2-Step模型,而不是只针对单帧画质蒸馏。

  具体的,MJD同时优化三个目标:

  Short-Horizon Generation Quality:保留快速采样下的视觉细节和运动表现;

  Long-Horizon Temporal Consistency:抑制连续rollout中的漂移与累计误差;

  Multimodal Distribution Alignment:对齐latent空间、像素空间以及语义和动作分布。

  此外,为防止模型通过少动换取稳定,MJD还让学生模型学习教师模型更完整的动作分布,同时在latent潜空间和原始数据空间中进行优化。

  前者看住整体生成分布,后者补充细小动作、视觉纹理和长期累计误差优化。

  由此,视频扩散从8-Step质量基线压缩到2-Step推理,同时保持了接近8-Step版本的短时画质、指令遵循、运动表现和长时稳定性。

  近30B激活参数模型如何跑进消费级显卡

  近期市面上陆续出现一些近似实时推理的视频生成模型,包括一系列实时视频“世界模型”。

  他们的实现方式通常是基于小参数量(如1~5B)或较大的VAE压缩比(如16x16x8)来实现,牺牲了模型的capacity,导致模型效果要么不能有大运动,要么就会频繁出现较大artifacts。

  从技术博客中我们看到Vivix本次发布的两个模型的有效激活参数接近30B,并采用了8x8x4的高质量压缩率,计算下来每秒token吞吐需要做到前述工作的数十倍,这对模型推理成本和实时性带来了极大挑战。

  为了稳稳接住这条实时链路,Vivix还推出了VMI,也就是Vivix Model Infra。

  VMI的思路可以概括为三步:把互相干扰的任务拆开,让模型以更低精度运行,再把计算、通信和内存统一调度。

  Encoder与Decoder解耦

  第一步,是把容易互相堵车的任务拆开。

  多模态Encoder负责处理图片、视频、语音和其他参考条件,更适合用大Batch追求高吞吐;Real-Time Decoder Loop则要连续逐帧生成,更在意低延迟、稳定输出和随时打断。

  如果把两者塞进同一个资源池,Encoder正在处理的批量任务,就可能堵住Decoder的实时链路。

  VMI因此把它们拆成独立服务,分别配置进程、资源池和扩缩容策略。

  参考图片和语音可以集中编码,正在进行的视频互动则不用在后面排队。

  在服务层完成Encoder与Decoder解耦之外,VMI还在推理阶段引入prefill/decode分离,并重新设计了KV Cache传输层。

  这两种“拆开”处理的是不同问题:

  前者隔离不同类型的任务负载,后者减少推理阶段之间的状态搬运和等待。按照Vivix的说法,这构成了其面向实时视频生成的PD分离架构。

  整套链路最终支持稳定连续生成、模型级打断和实时重定向,Encoder与Decoder也可以独立弹性伸缩。

  据悉,这套流式调度器响应新输入最短仅需300毫秒,从用户给出新指令到画面出现可见反应,平均延迟低于0.6秒。

  原生NVFP4训推协同

  把编码和解码拆开,相当于先把道路疏通了。

  接下来更直接的问题是:近30B激活参数的模型,怎么装进消费级显卡?

  答案首先指向4-bit。

  更低的数值精度可以减少显存占用和计算量,但视频扩散模型偏偏对量化误差格外敏感。

  单步计算中的微小数值偏差会沿去噪链路和长时间rollout不断累积,最终表现为细节退化、角色漂移和时序不稳定。

  所以,真正困难的并不是“能不能用4-bit跑起来”,而是跑起来以后,视频还能不能保住动作、细节和长期稳定性。

  针对这一问题,VMI把Blackwell GPU支持的NVFP4 GEMM直接设为目标推理路径,并在训练和蒸馏阶段引入low-precision-aware distillation,让模型提前适应4-bit数值分布,而非训练完成后直接做PTQ。

  此外,针对视频生成链路,VMI还加入了专门的去噪误差校正,压住量化误差在不同timestep和连续帧之间的累积。

  整套训练过程也会直接对齐最终部署使用的NVFP4 GEMM Kernel,减少训练精度与推理精度之间的分布偏移。

  实测现实,NVFP4相对BF16基线实现了生成质量接近无损,同时降低显存占用并提高推理吞吐。

  极致的计算、通信调度与mega-kernel

  NVFP4让模型装得下、算得动。

  但在多卡系统里,还有最后一道不太显眼的瓶颈:GPU、PCIe和显存不能总在彼此等待。

  在RTX级消费GPU上,多卡通信主要经过PCIe。

  如果GPU算完以后等数据,PCIe传完数据以后等计算,大量冷状态还一直占着显存,那么即使每一个单独模块都很快,整条链路依然跑不起来。

  VMI为此构建了Compute-Communication-Memory Co-Scheduling Engine,将计算、通信和显存调度统一纳入同一张推理执行图。

  它先让Attention通信、显存Offload和跨服务数据传输运行在不同CUDA Stream中,尽可能和GPU计算重叠;

  再把计算与通信融合进Mega Kernel,减少中间状态写回和同步等待;

  最后利用CUDA Graphs捕获整张流式推理图,把原本数百次Kernel Launch压缩成少量统一提交。

  说得直白一点,就是能并行的尽量并行,能合并的尽量合并,不让Python、CPU和PCIe成为GPU前面的红灯。

  根据测试结果,VMI实现单卡吞吐超过10000 video tokens/s;在多卡链路中,PCIe带宽利用率达到88%+。

  把三项优化放在一起看,逻辑其实很清楚:

  Encoder与Decoder解耦,负责疏通实时链路;原生NVFP4训推协同,负责让近30B激活参数模型装得下、跑得动;计算、通信和内存协同调度,则负责消灭多卡系统里那些看不见的等待。

  到这里,A1才算完成了从“模型可以交互”,到“交互可以实时运行”的最后一公里。

  从一个角色,到一个持续演变的世界

  从统一多模态参考与流式生成,到原生交互信号建模;从8-Step压缩到2-Step,再到Encoder/Decoder解耦、原生NVFP4和整套协同调度引擎,六项技术共同补上了实时交互链路中的不同缺口。

  一套组合拳下来,最终实现了近30B激活参数、近似无损的消费原生NVFP4、消费级显卡实时生成。

  所以,Vivix-A1交付的不再只是一个实时交互的概念,而是一套已经运行起来的原生流式多模态模型。

  现在,屏幕另一端的AI已经开始听见你、转过身,并继续在自己的世界里向前走。

  今天,A1先让那个角色活了起来。W1想做的,则是让它身后的世界,也跟着你的选择一起改变。

  当然,这距离真正的“平行世界”当然还很远。

  但至少,这通电话已经传来了第一声回音。