数字人为什么要用GPU:实时渲染的算力账

了解更多

工具简介

GPU为什么成了实时数字人的命门,因为每一秒都要现场画出三十到六十帧。本文用快速翻动的画册和博士带一千个小学生的比喻,讲清一帧要算什么、显卡为何是主力,并给出降规格、预生成、租算力几条省钱的路子。

一台普通笔记本能流畅播 4K 电影,却跑不动一个实时数字人。差别在于播放和现场画是两件完全不同的事。视频是做好了存起来的,实时数字人得在你看的这一刻把这一帧画出来,一秒画几十次,一次都不能迟到。这就是为什么很多数字人项目一算预算就卡住:贵的不是模型,是没日没夜画图的那块卡。

一、视频就是一本快速翻动的画册

先破一个常识:视频不是连续的,它是一秒钟里放几十张静止画面,人眼跟不上,就看成连续动作。常见的规格是每秒二十四张、三十张或六十张,行业里把每一张叫一帧。播放一段视频,是把已经画好的帧按顺序翻过去,很省力。而实时生成意味着这一秒的三十帧还不存在,得在十六到三十三毫秒之内全部算完,算慢了画面就卡,算错了画面就崩。这个时间窗口极短,比人眨一次眼还快,几乎没有留给机器犹豫的余地。顺便说一句,电影通常是每秒二十四帧,游戏常见六十帧,直播因为要压缩传输,常常只有三十帧。帧率越高越顺,算力也按比例往上涨。

二、一帧里到底要算什么

看着简单的一个半身像,每一帧要算的东西并不少:模型表面每个点朝向哪里、被哪盏灯照到、该是什么颜色;皮肤的半透明感、头发丝的透光、眼球上的高光;嘴巴张到什么形状才配得上当前这个音;眼睛该看向哪边;身体有没有轻微的呼吸起伏。这些计算每一个都不复杂,但乘上几十万个顶点,再乘上每秒几十帧,总量就上去了。这还没算语音识别、语义理解这些后台任务,它们也在抢同一台机器的资源。还有一层容易漏算的开销是编码和推流,画面算完还要压成视频流发出去,这一步同样吃显卡,观众越多压力越大。

三、CPU 和 GPU 的分工

打个比方:CPU 像一个博士,能处理复杂的逻辑,但一次只能专心做几件事;GPU 像一千个小学生,每个人只会做简单的加减法,可他们能同时开工。画图这件事恰好是大量简单计算堆起来的,每个像素算自己的颜色,互不干扰,正好适合一千个人一起干。所以显卡成了实时渲染的主力。一块消费级显卡能撑起一两个实时数字人,要同时服务几十上百个用户,就得上机房里的专业计算卡,一台机器配几张,价格从几万到几十万不等。顺带解释一个常见疑问:为什么游戏显卡也能跑,机房却要买更贵的专业卡。差别主要在显存和稳定性,专业卡显存大,能同时装下更多模型,也扛得住长时间满负荷运转不出错。

四、算力账:实时为什么比离线贵几十倍

同样是一段五分钟的视频,离线生成可以慢慢算,一分钟的画面花十分钟渲染也没关系;实时生成必须在一秒内交出三十帧,中间没有缓冲。这好比一个是慢慢炖汤,一个是现炒现卖,后者对灶火的要求高得多。行业里的实际差距,实时方案的单位成本常常是离线方案的几十倍。再加上实时场景往往按并发算钱,十个人同时在线和一百个人同时在线,硬件投入差一个数量级,这也是很多数字人直播项目预算超支的主要原因。

五、几条省钱的路子

第一是降规格。把帧率从六十降到三十,把分辨率从高清降到标清,把模型面数砍一半,画质损失在人眼可接受范围内,算力却能省下大半。第二是预生成。不是所有内容都需要实时,口播视频完全可以离线渲染,只有直播和客服这类必须现场反应的场景才值得付实时的钱。第三是租不买。云服务按小时或按并发计费,短期项目没必要自己买卡。第四是错峰。把批量渲染放到夜里跑,用便宜时段,成本能明显下来。第五是砍并发,把同时在线人数从一百降到二十,用排队的方式错开,硬件需求立刻降一个档,而很多场景其实并不需要那么多人同时开口。

算力这件事,普通使用者不用懂原理,只要记住一句话:现场画比提前画贵得多。所以先问自己,这段内容真的需要实时吗。不需要,就别为实时付费,把钱花在内容上,回报通常更高。