一、前言
\\AI技术包含训练和推理两个阶段。推理阶段的性能好坏既关系到用户体验,又关系到企业的服务成本,甚至在一些极端应用上(比如无人驾驶)直接关系到个人生命财产安全。目前AI落地面临的挑战主要来源于两方面,一方面是AI算法的日新月异,带来了计算量的猛增,从AlexNet到AlphaGo,5年多的时间里计算量提升了30w倍。另一方面是底层硬件异构化的趋势愈发明显,近年来涌现出非常多优秀的架构来解决AI计算力问题。推理引擎的首要任务就是将性能优异且计算量庞大的深度学习框架快速部署到不同的硬件架构之上,并且能够保持性能相对高效。然而纵观开源社区和闭源解决方案,没有任何一款推理引擎可以同时满足开源、跨平台、高性能三个特性。因此,我们结合百度实际业务的需求、百度优秀工程师的研发能力以及行业合作伙伴的大力支持共同完成了百度自己的推理引擎Anakin v0.1.0。Anakin目前支持Intel-CPU、NVIDIA-GPU、AMD-GPU和ARM平台,后续将支持更多平台如寒武纪、比特大陆等。今天Anakin正式开源,期望能够借助社区的力量把Anakin打造的更加精美!
\\二、 Anakin架构
\\图 1 Anakin框架
\\Anakin框架的核心逻辑如图1所示,主要由Parser, Framework 和Saber组成。Parser是独立解析器,用于将不同训练框架生成的模型转化为统一的Anakin图描述。Framework是框架主体,使用C++实现,用于完成硬件无关的所有操作,比如构建网络、图融合、资源复用、计算调度等。Saber是一个高效的跨平台计算库,包括大量的汇编级优化代码,并支持众多国际行业合作伙伴的架构,如Intel-cpu,NV-gpu,AMD-gpu和ARM等,同时以后还将支持寒武纪MLU100和比特大陆BM1682这两款优秀的国