其他分享
首页 > 其他分享> > 深度学习推理引擎技术栈

深度学习推理引擎技术栈

作者:互联网

从事深度学习引擎开发,需要具备相关的知识。

目前,一般需要掌握以下技术。

首先,自上而下分为三类。

第一,算法和应用层面上。需要了解深度学习相关的知识,比如CV、NLP、语音、推荐等领域的深度学习模型(ResNet、Bert等等)。同时需要熟悉主流AI框架的使用,例如pytorch、tensorflow。目前,pytorch应用更为广泛,可以优先考虑。

第二,引擎开发层面。需要熟悉Linux下C++开发相关的知识,例如C++语言、cmake编译工具,docker/k8s开发和部署,以及常用的C++库(例如boost、protobuf、grpc等)。

第三,底层硬件相关的编程模型。例如,CUDA编程、Arm相关优化技术等。

以上,是主要的核心技术栈。

除此之外,还需要了解一些业界所用的优化技术。例如,自动调优TVM、并行编程优化、模型的图优化、模型的剪枝和量化、AutoML等技术。

 

当然,也需要对业界已有的框架有所涉猎,从而取长补短。例如,ncnn,TNN,MNN,onnxruntime,TensorRT等等。

 

标签:例如,需要,优化,编程,C++,引擎,深度,推理
来源: https://www.cnblogs.com/tangjicheng/p/16342106.html