春节期间,字节旗下的视频生成工具即梦(SeeDance 2.0大模型)火出圈,这是继Sora之后,再次引爆大模型视频生成热潮。但提交一个任务,通常要等待半小时以上才能出结果。
刚好,前几天去北京字节交流,期间聊起一个话题:SeeDance2.0生成一个15秒的视频,究竟需要多长的运算时间?究竟是生成一段视频需要运算半小时,还是因为用的人多需要排队半小时、实际处理时间就半分钟呢?
在大家的认知中,处理视频肯定比处理文本复杂很多,因此需要更多的算力,那两者究竟差多少倍呢,今天我们从底层原理来聊聊。
文本属于一维数据,生成每个Token仅需1轮迭代,可以用KV Cache缓存来“以存代算”,即生成第2个Token的时候,可以从缓存中调用第1个Token,不用从头再算一次。通常,普通文本问答任务,单次消耗Token仅千级。
视频生成是一种从噪声中恢复图像的技术,主要用到扩散模型,要逐帧去噪,每一步都是海量矩阵运算。
视频是四维数据(宽x高x时间xRGB), 每一帧图像去噪过程中无法“以存代算”,因此,生成每个帧需20-30轮迭代。
举个例子,用户生成一段时长5秒、帧率24帧/秒、分辨率720p的视频,需要消耗的Token数为:
视频Token用量≈(宽×高×帧率×生成视频时长)/256
≈1280*720*24*5/256=43.2万个Token
从以上Token消耗量对比可以看出,视频生成模型的计算复杂度远超文本模型,单次视频生成任务消耗Token数通常为一般文本问答的百倍以上。
主流开源文生视频模型体量虽小(百亿参数左右),为满足视频分钟级生成,单路任务基本都需独占1台服务器(8卡),以RTX4090生成5秒钟720p视频来对比测试,用时如下表所示。
当前视频生成模型生成效果已逐步达到可用阶段,除非要求较高的专业视频,基本上能应付。
个人用户、影视广告公司等对视频应用的需求量非常大,应用背后是巨大的算力需求,智算发展面临重大机遇。