从推荐系统、自动驾驶到聊天机器人,AI 正逐渐渗透到我们生活的每个角落。每一次我们使用这些应用的时候,应用背后都有训练好的神经网络模型在运行一个叫做“推理”的过程。无所不在的应用,意味着推理可能会被部署在云、边、端等各种可能的硬件终端上。不同硬件所带来的异质性,不可避免地给软件设计提出了巨大的挑战。开发者经常需要在不同目标设备上开发推理应用,并使用不同平台、各自独立的软件栈及依赖。
为了应对上述软件研发的挑战,腾讯发布了 TACO Kit(Tencent Accelerated Computing Optimizer),该云服务目前包含 TACO Train 及 TACO Infer,旨在帮助用户快速完成工业级的训练或推理部署,无论其 AI 相关的工程经验,也无论其模型场景、深度学习框架和后端硬件的选择。TACO Kit 为我们的用户提供了一个简练、易用、自释的接口,同时更实现了若干场景下用户的无感接入。在底层,TACO Kit 结合腾讯云服务器实现了大量精细的优化,确保用户工作负载运行在最佳状态。特别的,针对 AMD EPYC CPU 后端,为了最大限度优化推理性能,腾讯云和 AMD 发团队深度合作,无缝集成了 AMD 推理加速库“ZenDNN”作为 TACO Infer 的高性能算子实现候选。
TACO Infer架构
和大量行业、业务接触后我们发现,云用户需要根据场景、模型、业务等因素区分不同的计算硬件,从而不可避免地带来推理部署的软件及性能调优的开发成本。由于深度学习社区的繁荣发展,模型前端框架、硬件后端设备、软件版本带来的实现路径组合爆炸成为 AI 应用落地的一大拦路虎,如果再考虑丰富的社区软件调优工具带来的复杂度,业务方需要具备较高工程调优及 AI 优化的经验才有可能让自己的算法获得成本优势。
在实际操作中,很多算法、工程的团队倾向于选择自己最熟悉的框架和硬件,久而久之形成路径依赖,随着团队的成长,也可能出现不同场景不同模型锚定不同框架的情形,导致工程部署变成一个难题,更遑论从成本和性价比的角度尝试新的硬件或软件组合。从某种程度上,这使得应用负载不太可能匹配到最合适运行它的硬件,也无法充分释放云计算的潜力。
TACO Infer 旨在帮助用户充分应对上述挑战,通过跨平台统一的优化接口赋能用户,让渴望加速计算的用户轻松驾驭腾讯云上丰富的异构算力。TACO Infer 强大的可扩展性设计也使得硬件厂商依照硬件特性开发的加速库,例如 ZenDNN、TensorRT 等,得以和 TACO 无缝集成,再辅以 TACO Infer 自研的代码生成技术,无论用户使用何种硬件加速实例,都可以为计算提供最佳性能实现。
从易用性角度出发,TACO Infer 无需对深度学习框架(Tensorflow、Pytorch等)及软件本身做任何改动,用户可以安装社区的任何版本(适配 cpu、cuda 或 rocm),TACO Infer 支持通过插件和注册机制可以在后台开启,并无缝介入优化过程。
具体来说,TACO Infer 支持三种优化模式。
第一种,调用 TACO Infer 的 python 跨平台统一优化接口,该接口无论用户使用CPU、GPU、NPU哪种后端设备,也无论 tensorflow、pytorch 或者 onnx 哪种模型框架及版本,接口均保持一致。该接口接受未优化模型输入,输出优化后的模型。优化前后模型格式保持不变,对用户透明无感,不改变业务部署方式。
第二种(目前仅针对TF),导入 TACO python 包之后调用 enable 接口,按正常方式在 python 中 session run 运行 tensorflow 模型,即可启用优化。
第三种(目前仅针对TF),TF serving 拉起服务时,设置开启优化的环境变量,即可自动启用优化。 三种方式中,第一种方式全场景优化效果最好。第二种和第三种则易用性更好。
上图展示了经 TACO Infer 优化后的性能提升。以最左侧为性能基线(无优化)。性能数据在腾讯云裸金属 SA2 实例上以 batchsize 为1测试得到。我们可以看到,在覆盖了各种主流场景,包括计算机视觉及自然语言处理的各种常用模型上,TACO Infer 通过各种优化技术,包括 ZenDNN 的加持,对比社区版 Tensorflow 获得了非常可观的加速。
腾讯云虚拟化副总经理陈先生评论到,“为了给我们的客户提供最佳的AI用户体验,腾讯和 AMD 紧密合作、深度优化 TACO Kit。初步的性能结果展示,TACO Kit 在 AMD EPYC 系列处理器上获得了令人印象深刻的性能提升。”
GPU 推理优化预计9月发布,支持多种框架模型,敬请期待!
扫码免费试用
登录腾讯云官网了解 TACO Kit 更多信息;
登录ZenDNN官网了解如何在 AMD EPYC 处理器上使用 AMD AI 推理加速库;
欢迎扫码加入 TACO Infer 加速引擎交流群,如有关于 TACO Infer 的使用咨询和问题反馈,可在交流群中进行咨询和反馈,我们会第一时间给您提供专业的技术支持。