夜雨聆风学习资料网

ARTICLE · 1289475

AI读长文档慢:加GPU之前,先分清两段等待

AI读长文档慢:加GPU之前,先分清两段等待

同一个AI服务,问一句短问题很快,交一份长文档却迟迟不出字;开始回答以后,速度有时又恢复正常。遇到这种情况,直接增加GPU,可能花了钱却没有解决最主要的等待。

先把一次回答拆成两段,问题会清楚很多。

第一段读输入,第二段往外写

预填充,可以理解为处理已有输入、建立后续计算需要的状态;解码,则是逐步生成回答。前者可能被长文档拖重,后者会受到输出长度和同时服务人数的影响。

这两段的资源需求不同。NVIDIA Dynamo等框架支持把它们交给不同的工作池,并在中间传递KV缓存。

KV缓存保存了模型计算中的部分中间状态。拆开以后,计算资源可以分别安排,但也多出一项开销:把这些状态送到接下来负责回答的设备。

拆开能省排队,也会增加搬运

假设一次交接需要传输10GB缓存,有效传输速度为25GB/s,仅搬运的理论下限就是0.4秒;若有效速度降到10GB/s,下限变成1秒。排队、协议与调度开销还要另算。

这是假设算例,不对应某个模型固定的缓存大小。缓存量会随模型、精度、上下文和并发变化。

是否值得拆,取决于少等的时间,能否抵过新增的传输和调度。

长短请求混杂、高峰并发明显的业务,值得测试分离部署。规模较小、请求相近的业务,原来较简单的部署方式也可能更合适。

不只测“总共输出多少字”

一个系统总吞吐更高,某些客户却可能等得更久。采购验收至少要记录三件事:

首字等待:提交请求后,多久出现第一个输出。

输出速度:开始回答后,文字生成是否连续,是否频繁停顿。

达标请求量:在约定等待时间与错误率范围内,一小时能完成多少请求。

测试请求要保留真实的长短比例。全部用短问题测试,发现不了长文档压力;全部挑长文档,也不能代表日常业务。

把测试结果换成经营判断

对算力服务商,最有用的结果是:同样设备能否多接达标订单,或者相同订单量能否少用设备。

如果一套新部署只提高总吞吐,却让客户高峰等待更长,还增加网络和维护费用,就不能仅凭跑分宣布更省钱。反过来,如果能在服务要求不变的情况下减少排队与闲置,即使单卡峰值没有变化,也可能改善经营。

总结

AI回答慢,先分清慢在读取输入、连续生成,还是中间排队。把这几段时间测出来,再决定增加GPU、调整部署或升级网络,预算才更有针对性。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料