1、Sou楼狗Eva深度学习平台上的优化和实践经验卢兴敬搜狗AI交互事业部-AI交互技术部#page#主要内容EvaPlatform:从训练到推理的的深度学习平台EvaPlatform:推理服务中的加速需求EvaMax:CUDA平台上的高性能算子库#page#背景1EvaPlatform:GPU服务器利用率低算法同学总是觉得机器不足,但是整体机器利用率低使用和运维成本高机器的运维成本高:OS,CUDA,DLFramework算法同学的使用成本高通用优化技术积累和推广的成本高分布式训练和混合精度训练AutoML推理加速#page#EvaPlatform:机器和用户规模EvaPlatform规模360
2、35014支持算法场景数用户数31030012260口已使用场景数未使用场景数已使用人数未使用人数10210816015%12%611010060381021O2019-082019-122020-062020-10一训练种类一虚机用户虚机数量#page#EvaPlatform:显著提升GPU机器利用率分布式多机训练已经用于MT、ASR,CV等业务场景的常时稳定训练服务中GPU服务器整体利用率K38兰前GPU使用率7日平均GPU使用率82.28%88.2%EVAPLATFORM分散式管理#page#2EvaPlatform:推理服务架构DNNLSTMCNN算法场景层TransformerImg
3、Process搜狗自研解码器解码器前端LibTorchONNXRuntimeTFServing优化变换层量化(haltint8,4bit)fuslon剪枝模型稀疏化TensorRTUAPIHPC算子层EvaliteEvaMax3r LibrarylOpenBLAS)CuBLASCuDNNNPU计算资源层ARMMaliGPUDSPNVIDIA GPU#page#2深度学习中的重要计算类型LSTMFFT(h-11)大kernel有效n=(W1l)=tanh(.r*h-1l)Conv Operator品车民=1-2)*hDirect convim2colTransformerBLASSoftMax0
4、000Transpose &etc566(e)ShuffeNet 20CNN#page#2在线推理的问题和需求现状:大部分在线推理服务运行在NVGPU机器上加速依赖于官方库:CuBLAS,CuDNN问题核心计算:BLAS,CNNNV官方库在大部分场景下具有很好的加速对于部分场景和部分算子的支持不够好Others: sort, transpose, reduce, softmax支持的场景受限:transpose只能支持2维数据性能不够好#page#2推理服务中的问题和需求Tesla P4l1针对推理服务的GPU卡CuBLAS On Tesla P4CuBLAS-haCuBLAS-int理论峰值
5、:5.5T(float),22TOPS(int8)实测性能输入较小时,int8性能比half和float都要差较小输入的gemm最热。导致int8版本相对于half版本没有加速备注:1.输入特征来自线上场景;2.测试环境:CUDAV10.2#page#2推理服务中的问题和需求Tesla T42CuBLAS on Tesla T4最新的推理服务卡ttloa喜ha0O0L理论峰值:6.008.1T(float),65T(float+half),130TOPS(int8)5.00实测性能400Half相对float有1.83倍加速3.00Int8相对float和half加速比分别2001.00是2.
6、03和1.08倍DO0问题,部分情况下Half相对float的加速不明显或者较慢Int8相对half加速不理想W说明:1.输入特征来自线上场景:2.测试环境:CUDAV10.24.调用CuBLAS的默认实现算法3.int8调用CuBLASLt接口:#page#3EvaMax:搜狗自研加速库EvaMax:针对搜狗场景定制的高性能算子库重点平台:P4(int8),T4(halfint8)操作类型:BLAS,CNN,Transpose,sort&etc.整体架构LSTMCNNDNN针对具体场景定制优化统一接口:与CuBLAS等官方库互补EvaMax-UAPIAuto-Tuner:自动适配最优算子Pr