终于要开始写这篇关于AI之设备选型了,说实话,这个话题有点大,写完肯定会有很多漏洞,我选一个角度来讲这个问题,以贴近实战,实用性的角度来介绍部署AI模型的时候,如何选型计算设备。
AI模型部署,自然是指我们已经训练好模型,不管你用的是Tensorflow,还是PyTorch,还是Kaldi,最终必然是要落地产品,实现其价值,这里先抛出几个问题:
这几个问题,请大家思考一下,在你为负载选型设备的时候,会优先考虑哪些维度?
大家看出来了吗,从左至右是产品化的过程,其实,我们是从商业洞察开启,经过场景+技术的融合,最终落到运营上,验证商业模式的好坏。利润就是营收减去成本,你需要考虑成本吗?如果需要,请往接着往下看。
2C模式,业务增长方式是几何级的,很快到顶,边际成本即使很小,但倍数是几何级增长,想想就恐怖AI设备。
2B模式,除了差异化战略之外,需要考虑成本的(客户不差钱除外),物美价廉是Made in China的杀手锏。
需要平衡用户体验和成本的场景,如缩短服务时延(实时性),增加用户粘性,但又成本可控(不升或者可接受)。
环境受控或者客户特殊要求,如功率限制,通用性强,产品的成熟度和供货情况,吞吐率,低技术门槛等等。
以上是一些常见的情况,还有很多其他方面的考量,如果你真有不一样的情况,下面的部分也可以参考。下面聊一下怎么设备选型。
分析整个业务流程,找到一条关键路径,然后看整个物理架构,是端-边-云的服务,还是纯粹的云服务,并发度,业务场景对性能的要求(如最大延时不得超过多少毫秒),然后分析整个流程的时间和计算类型。如机器学习,一般是逻辑控制或者时序类的模型,不适合并行计算,CPU更适合;如深度学习,各种卷积都是规整的矩阵或向量运算,适合并行计算,GPU更适合;而遇到不同计算类型的聚合,这个时候该如何选型设备呢?
在操作上,我们不能把所有设备都买来试一遍,大多数情况是拿开发的环境作为参考,直接作为部署依据。如果你用的是重型显卡开发的,拿着上线部署,各方面性能肯定没有问题,不差钱儿的不说 ,在乎成本的还是会疼。
图像解码-图像预处理(增强、裁剪)-文本框检测-光学字符识别-结果后处理融合。
如果整个延时要求1s,那么除了文本框检测之外,都可以在CPU上处理,如果服务器并发请求量大,那么这个时候加一块GPU卡做文本框检测就再好不过了。
首先分析里面有多少类负载,这里面包含机器学习,深度学习,和数据统计等功能,计算类型不统一,线下门店采用多节点方案,成本高昂,系统复杂,采用GPU卡,只能解决部分AI负载,像机器学习和数据统计部分难以负载,这个时候最好的选择是选一款合适的至强服务器,比如英特尔金牌系列,做计算方面的负载性价比较高,系统方案也简单,都在一台服务器内。
由于AI只是一种工具而已,不是信息产业的全部,我们传统的负载还有很多,根据自己的具体情况去选择设备类型,技术上没有优劣,适合自己的就是好的。